17 #ifndef INCLUDED_BMQA_MESSAGE
18 #define INCLUDED_BMQA_MESSAGE
69 #include <bdlbb_blob.h>
70 #include <bsl_cstddef.h>
71 #include <bsl_iosfwd.h>
72 #include <bsl_memory.h>
73 #include <bsl_string.h>
74 #include <bslma_allocator.h>
75 #include <bsls_annotation.h>
87 class MessageProperties;
106 bmqimp::Event* d_event_p;
109 bsl::shared_ptr<bmqimp::Event> d_clonedEvent_sp;
112 bmqa::QueueId d_queueId;
115 bmqt::CorrelationId d_correlationId;
118 bmqt::SubscriptionHandle d_subscriptionHandle;
120 #ifdef BMQ_ENABLE_MSG_GROUPID
122 bsl::string d_groupId;
171 #ifdef BMQ_ENABLE_MSG_GROUPID
176 static const int k_GROUP_ID_MAX_LENGTH = 31;
181 mutable MessageImpl d_impl;
190 bool isInitialized()
const;
210 Message&
setData(
const bdlbb::Blob* data) BSLS_ANNOTATION_DEPRECATED;
213 size_t length) BSLS_ANNOTATION_DEPRECATED;
266 #ifdef BMQ_ENABLE_MSG_GROUPID
272 Message& setGroupId(
const bsl::string& groupId);
291 operator bool()
const;
330 #ifdef BMQ_ENABLE_MSG_GROUPID
334 const bsl::string& groupId()
const;
372 #ifdef BMQ_ENABLE_MSG_GROUPID
376 bool hasGroupId()
const;
400 print(bsl::ostream& stream,
int level = 0,
int spacesPerLevel = 4)
const;
427 inline Message::operator bool()
const
429 return isInitialized();
447 , d_guid(messageGUID)
472 return rhs.
print(stream, 0, -1);
Provide a value-semantic efficient identifier for a queue.
Provide an enumeration for different compression algorithm types.
Provide a value-semantic type usable as an efficient identifier.
Provide a value-semantic global unique identifier for BlazingMQ messages.
Provide a value-semantic types for subscription related API.
Cookie for async message confirmation.
Definition: bmqa_message.h:131
const bmqt::MessageGUID & messageGUID() const
Definition: bmqa_message.h:458
MessageConfirmationCookie()
Create an unset instance of this class.
Definition: bmqa_message.h:436
const QueueId & queueId() const
Definition: bmqa_message.h:453
Provide a VST representing message properties.
Definition: bmqa_messageproperties.h:92
A message sent/received to/from the BlazingMQ broker.
Definition: bmqa_message.h:170
const bmqt::MessageGUID & messageGUID() const
Message & setData(const bdlbb::Blob *data) BSLS_ANNOTATION_DEPRECATED
Definition: bmqa_message.h:417
Message & setDataRef(const char *data, size_t length)
int getData(bdlbb::Blob *blob) const
const bmqt::SubscriptionHandle & subscriptionHandle() const
bool hasProperties() const
Message & clearPropertiesRef()
const bmqa::QueueId & queueId() const
Message & setPropertiesRef(const MessageProperties *properties)
Message clone(bslma::Allocator *basicAllocator=0) const
Message & setCorrelationId(const bmqt::CorrelationId &correlationId)
Set correlation ID of this message to the specified correlationId.
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
Message & setCompressionAlgorithmType(bmqt::CompressionAlgorithmType::Enum value)
Message & setDataRef(const bdlbb::Blob *data)
const bmqt::CorrelationId & correlationId() const
bmqt::CompressionAlgorithmType::Enum compressionAlgorithmType() const
int loadProperties(MessageProperties *buffer) const
MessageConfirmationCookie confirmationCookie() const
Value-semantic efficient identifier for a queue.
Definition: bmqa_queueid.h:59
Definition: bmqt_correlationid.h:193
Definition: bmqt_messageguid.h:95
Value-semantic type for unique Subscription id.
Definition: bmqt_subscription.h:59
bsl::ostream & operator<<(bsl::ostream &stream, const CloseQueueStatus &rhs)
Definition: bmqa_closequeuestatus.h:227
Definition: bmqa_abstractsession.h:42
Enum
Definition: bmqt_compressionalgorithmtype.h:46