RTBKit  0.9
Open-source framework to create real-time ad bidding systems.
Classes | Typedefs | Enumerations | Functions | Variables
Datacratic Namespace Reference

Classes

struct  HistoricalPositionDescriptor
struct  DefaultDescription< RTBKIT::Location >
struct  DefaultDescription< RTBKIT::Format >
struct  DefaultDescription< RTBKIT::AdSpot >
struct  DefaultDescription< RTBKIT::BidRequest >
struct  JSConverters
struct  DefaultDescription< OpenRTB::TaggedBool >
struct  DefaultDescription< OpenRTB::TaggedBoolDef< defValue > >
struct  DefaultDescription< OpenRTB::TaggedInt >
struct  DefaultDescription< OpenRTB::TaggedIntDef< defValue > >
struct  DefaultDescription< OpenRTB::TaggedFloat >
struct  DefaultDescription< OpenRTB::TaggedFloatDef< num, den > >
struct  TaggedEnumDescription
struct  FormatListDescription
struct  CommaSeparatedListDescription
struct  DefaultDescription< OpenRTB::Optional< T > >
struct  DefaultDescription< OpenRTB::List< T > >
struct  DefaultDescription< OpenRTB::ContentCategory >
struct  DefaultDescription< OpenRTB::MimeType >
struct  DefaultDescription< OpenRTB::VideoQuality >
struct  DefaultDescription< OpenRTB::AuctionType >
struct  DefaultDescription< OpenRTB::BannerAdType >
struct  DefaultDescription< OpenRTB::CreativeAttribute >
struct  DefaultDescription< OpenRTB::ApiFramework >
struct  DefaultDescription< OpenRTB::VideoLinearity >
struct  DefaultDescription< OpenRTB::VideoBidResponseProtocol >
struct  DefaultDescription< OpenRTB::VideoPlaybackMethod >
struct  DefaultDescription< OpenRTB::VideoStartDelay >
struct  DefaultDescription< OpenRTB::ConnectionType >
struct  DefaultDescription< OpenRTB::ExpandableDirection >
struct  DefaultDescription< OpenRTB::ContentDeliveryMethod >
struct  DefaultDescription< OpenRTB::ContentContext >
struct  DefaultDescription< OpenRTB::LocationType >
struct  DefaultDescription< OpenRTB::DeviceType >
struct  DefaultDescription< OpenRTB::VastCompanionType >
struct  DefaultDescription< OpenRTB::MediaRating >
struct  DefaultDescription< OpenRTB::FramePosition >
struct  DefaultDescription< OpenRTB::SourceRelationship >
struct  DefaultDescription< OpenRTB::AdPosition >
struct  DefaultDescription< OpenRTB::BidRequest >
struct  DefaultDescription< OpenRTB::Impression >
struct  DefaultDescription< OpenRTB::Banner >
struct  DefaultDescription< OpenRTB::Video >
struct  DefaultDescription< OpenRTB::Content >
struct  DefaultDescription< OpenRTB::Context >
struct  DefaultDescription< OpenRTB::Site >
struct  DefaultDescription< OpenRTB::App >
struct  DefaultDescription< OpenRTB::Device >
struct  DefaultDescription< OpenRTB::User >
struct  DefaultDescription< OpenRTB::Publisher >
struct  DefaultDescription< OpenRTB::Geo >
struct  DefaultDescription< OpenRTB::Data >
struct  DefaultDescription< OpenRTB::Segment >
struct  DefaultDescription< OpenRTB::Bid >
struct  DefaultDescription< OpenRTB::SeatBid >
struct  DefaultDescription< OpenRTB::BidResponse >
struct  DeferredEntry1
struct  DeferredEntry2
struct  DeferredEntry3
struct  GcLockBase
struct  GcLock
struct  GcCreate
struct  GcOpen
struct  SharedGcLock
struct  RcuLock
struct  RcuLocked
struct  RcuProtected
struct  RcuProtectedCopyable
struct  RegisterJsOps
struct  Launcher
struct  CallbackOutput
struct  CloudSink
struct  CloudOutput
struct  RotatingCloudOutput
struct  WorkerThreadOutput
struct  CompressingOutput
struct  Compressor
struct  NullCompressor
struct  GzipCompressor
struct  LzmaCompressor
class  EasyKvpLogger
struct  NamedOutput
struct  FileSink
struct  FileOutput
struct  RotatingFileOutput
struct  Filter
struct  IdentityFilter
struct  FilterStack
struct  ZlibCompressor
struct  ZlibDecompressor
struct  GzipCompressorFilter
struct  GzipDecompressor
struct  Bzip2Compressor
struct  Bzip2Decompressor
struct  LzmaDecompressor
struct  FlumeRpcEndpoint
struct  JsonContext
struct  ParseState
struct  StringState
struct  RootState
struct  JsonCompressor
struct  JsonDecompressor
class  IKvpLogger
class  KvpLoggerMongoDb
class  KvpLoggerVoid
struct  Field
struct  LogMessageSplitter
struct  LogOutput
struct  Logger
struct  MultiOutput
struct  PublishOutput
struct  RemoteInputConnection
struct  RemoteInput
struct  RemoteOutputConnection
struct  RemoteOutput
struct  RotatingOutput
struct  RotatingOutputAdaptor
struct  ConsoleStatsOutput
struct  CarbonStatsOutput
struct  Connector
struct  ActiveEndpoint
struct  ConnectorT
struct  ActiveEndpointT
struct  AsyncEventSource
struct  PeriodicEventSource
struct  MultiAggregator
struct  CarbonConnector
struct  ChunkedHttpHandler
struct  ChunkedHttpEndpoint
struct  ConnectionHandler
struct  PassiveConnectionHandler
struct  EndpointBase
struct  Epoller
struct  HttpResponse
struct  HttpConnectionHandler
struct  HttpEndpoint
struct  RestParams
struct  HttpHeader
struct  HttpMonitor
struct  HttpMonitorHandler
struct  HttpNamedEndpoint
struct  HttpNamedRestProxy
struct  HttpRestProxy
struct  JsonCodec
struct  JsonConnectionHandler
struct  AdHocJsonConnectionHandler
struct  MessageLoop
struct  NamedEndpoint
struct  NameEntry
struct  Acceptor
struct  PassiveEndpoint
struct  AcceptorT
struct  AcceptorT< SocketTransport >
struct  PassiveEndpointT
struct  PendingPersistence
struct  LeveldbPendingPersistence
struct  PendingPersistenceT
struct  IsPrefixPair
struct  PendingList
struct  PortRange
struct  PortRangeService
struct  DefaultPortRangeService
struct  JsonPortRangeService
struct  ProcessStats
struct  RestProxy
struct  RestParam
struct  RestParamDefault
struct  JsonParam
struct  RequestParam
struct  RestCodec
struct  StringPayload
struct  PassConnectionId
struct  CreateRestParameterGenerator
struct  CreateRestParameterGenerator< ML::PositionedDualType< Index, Arg, Param >, Params...>
struct  RestRequestBinder
struct  RestRequestBinder< ML::TypeList< PositionedDualTypes...> >
struct  PathSpec
struct  Rx
struct  RequestFilter
struct  RestRequestParsingContext
struct  RestRequestRouter
struct  RestRequest
struct  RestServiceEndpoint
struct  RUsage
struct  StreamingDownloadSource
struct  StreamingUploadSource
struct  RegisterS3Handler
struct  S3Api
struct  S3IStream
struct  S3Handle
class  BucketAlreadyRegistered
struct  EventService
struct  NullEventService
struct  CarbonEventService
struct  ConfigurationService
struct  InternalConfigurationService
struct  ServiceProxies
struct  EventRecorder
struct  ServiceBase
struct  SubServiceBase
struct  ServiceProxyArguments
struct  SocketConnection
struct  SshConnection
struct  SftpConnection
struct  SocketPerThread
struct  StatReading
struct  StatAggregator
struct  CounterAggregator
struct  GaugeAggregator
class  StatsdConnector
struct  CharRingBuffer
struct  CharMessageRingBuffer
struct  FullPoller
struct  TcpNamedEndpoint
struct  TcpNamedProxy
struct  TimeoutMap
struct  TransportTimer
struct  TransportBase
struct  SocketTransport
struct  TypedMessageChannel
struct  TypedMessageSink
struct  ZmqEventSource
struct  ZmqBinaryEventSource
struct  ZmqBinaryTypedEventSource
struct  ZmqTypedEventSource
struct  ZmqSocketMonitor
struct  ZmqNamedEndpoint
struct  ZmqNamedClientBus
struct  ZmqNamedProxy
struct  ZmqNamedClientBusProxy
struct  ZmqMultipleNamedClientBusProxy
struct  ZmqMessageRouter
struct  ZmqNamedPublisher
struct  EndpointConnector
struct  ZmqNamedSocket
struct  ZmqNamedSubscriber
struct  ServiceProviderWatcher
struct  ZmqNamedMultipleSubscriber
struct  ZookeeperConnection
struct  ZookeeperConfigurationService
struct  SignalInfo
struct  SignalRegistryBase
struct  SignalRegistry
struct  DoRegisterSignals
struct  JSLocker
struct  SlotDisconnector
struct  FunctionOps
struct  Slot
struct  SlotT
struct  DefaultDescription< Datacratic::Id >
struct  DefaultDescription< std::string >
struct  DefaultDescription< Utf8String >
struct  DefaultDescription< Url >
struct  DefaultDescription< int >
struct  DefaultDescription< float >
struct  DefaultDescription< double >
struct  DefaultDescription< std::unique_ptr< T > >
struct  DefaultDescription< Json::Value >
struct  DefaultDescription< bool >
struct  DefaultDescription< Date >
struct  Date
struct  Id
struct  JsonPathEntry
struct  JsonPath
struct  JsonParsingContext
struct  StreamingJsonParsingContext
struct  StructuredJsonParsingContext
struct  StringJsonParsingContext
struct  JsonPrintingContext
struct  StreamJsonPrintingContext
struct  StructuredJsonPrintingContext
struct  LocalDate
class  Utf8String
struct  Url
struct  ValueDescription
struct  RegisterValueDescription
struct  RegisterValueDescriptionI
struct  ValueDescriptionT
struct  ValueDescriptionI
struct  StructureDescriptionBase
struct  StructureDescription
struct  EnumDescription
struct  ListDescriptionBase
struct  DefaultDescription< std::vector< T > >
struct  hasToJson
struct  hasToJson< T, typename std::enable_if< std::is_convertible< Json::Value, decltype(std::declval< const T >().toJson())>::value >::type >
struct  hasFromJson
struct  hasFromJson< T, typename std::enable_if< std::is_convertible< T, decltype(T::fromJson(std::declval< Json::Value >()))>::value >::type >

Typedefs

typedef void *(* Operations )(int op, void *arg)

Enumerations

enum  FileFlushLevel { FLUSH_NONE, FLUSH_TO_OS, FLUSH_TO_DISK }
enum  Direction { COMPRESS, DECOMPRESS }
enum  FlushLevel { FLUSH_NONE, FLUSH_SYNC, FLUSH_FULL, FLUSH_FINISH }
enum  { DEF_BACKLOG = 128 }
enum  EventType { ET_COUNT, ET_ACCUM, ET_LEVEL, ET_OUTCOME }
enum  ConnectionStyle { CS_ASYNCHRONOUS, CS_SYNCHRONOUS, CS_MUST_SUCCEED }
enum  TimeGranularity {
  MILLISECONDS, SECONDS, MINUTES, HOURS,
  DAYS, WEEKS, MONTHS, YEARS
}
enum  ValueKind {
  ATOM, INTEGER, FLOAT, BOOLEAN,
  STRING, ENUM, OPTIONAL, ARRAY,
  STRUCTURE, TUPLE, VARIANT, MAP,
  ANY
}

Functions

zmq::message_t encodeMessage (const Id &id)
template<typename T , int I, typename S >
Json::Value jsonEncode (const ML::compact_vector< T, I, S > &vec)
template<typename T , int I, typename S >
ML::compact_vector< T, I, S > jsonDecode (const Json::Value &val, ML::compact_vector< T, I, S > *)
std::string print (Direction dir)
std::ostream & operator<< (std::ostream &stream, Direction dir)
std::string print (FlushLevel lvl)
std::ostream & operator<< (std::ostream &stream, FlushLevel lvl)
std::ostream & operator<< (std::ostream &stream, const Field &field)
bool startsWith (std::string &s, const std::string &prefix)
StatAggregatorcreateNewCounter ()
StatAggregatorcreateNewGauge ()
StatAggregatorcreateNewOutcome ()
std::ostream & operator<< (std::ostream &stream, const HttpHeader &header)
std::string getResponseReasonPhrase (int code)
 DO_JSON_ENCODABLE (std::string, asString)
 DO_JSON_ENCODABLE (unsigned int, asInt)
 DO_JSON_ENCODABLE (signed int, asUInt)
 DO_JSON_ENCODABLE (short unsigned int, asInt)
 DO_JSON_ENCODABLE (short signed int, asUInt)
 DO_JSON_ENCODABLE (long unsigned int, asInt)
 DO_JSON_ENCODABLE (long signed int, asUInt)
 DO_JSON_ENCODABLE (long long unsigned int, asInt)
 DO_JSON_ENCODABLE (long long signed int, asUInt)
 DO_JSON_ENCODABLE (bool, asBool)
 DO_JSON_ENCODABLE (double, asDouble)
 DO_JSON_ENCODABLE (float, asDouble)
