Inheritance diagram for uscxml::BasicDelayedEventQueue:
[legend]
Collaboration diagram for uscxml::BasicDelayedEventQueue:
[legend]

Classes

struct  callbackData
 

Public Member Functions

 BasicDelayedEventQueue (DelayedEventQueueCallbacks *callbacks)
 
virtual void cancelAllDelayed ()
 
virtual void cancelDelayed (const std::string &eventId)
 
virtual std::shared_ptr< DelayedEventQueueImplcreate (DelayedEventQueueCallbacks *callbacks)
 
virtual Event dequeue (size_t blockMs)
 
virtual void deserialize (const Data &data)
 
virtual void enqueue (const Event &event)
 
virtual void enqueueDelayed (const Event &event, size_t delayMs, const std::string &eventUUID)
 
virtual void reset ()
 
virtual Data serialize ()
 

Protected Member Functions

virtual std::shared_ptr< EventQueueImplcreate ()
 
void start ()
 
void stop ()
 

Static Protected Member Functions

static void run (void *instance)
 
static void timerCallback (evutil_socket_t fd, short what, void *arg)
 

Protected Attributes

std::map< std::string, callbackData_callbackData
 
DelayedEventQueueCallbacks_callbacks
 
struct event * _dummyEvent
 
struct event_base * _eventLoop
 
bool _isStarted
 
std::thread * _thread
 
- Protected Attributes inherited from uscxml::BasicEventQueue
std::condition_variable_any _cond
 
std::recursive_mutex _mutex
 
std::list< Event_queue
 

Member Function Documentation

void uscxml::BasicDelayedEventQueue::run ( void *  instance)
staticprotected

EVLOOP_NO_EXIT_ON_EMPTY was removed in libevent2.1 - we are using the event in the far future approach to get blocking behavior back (see comments in contructor)


The documentation for this class was generated from the following files: