#include <AsyncConsumerPolicies.h>
Public Types | |
typedef MessagePort< T > | IQueueType |
Public Member Functions | |
void | addInputQueue (boost::shared_ptr< IQueueType > const &mport) |
void | removeInputQueue (boost::shared_ptr< IQueueType > const &mport) |
void | updateSource () |
Called when the consumer is idle. | |
Protected Types | |
typedef std::list< boost::shared_ptr< IQueueType > > | PortList |
typedef boost::mutex::scoped_lock | scoped_lock |
Protected Member Functions | |
PortList::iterator | beginProducers () |
PortList::const_iterator | beginProducers () const |
PortList::iterator | endProducers () |
PortList::const_iterator | endProducers () const |
void | _removeQueueAtAddress (IQueueType *q) |
IQueueType * | _waitForMessage (T &msg, unsigned sec, unsigned nanos) |
MultiMessagePortQueue () | |
~MultiMessagePortQueue () | |
Private Member Functions | |
void | _doRemoval () |
Private implementation detail to check for, and perform any pending removals. | |
Private Attributes | |
boost::mutex | _mmpqMutex |
PortList | _pendingPorts |
std::list< IQueueType * > | _finishedPorts |
Atomic< bool > | _hasNewPorts |
Atomic< bool > | _removePorts |
PortList | _mports |
Semaphore | _sharedSem |
PortList::iterator | _lastIter |
Classes | |
struct | _SamePtr |
|
|
|
|
|
Reimplemented in ark::AsyncConsumer< MemoryMessage, async_consumer_policies::MultiMessagePortQueue >. |
|
|
|
|
|
Private implementation detail to check for, and perform any pending removals.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Called when the consumer is idle.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|