Json::Value jsonEncode (Json::Value v)
Json::Value jsonDecode (Json::Value v, Json::Value *=0)
template<typename T >
Json::Value jsonEncode (const T &obj, decltype(std::declval< T >().toJson())*=0)
template<typename T >
jsonDecode (const Json::Value &json, T *=0, decltype(T::fromJson(std::declval< Json::Value >()))*=0)
template<typename T >
Json::Value jsonEncode (const std::vector< T > &vec)
template<typename T >
std::vector< T > jsonDecode (const Json::Value &val, std::vector< T > *)
template<typename T >
Json::Value jsonEncode (const std::map< std::string, T > &m)
template<typename T >
std::map< std::string, T > jsonDecode (const Json::Value &val, std::map< std::string, T > *)
template<typename T >
Json::Value jsonEncode (const std::unordered_map< std::string, T > &m)
template<typename T >
std::unordered_map
< std::string, T > 
jsonDecode (const Json::Value &val, std::unordered_map< std::string, T > *)
template<typename T >
void getParam (const Json::Value &parameters, T &val, const std::string &name)
template<typename T >
void jsonDecode (const Json::Value &json, T &val)
template<typename Result >
void decodeRestResponseJson (const std::string &functionName, std::exception_ptr exc, int resultCode, const std::string &body, std::function< void(std::exception_ptr, Result &&)> onDone)
template<typename Result >
std::function< void(std::exception_ptr,
int, std::string)> 
makeRestResponseJsonDecoder (std::string functionName, std::function< void(std::exception_ptr, Result &&)> onDone)
template<typename T >
 decltype (boost::lexical_cast< T >(std::declval< std::string >())) restDecode(const std
template<typename T >
std::string restEncode (const T &val, decltype(boost::lexical_cast< std::string >(std::declval< T >()))*=0)
template<typename Fn , typename Return , typename... Args>
std::function< std::function
< Return(Args...)>const
RestServiceEndpoint::ConnectionId
&connection, const RestRequest
&request, const
RestRequestParsingContext
&context)> 
createParameterExtractor (Json::Value argHelp, const Fn &fn, std::function< Return(Args...)> *=0)
template<typename Return , typename Obj , typename... Args, typename Ptr , typename TransformResult , typename... Params>
void addRouteSyncReturn (RestRequestRouter &router, PathSpec path, RequestFilter filter, const std::string &description, const std::string &resultDescription, const TransformResult &transformResult, Return(Obj::*pmf)(Args...), Ptr ptr, Params &&...params)
template<typename Return , typename Obj , typename... Args, typename Ptr , typename... Params>
void addRouteReturnStatus (RestRequestRouter &router, PathSpec path, RequestFilter filter, const std::string &description, const std::string &resultDescription, std::pair< int, Return >(Obj::*pmf)(Args...), Ptr ptr, Params &&...params)
template<typename Return , typename Obj , typename... Args, typename Ptr , typename... Params>
void addRouteSync (RestRequestRouter &router, PathSpec path, RequestFilter filter, const std::string &description, Return(Obj::*pmf)(Args...), Ptr ptr, Params &&...params)
template<typename Return , typename Obj , typename... Args, typename Ptr , typename... Params>
void addRouteAsync (RestRequestRouter &router, PathSpec path, RequestFilter filter, const std::string &description, Return(Obj::*pmf)(Args...), Ptr ptr, Params &&...params)
std::ostream & operator<< (std::ostream &stream, const PathSpec &path)
std::ostream & operator<< (std::ostream &stream, const RequestFilter &filter)
std::ostream & operator<< (std::ostream &stream, const RestRequestParsingContext &context)
std::ostream & operator<< (std::ostream &stream, const RestRequest &request)
std::string uriEncode (const std::string &str)
template<typename T >
extract (tinyxml2::XMLNode *element, const std::string &path)
template<typename T >
extractDef (tinyxml2::XMLNode *element, const std::string &path, const T &ifMissing)
template<typename T >
extract (const std::unique_ptr< tinyxml2::XMLDocument > &doc, const std::string &path)
template<typename T >
extractDef (const std::unique_ptr< tinyxml2::XMLDocument > &doc, const std::string &path, const T &def)
void registerS3Bucket (const std::string &bucketName, const std::string &accessKeyId, const std::string &accessKey, double bandwidthToServiceMbps, const std::string &protocol, const std::string &serviceUri)
void registerS3Buckets (const std::string &accessKeyId, const std::string &accessKey, double bandwidthToServiceMbps, const std::string &protocol, const std::string &serviceUri)
std::shared_ptr< S3ApigetS3ApiForBucket (const std::string &bucketName)
size_t getUriSize (const std::string &filename)
ML::Env_Option< bool > DEBUG_TRANSPORTS ("DEBUG_TRANSPORTS", false)
int pollFlagsToEpoll (int flags)
std::string epollFlags (int mask)
std::string pollFlags (int mask)
std::string printZmqEvent (int event)
bool zmqEventIsError (int event)
void setIdentity (zmq::socket_t &sock, const std::string &identity)
void subscribeChannel (zmq::socket_t &sock, const std::string &channel)
void unsubscribeChannel (zmq::socket_t &sock, const std::string &channel)
void setHwm (zmq::socket_t &sock, int hwm)
void throwSocketError (const char *data)
std::pair< bool, bool > getEvents (zmq::socket_t &sock)
std::string recvMesg (zmq::socket_t &sock)
std::pair< std::string, bool > recvMesgNonBlocking (zmq::socket_t &sock)
void recvMesg (zmq::socket_t &sock, char &val)
std::vector< std::string > recvAll (zmq::socket_t &sock)
std::vector< std::string > recvAllNonBlocking (zmq::socket_t &sock)
zmq::message_t encodeMessage (const std::string &message)
zmq::message_t encodeMessage (const char *msg)
zmq::message_t encodeMessage (const Date &date)
zmq::message_t encodeMessage (int i)
zmq::message_t encodeMessage (char c)
std::string chomp (const std::string &s)
zmq::message_t encodeMessage (const Json::Value &j)
bool sendMesg (zmq::socket_t &sock, const std::string &msg, int options=0)
bool sendMesg (zmq::socket_t &sock, const char *msg, int options=0)
bool sendMesg (zmq::socket_t &sock, const void *msg, size_t sz, int options=0)
template<typename T >
bool sendMesg (zmq::socket_t &sock, const T &obj, int options=0)
template<typename T >
bool sendMesg (zmq::socket_t &socket, const std::shared_ptr< T > &val, int flags=0)
void sendAll (zmq::socket_t &sock, const std::vector< std::string > &message, int lastFlags=0)
void sendAll (zmq::socket_t &sock, const std::initializer_list< std::string > &message, int lastFlags=0)
template<typename Arg1 >
void sendMessage (zmq::socket_t &socket, const Arg1 &arg1)
void sendMessage (zmq::socket_t &socket, const std::vector< std::string > &args)
template<typename Arg1 , typename... Args>
void sendMessage (zmq::socket_t &socket, const Arg1 &arg1, Args...args)
template<typename Arg1 >
bool trySendMessage (zmq::socket_t &socket, const Arg1 &arg1)
template<typename Arg1 , typename... Args>
bool trySendMessage (zmq::socket_t &socket, const Arg1 &arg1, Args...args)
bool trySendAll (zmq::socket_t &sock, const std::vector< std::string > &message, int lastFlags=0)
bool trySendAll (zmq::socket_t &sock, const std::initializer_list< std::string > &message, int lastFlags=0)
template<typename T >
std::string sharedPtrToMessage (std::shared_ptr< T > ptr)
template<typename T >
std::shared_ptr< T > sharedPtrFromMessage (const std::string &message)
template<typename T >
void recvMesg (zmq::socket_t &sock, std::shared_ptr< T > &val)
void close (zmq::socket_t &sock)
int bindAndReturnOpenTcpPort (zmq::socket_t &socket, PortRange const &portRange, const std::string &host)
std::string bindToOpenTcpPort (zmq::socket_t &socket, PortRange const &portRange, const std::string &host)
std::string printZookeeperEventType (int type)
std::string printZookeeperState (int state)
void watcherFn (int type, std::string const &path, void *watcherCtx)
ZookeeperConnection::Callback::Type getWatcherFn (const ConfigurationService::Watch &watch)
bool inJsContext ()
void enterJs (void *&locker)
void exitJs (void *&locker_)
template<typename Fn , typename F >
Slot slot (const F &fn, Operations ops=FunctionOps< Fn >::ops, JS::JSOperations jsops=JS::getOps(typeid(Fn)))
std::ostream & operator<< (std::ostream &stream, const Date &date)
std::istream & operator>> (std::istream &stream, Date &date)
DB::Store_Writer & operator<< (ML::DB::Store_Writer &store, Date date)
DB::Store_Reader & operator>> (ML::DB::Store_Reader &store, Date &date)
JML_ALWAYS_INLINE int hexToDec (unsigned c) JML_CONST_FN
JML_ALWAYS_INLINE int base64ToDec (unsigned c)
int hexToDec3 (int c)
int hexToDec2 (int c)
 IMPL_SERIALIZE_RECONSTITUTE (Id)
std::ostream & operator<< (std::ostream &stream, const Id &id)
std::istream & operator>> (std::istream &stream, Id &id)
template<typename Context >
void parseJson (int *output, Context &context)
template<typename Context >
void parseJson (float *output, Context &context)
template<typename Context >
void parseJson (double *output, Context &context)
template<typename Context >
void parseJson (Id *output, Context &context)
template<typename Context , typename T >
void parseJson (std::vector< T > *output, Context &context)
template<typename Context >
void parseJson (Json::Value *output, Context &context)
std::pair< TimeGranularity, int > parsePeriod (const std::string &pattern)
std::pair< Date, double > findPeriod (Date current, const std::string &period)
std::pair< Date, double > findPeriod (Date current, TimeGranularity granularity, int number)
std::string filenameFor (const Date &date, const std::string &pattern)
std::ostream & operator<< (std::ostream &stream, const Utf8String &str)
void swap (Utf8String &s1, Utf8String &s2)
 IMPL_SERIALIZE_RECONSTITUTE (Utf8String)
std::ostream & operator<< (std::ostream &stream, const Url &url)
 IMPL_SERIALIZE_RECONSTITUTE (Url)
std::ostream & operator<< (std::ostream &stream, ValueKind kind)
void registerValueDescription (const std::type_info &type, std::function< ValueDescription *()> fn, bool isDefault)
template<typename T >
ValueDescriptionT< T > * getDefaultDescription (T *=0, typename DefaultDescription< T >::defined *=0)
void * addOffset (void *base, ssize_t offset)
const void * addOffset (const void *base, ssize_t offset)
template<typename T >
jsonDecode (const Json::Value &json, T *=0, decltype(getDefaultDescription((T *) 0))*=0, typename std::enable_if<!hasFromJson< T >::value >::type *=0)
template<typename T >
Json::Value jsonEncode (const T &obj, decltype(getDefaultDescription((T *) 0))*=0, typename std::enable_if<!hasToJson< T >::value >::type *=0)

Variables

int32_t gcLockStartingEpoch = 0
GcCreate GC_CREATE
 Open and initialize a new gcource.
GcOpen GC_OPEN
 Open an existing gcource.
std::function< T(const
RestServiceEndpoint::ConnectionId
&connection, const RestRequest
&request, const
RestRequestParsingContext
&context)> 
createParameterExtractor (Json::Value &argHelp, const T &p, void *=0)
struct
Datacratic::RegisterS3Handler 
registerS3Handler
boost::function< void(const
char *, float) 
onLatencyEvent )
bool debugZmqMonitorEvents = false
struct Datacratic::Id JML_PACKED

Detailed Description

bids_js.h -*- C++ -*- Rémi Attab, 01 Mar 2013 Copyright (c) 2013 Datacratic. All rights reserved.

JS Wrappers for the Bids class.

Http_monitor.h -*- C++ -*- Rémi Attab, 03 Aug 2012 Copyright (c) 2012 Datacratic. All rights reserved.

Simple http monitoring service for a service.

Todo:
Arg passing is pretty damn awkward right now.

Essentially you pass a type through template arg in HttpMonitor and set the value in start. That value will be passed to the constructor of the handler. There's no real indication of this fancy mechanism which makes the whole thing fairly odd. Unfortunately there's no real way around this so...?

opstats_js.h -*- C++ -*- Rémi Attab, 19 Jul 2012 Copyright (c) 2012 Datacratic. All rights reserved.

Blah

service_base_js.h -*- C++ -*- Rémi Attab, 20 Jul 2012 Copyright (c) 2012 Datacratic. All rights reserved.

Service Base JS wrappers.

service_js.h -*- C++ -*- Rémi Attab, 20 Jul 2012 Copyright (c) 2012 Datacratic. All rights reserved.

Service JS module interface.

rest_request_binding.h -*- C++ -*- Jeremy Barnes, 15 November 2012 Copyright (c) 2012 Datacratic. All rights reserved.

Functionality to bind arbitrary functions into REST requests in a declarative manner.

Warning: full of funky variadic template voodoo.

rest_request_router.h -*- C++ -*- Jeremy Barnes, 13 November 2012 Copyright (c) 2012 Datacratic Inc. All rights reserved.

service_utils.h -*- C++ -*- Rémi Attab, 13 Mar 2013 Copyright (c) 2013 Datacratic. All rights reserved.

Service utilities

zookeeper_configuration_service.h -*- C++ -*- Jeremy Barnes, 26 September 2012 Copyright (c) 2012 Datacratic Inc. All rights reserved.

Configuration service built on top of Zookeeper.


