RTBKit  0.9
Open-source framework to create real-time ad bidding systems.
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator
Classes | Public Types | Public Member Functions | Public Attributes
RTBKIT::AugmentationLoop Struct Reference
Inheritance diagram for RTBKIT::AugmentationLoop:
Datacratic::ServiceBase Datacratic::MessageLoop Datacratic::EventRecorder Datacratic::Epoller Datacratic::AsyncEventSource

List of all members.

Classes

struct  AllAugmentorInfo
struct  AugmentorInfoEntry
struct  Entry

Public Types

typedef boost::function< void(const
std::shared_ptr
< AugmentationInfo > &)> 
OnFinished
typedef TimeoutMap< Id,
std::shared_ptr< Entry > > 
Augmenting
typedef ML::Spinlock Lock
typedef boost::unique_lock< Lock > Guard

Public Member Functions

 AugmentationLoop (ServiceBase &parent, const std::string &name="augmentationLoop")
 AugmentationLoop (std::shared_ptr< ServiceProxies > proxies, const std::string &name="augmentationLoop")
void init ()
void start ()
void sleepUntilIdle ()
void shutdown ()
size_t numAugmenting () const
bool currentlyAugmenting (const Id &auctionId) const
void bindAugmentors (const std::string &uri)
void augment (const std::shared_ptr< AugmentationInfo > &info, Date timeout, const OnFinished &onFinished)
void updateAllAugmentors ()
void handleAugmentorMessage (const std::vector< std::string > &message)
void checkExpiries ()
void doConfig (const std::vector< std::string > &message)
void doResponse (const std::vector< std::string > &message)
void doAugment (const std::vector< std::string > &message)
void augmentationExpired (const Id &id, const Entry &entry)

Public Attributes

Augmenting augmenting
std::map< std::string,
std::shared_ptr< AugmentorInfo > > 
augmentors
AllAugmentorInfoallAugmentors
GcLock allAugmentorsGc
int idle_
TypedMessageSink
< std::shared_ptr< Entry > > 
inbox
 We pick up augmentations to be done from here.
ZmqNamedClientBus toAugmentors
 Connection to all of our augmentors.
ML::Spinlock lock

Detailed Description

Definition at line 68 of file augmentation_loop.h.


Member Typedef Documentation

List of auctions we're currently augmenting. Once the augmentation process is finished the auction will be passed on.

Definition at line 104 of file augmentation_loop.h.


Member Function Documentation

void RTBKIT::AugmentationLoop::augment ( const std::shared_ptr< AugmentationInfo > &  info,
Date  timeout,
const OnFinished &  onFinished 
)

Push an auction into the augmentor. Can be called from any thread.

Definition at line 372 of file augmentation_loop.cc.

void RTBKIT::AugmentationLoop::doAugment ( const std::vector< std::string > &  message)

Handle a message asking for augmentation.

void RTBKIT::AugmentationLoop::doConfig ( const std::vector< std::string > &  message)

Handle a configuration message from an augmentor.

Definition at line 505 of file augmentation_loop.cc.

void RTBKIT::AugmentationLoop::doResponse ( const std::vector< std::string > &  message)

Handle a response from an augmentation.

Definition at line 559 of file augmentation_loop.cc.

Update the augmentors from the configuration settings.

Definition at line 327 of file augmentation_loop.cc.


Member Data Documentation

Pointer to current version. Protected by allAgentsGc.

Definition at line 125 of file augmentation_loop.h.

RCU protection for allAgents.

Definition at line 128 of file augmentation_loop.h.

std::map<std::string, std::shared_ptr<AugmentorInfo> > RTBKIT::AugmentationLoop::augmentors

Currently configured augmentors. Indexed by the augmentor name.

Definition at line 108 of file augmentation_loop.h.

Global flag for idle.

Reimplemented from Datacratic::MessageLoop.

Definition at line 130 of file augmentation_loop.h.


The documentation for this struct was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator