16#ifndef INCLUDED_RMQT_MESSAGE
17#define INCLUDED_RMQT_MESSAGE
19#include <rmqt_fieldvalue.h>
20#include <rmqt_properties.h>
24#include <bsl_cstddef.h>
25#include <bsl_memory.h>
26#include <bsl_ostream.h>
27#include <bsl_string.h>
28#include <bsl_vector.h>
30namespace BloombergLP {
51 Message(
const bsl::shared_ptr<bsl::vector<uint8_t> >& rawData,
53 const bsl::shared_ptr<rmqt::FieldTable>& headers =
54 bsl::shared_ptr<rmqt::FieldTable>());
60 Message(
const bsl::shared_ptr<bsl::vector<uint8_t> >& rawData,
67 Message(
const bsl::shared_ptr<
const bsl::vector<uint8_t> >& rawData,
72 const bdlb::Guid&
guid()
const {
return d_guid; }
80 const bsl::shared_ptr<rmqt::FieldTable>& headers()
const
87 const rmqt::Properties& properties()
const {
return d_properties; }
92 return d_message ? d_message->data() : NULL;
98 return d_message ? d_message->size() : 0;
120 rmqt::DeliveryMode::NON_PERSISTENT) ==
121 rmqt::DeliveryMode::PERSISTENT;
126 bsl::shared_ptr<const bsl::vector<uint8_t> > d_message;
130bsl::ostream& operator<<(bsl::ostream& os,
const rmqt::Message& message);
An AMQP content message.
Definition: rmqt_message.h:43
const bsl::string & messageId() const
Message id.
Definition: rmqt_message.h:75
const uint8_t * payload() const
Message payload.
Definition: rmqt_message.h:90
void updateDeliveryMode(const rmqt::DeliveryMode::Value &deliveryMode)
Update delivery-mode(Persistent or Non-persistent). Default delivery-mode is Persistent for rmqt::Mes...
Definition: rmqt_message.h:105
const bdlb::Guid & guid() const
Message GUID.
Definition: rmqt_message.h:72
void updateMessagePriority(const bsl::uint8_t &priority)
Update update-priority. Default no priority.
Definition: rmqt_message.h:111
bool isPersistent() const
Return true, if delivery-mode is persistent for the message.
Definition: rmqt_message.h:117
bsl::size_t payloadSize() const
Message payload size.
Definition: rmqt_message.h:96
Properties is an minimal abstraction of the properties one can set on a message.
Definition: rmqt_properties.h:73
bdlb::NullableValue< bsl::string > messageId
application message identifier
Definition: rmqt_properties.h:104
bdlb::NullableValue< bsl::uint8_t > deliveryMode
non-persistent (1) or persistent (2)
Definition: rmqt_properties.h:84
bsl::shared_ptr< rmqt::FieldTable > headers
message header field table
Definition: rmqt_properties.h:81
bdlb::NullableValue< bsl::uint8_t > priority
message priority, 0 to 9
Definition: rmqt_properties.h:87