- com
- pcbsys
- nirvana
- client
- nQueueAsyncTransactionReader
This Reader enables the client to receive all events asynchronously. More...
#include <nQueueAsyncTransactionReader.h>
Public Member Functions | |
virtual void | commit () |
Commits all received events so far. More... | |
virtual void | commit (longlong eventId) |
Commits all events up to the event id specified. More... | |
virtual void | rollback () |
Rolls back all received events that have not been committed or rolled back previously. More... | |
virtual void | rollback (longlong eventId) |
Rolls back all events up to the specified event id that have not been committed or rolled back previously. More... | |
![]() | |
virtual void | close () |
Close the subscription, and notify the server. | |
virtual void | closeLocally () |
Close the subscription, but don't notify the server. | |
bool | isPaused () |
Returns true if the subscription of the reader is currently paused. More... | |
void | pauseReader () |
Pause the subscription of the nQueueAsyncReader. More... | |
void | resumeReader () |
Resumes the subscription of the nQueueAsyncReader. More... | |
![]() | |
void | destroyReader () |
This call will release any outstanding resources on the server and close the reader. More... | |
void | destroyReaderLocally () |
This call will close local reader resources but remain subscribed at the server Any future calls to this object will work unless destroyReader() is called. More... | |
bool | hasConsumedEvents () |
Method to see whether the reader has consumed any events. More... | |
bool | isClosed () |
When a reader is closed, the physical subscription is closed at the server. More... | |
bool | isClosedLocally () |
A reader can be closed, but the physical subscription queue is not closed at the server. More... | |
nConsumeEvent ** | peek (nQueuePeekContext *pContext, int &nEvent) |
Performs a non destructive read. More... | |
Additional Inherited Members | |
![]() | |
static nQueuePeekContext * | createContext (int windowSize=0, const std::string &selector="") |
Creates a Queue Peek Context, which is used to traverse the queue. More... | |
![]() | |
nQueueReader (nQueue *pQueue, nQueueReaderContext *pContext) | |
Creates a reader for the specified queue using the given reader context. The reader will have its reader unique ID assigned implicitly. More... | |
nQueueReader (nQueue *pQueue, nQueueReaderContext *pContext, longlong readerUniqueId) | |
Creates a reader for the specified queue using the given reader context and reader unique identifier. Note: This constructor must only be used for asynchronous readers, which require special reader ID assignment, for all other cases use the constructor which implicitly assigns the reader unique identifier. More... | |
![]() | |
longlong | m_readerUniqueId |
An identifier that uniquely identifies the reader which performs this queue operation within the session. This will be paired with the connection id to uniquely identify the reader within the Universal Messaging server. Note: This should be considered final, it must be set during reader creation and not modified afterwards. More... | |
![]() | |
static const longlong | ASYNC_READER_UNIQUE_ID = -1 |
Unique identifier for asynchronous readers. Use a constant value for all asynchronous readers, since there will be at most one such reader in a session and the server will need to distinguish that from any synchronous readers in the same session. More... | |
This Reader enables the client to receive all events asynchronously.
The callback method was passed as part of the nQueueReaderContext. This class provides no pop
methods, since it is all asynchronous delivery.
|
virtual |
Commits all received events so far.
Implements com::pcbsys::nirvana::client::nQueueTransactionReader.
|
virtual |
Commits all events up to the event id specified.
This means you can partially commit received events.
eventId | Event ID to commit to, inclusive |
Implements com::pcbsys::nirvana::client::nQueueTransactionReader.
|
virtual |
Rolls back all received events that have not been committed or rolled back previously.
These events are then pushed back onto the queue for redelivery.
Implements com::pcbsys::nirvana::client::nQueueTransactionReader.
|
virtual |
Rolls back all events up to the specified event id that have not been committed or rolled back previously.
These events are then pushed back onto the queue for redelivery.
eventId | Event Id to rollback to, inclusive |
Implements com::pcbsys::nirvana::client::nQueueTransactionReader.