libbmq
a5f8a06ba1d16cb5a65643e1fa7f1a1d6aadef40
|
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 | |
BloombergLP | |
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.