libbmq  a5f8a06ba1d16cb5a65643e1fa7f1a1d6aadef40
bmqa_event.h File Reference

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)
 

Detailed Description

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.

See also
bmqa::MessageEvent: Data event notification.
bmqa::SessionEvent: Session and queue status event notification.