|
libbmq b6028b29b733bc7541593d2905a5f79a9f0192fc
|
Provide a generic variant encompassing all types of events. More...
#include <bmqa_messageevent.h>#include <bmqa_sessionevent.h>#include <bsl_iosfwd.h>#include <bsl_memory.h>Go to the source code of this file.
Classes | |
| class | BloombergLP::bmqa::Event |
| A variant type encompassing all types of events. More... | |
Namespaces | |
| namespace | BloombergLP |
| namespace | BloombergLP::bmqa |
Functions | |
| bsl::ostream & | BloombergLP::bmqa::operator<< (bsl::ostream &stream, const Event &rhs) |
This component provides a generic bmqa::Event notification object used by the bmqa::Session to provide BlazingMQ applications with information regarding the status of the session or data coming from queues. This bmqa::Event object is only used when user wants to process messages from the EventQueue using its own thread, by calling the bmqa::Session::nextEvent method.
A bmqa::Event can either be a bmqa::SessionEvent or a bmqa::MessageEvent. The former describes notifications such as the result of a session start or the opening of a queue. The latter carries application messages retrieved from a queue.
Note that event is implemented using the pimpl idiom, so copying an event is very cheap (a pointer copy). All copies of this bmqa::Event, as well as any bmqa::SessionEvent or bmqa::MessageEvent extracted from it will share the same underlying implementation.