Typedef Documentation

typedef void*(* Datacratic::Operations)(int op, void *arg)

Type of the function that does the heavy lifting. It's a multiplexed function (behind the argument).

Operations: 0: returns the pointer to the std::type_info block for the operator class. arg1 and arg2 are unused. 1: free the boost::function_base descendent pointed to by arg1 3: copy the boost::function_base descendent pointed to by arg1 and return a pointer to the new copy

Definition at line 86 of file slot.h.


Enumeration Type Documentation

Flags to modify how we create a connection.

Enumerator:
CS_ASYNCHRONOUS 

Asynchronous; returns true.

CS_SYNCHRONOUS 

Synchronous; returns state of connection.

CS_MUST_SUCCEED 

Synchronous; returns true or throws.

Definition at line 847 of file zmq_endpoint.h.

Enumerator:
ET_COUNT 

Represents an extra count on a counter.

ET_ACCUM 

Represents an extra value accumulated.

ET_LEVEL 

Represents the current level of something.

ET_OUTCOME 

Represents the outcome of an experiment.

Definition at line 13 of file stats_events.h.

Enumerator:
FLUSH_NONE 

No flushing.

Don't flush at all.

FLUSH_TO_OS 

Data makes it to the OS; survives process crash.

FLUSH_TO_DISK 

Data makes it to disk; survives disk crash.

Definition at line 19 of file compressing_output.h.

Enumerator:
FLUSH_NONE 

No flushing.

Don't flush at all.

FLUSH_SYNC 

Flush so that all current data could be reconstructed.

FLUSH_FULL 

Flush so that anything after is independent of before.

FLUSH_FINISH 

Flush so that all footers, etc are written.

Definition at line 36 of file filter.h.

Enumerator:
ATOM 

Generic, atomic type.

Definition at line 26 of file value_description.h.


Function Documentation

template<typename Fn , typename Return , typename... Args>
std::function<std::function<Return (Args...)>const RestServiceEndpoint::ConnectionId & connection, const RestRequest & request, const RestRequestParsingContext & context)> Datacratic::createParameterExtractor ( Json::Value  argHelp,
const Fn &  fn,
std::function< Return(Args...)> *  = 0 
)

Parameter extractor to generate something of the type

std::function<void (X)>

from

std::function<void (X, ConnectionId, RestRequest) >

by binding in the last two parameters.

This is used to create a callback to an asynchronous function that will finish off a request by sending back it's results.

Definition at line 351 of file rest_request_binding.h.

template<typename Result >
void Datacratic::decodeRestResponseJson ( const std::string &  functionName,
std::exception_ptr  exc,
int  resultCode,
const std::string &  body,
std::function< void(std::exception_ptr, Result &&)>  onDone 
)

Pass through a REST response to the given function.

Definition at line 23 of file rest_proxy.h.

