Controls acknowledgements passed to broker for consumed messages.
More...
#include <rmqa_messageguard.h>
|
| enum | State { READY
, TRANSFERRED
, RESOLVED
} |
| |
|
|
bsl::ostream & | operator<< (bsl::ostream &os, const MessageGuard &mg) |
| | Stream out.
|
| |
Controls acknowledgements passed to broker for consumed messages.
A MessageGuard is passed to the rmqa::Consumer callback function (defined in rmqp::Consumer) for each message. The object allows acknowledging either positively or negatively, with options to requeue. If a MessageGuard object is allowed to destruct before ack/nack is called a nack with requeue is automatically signaled to the broker.
◆ State
Ready - not resolved yet Invalid - ownership moved Resolved - message (n)acked.
◆ MessageGuard() [1/2]
Constructs a new valid guard
- Parameters
-
| message | Consumed message |
| envelope | Consumed delivery metadata |
| ackCallback | Callback called when resolving message |
| consumer | Pointer to the Consumer |
◆ MessageGuard() [2/2]
| BloombergLP::rmqa::MessageGuard::MessageGuard |
( |
const MessageGuard & |
obj | ) |
|
During copying obj is invalidated and thereafter cannot be used to (n)ack.
◆ ~MessageGuard()
| BloombergLP::rmqa::MessageGuard::~MessageGuard |
( |
| ) |
|
|
virtual |
◆ ack()
| void BloombergLP::rmqa::MessageGuard::ack |
( |
| ) |
|
|
virtual |
Acknowledge the received message. Callable only once. Should only be called after the message has been fully processed
A message acknowledgement is fire-and-forget. If the broker does not receive this (e.g. due to connection drop), the message will be redelivered to another consumer.
Implements BloombergLP::rmqp::MessageGuard.
◆ consumer()
◆ envelope()
| const rmqt::Envelope & BloombergLP::rmqa::MessageGuard::envelope |
( |
| ) |
const |
|
virtual |
◆ message()
| const rmqt::Message & BloombergLP::rmqa::MessageGuard::message |
( |
| ) |
const |
|
virtual |
◆ nack()
| void BloombergLP::rmqa::MessageGuard::nack |
( |
bool |
requeue = true | ) |
|
|
virtual |
Negative acknowledge the received message. Callable only once.
- Parameters
-
| requeue | true requeues the message on the broker for redelivery , if false, then the message will be either dead lettered (if a dead letter exchange is specified) or dropped if not. |
Implements BloombergLP::rmqp::MessageGuard.
◆ transferOwnership()
| rmqp::TransferrableMessageGuard BloombergLP::rmqa::MessageGuard::transferOwnership |
( |
| ) |
|
|
virtual |
The documentation for this class was generated from the following files: