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 <bsla_annotations.h>
75#include <bslma_allocator.h>
84class MessageProperties_Schema;
90class MessageProperties;
109 bmqimp::Event* d_event_p;
112 bsl::shared_ptr<bmqimp::Event> d_clonedEvent_sp;
115 bmqa::QueueId d_queueId;
118 bmqt::CorrelationId d_correlationId;
121 bmqt::SubscriptionHandle d_subscriptionHandle;
124 bsl::shared_ptr<const bmqp::MessageProperties_Schema> d_schema_sp;
126#ifdef BMQ_ENABLE_MSG_GROUPID
128 bsl::string d_groupId;
177#ifdef BMQ_ENABLE_MSG_GROUPID
182 static const int k_GROUP_ID_MAX_LENGTH = 31;
187 mutable MessageImpl d_impl;
196 bool isInitialized()
const;
216 BSLA_DEPRECATED_MESSAGE(
"Use `setDataRef() instead.")
228 BSLA_DEPRECATED_MESSAGE("Use `
setDataRef() instead.")
273#ifdef BMQ_ENABLE_MSG_GROUPID
279 Message& setGroupId(
const bsl::string& groupId);
298 operator bool()
const;
337#ifdef BMQ_ENABLE_MSG_GROUPID
341 const bsl::string& groupId()
const;
379#ifdef BMQ_ENABLE_MSG_GROUPID
383 bool hasGroupId()
const;
407 print(bsl::ostream& stream,
int level = 0,
int spacesPerLevel = 4)
const;
434inline Message::operator bool()
const
436 return isInitialized();
479 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:137
const bmqt::MessageGUID & messageGUID() const
Definition bmqa_message.h:465
MessageConfirmationCookie()
Create an unset instance of this class.
Definition bmqa_message.h:443
const QueueId & queueId() const
Definition bmqa_message.h:460
Provide a VST representing message properties.
Definition bmqa_messageproperties.h:94
A message sent/received to/from the BlazingMQ broker.
Definition bmqa_message.h:176
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
const bmqt::SubscriptionHandle & subscriptionHandle() const
Message & setData(const bdlbb::Blob *data)
Definition bmqa_message.h:424
Message & clearPropertiesRef()
int getData(bdlbb::Blob *blob) const
bool hasProperties() const
const bmqt::CorrelationId & correlationId() const
Message clone(bslma::Allocator *basicAllocator=0) const
Message & setPropertiesRef(const MessageProperties *properties)
const bmqa::QueueId & queueId() const
Message & setDataRef(const bdlbb::Blob *data)
const bmqt::MessageGUID & messageGUID() const
bmqt::CompressionAlgorithmType::Enum compressionAlgorithmType() const
int loadProperties(MessageProperties *buffer) const
Message & setCorrelationId(const bmqt::CorrelationId &correlationId)
Set correlation ID of this message to the specified correlationId.
Message & setCompressionAlgorithmType(bmqt::CompressionAlgorithmType::Enum value)
MessageConfirmationCookie confirmationCookie() const
Value-semantic efficient identifier for a queue.
Definition bmqa_queueid.h:59
Definition bmqt_correlationid.h:193
Definition bmqt_messageguid.h:96
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