std::string Datacratic::filenameFor ( const Date &  date,
const std::string &  pattern 
)

Generate the filename for the given date. The pattern is interpreted like the DATE command:

%% a literal % a locale's abbreviated weekday name (e.g., Sun) A locale's full weekday name (e.g., Sunday) b locale's abbreviated month name (e.g., Jan) B locale's full month name (e.g., January) c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) C century; like Y, except omit last two digits (e.g., 20) d day of month (e.g, 01) D date; same as m/d/y e day of month, space padded; same as _d F full date; same as Y-m-d g last two digits of year of ISO week number (see G) G year of ISO week number (see V); normally useful only with V h same as b H hour (00..23) I hour (01..12) j day of year (001..366) k hour ( 0..23) l hour ( 1..12) m month (01..12) M minute (00..59) n a newline p locale's equivalent of either AM or PM; blank if not known P like p, but lower case r locale's 12-hour clock time (e.g., 11:11:04 PM) R 24-hour hour and minute; same as H:M s seconds since 1970-01-01 00:00:00 UTC S second (00..60) t a tab T time; same as H:M:S u day of week (1..7); 1 is Monday U week number of year, with Sunday as first day of week (00..53) V ISO week number, with Monday as first day of week (01..53) w day of week (0..6); 0 is Sunday W week number of year, with Monday as first day of week (00..53) x locale's date representation (e.g., 12/31/99) X locale's time representation (e.g., 23:13:48) y last two digits of year (00..99) Y year z +hhmm numeric timezone (e.g., -0400) %:z +hh:mm numeric timezone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) Z alphabetic time zone abbreviation (e.g., EDT)

By default, date pads numeric fields with zeroes. The following optional flags may follow `':

  • (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible

Definition at line 140 of file periodic_utils.cc.

std::pair< Date, double > Datacratic::findPeriod ( Date  now,
TimeGranularity  granularity,
int  interval 
)

Calculate when the next period will be.

Definition at line 64 of file periodic_utils.cc.

std::pair<bool, bool> Datacratic::getEvents ( zmq::socket_t sock) [inline]

Returns events available on a socket: (input, output).

Definition at line 62 of file zmq_utils.h.

std::string Datacratic::getResponseReasonPhrase ( int  code)

Returns the reason phrase for the given code. See http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html

Definition at line 285 of file http_header.cc.

std::string Datacratic::printZmqEvent ( int  event)

Return a human readable string for a zeromq event name.

Definition at line 11 of file zmq_utils.cc.

void Datacratic::registerS3Bucket ( const std::string &  bucketName,
const std::string &  accessKeyId,
const std::string &  accessKey,
double  bandwidthToServiceMbps,
const std::string &  protocol,
const std::string &  serviceUri 
)

S3 support for filter_ostream opens. Register the bucket name here, and you can open it directly from s3.

Definition at line 2038 of file s3.cc.

void Datacratic::registerS3Buckets ( const std::string &  accessKeyId,
const std::string &  accessKey,
double  bandwidthToServiceMbps = S3Api::defaultBandwidthToServiceMbps,
const std::string &  protocol = "http",
const std::string &  serviceUri = "s3.amazonaws.com" 
)

S3 support for filter_ostream opens. Register the bucket name here, and you can open it directly from s3. Queries and iterates over all buckets within the account.

Definition at line 2103 of file s3.cc.

bool Datacratic::zmqEventIsError ( int  event)

Return if the given error event represents some kind of failure or not.

Definition at line 33 of file zmq_utils.cc.


Variable Documentation

static std::function< decltype(RestCodec< T >::decode(std::declval< std::string >)))(const RestServiceEndpoint::ConnectionId &connection, const RestRequest &request, const RestRequestParsingContext &context)> Datacratic::createParameterExtractor [inline]

By default, to create a parameter extractor we simply take a copy of the argument and return that.

Pass the connection on

Free function to be called in order to generate a parameter extractor for the given parameter. See the CreateRestParameterGenerator class for more details.

Definition at line 143 of file rest_request_binding.h.

Open and initialize a new gcource.

Open and initialize a new resource.

Definition at line 892 of file gc_lock.cc.

Open an existing gcource.

Open an existing resource.

Definition at line 893 of file gc_lock.cc.

Externally visible initializer for the GcLock's epoch which can be used to test for overflows.

Definition at line 35 of file gc_lock.cc.

 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator