27 #include "MessageId.h"
29 #pragma GCC visibility push(default)
34 class MessageMetadata;
35 class SingleMessageMetadata;
45 typedef std::map<std::string, std::string> StringMap;
72 const std::string&
getProperty(
const std::string& name)
const;
112 bool hasPartitionKey()
const;
131 typedef std::shared_ptr<MessageImpl> MessageImplPtr;
132 MessageImplPtr impl_;
135 Message(
const proto::CommandMessage& msg, proto::MessageMetadata& data, SharedBuffer& payload,
138 Message(
const MessageId& messageID, proto::MessageMetadata& metadata, SharedBuffer& payload,
139 proto::SingleMessageMetadata& singleMetadata,
const std::string& topicName);
140 friend class PartitionedProducerImpl;
141 friend class PartitionedConsumerImpl;
142 friend class MultiTopicsConsumerImpl;
144 friend class ConsumerImpl;
145 friend class ProducerImpl;
146 friend class Commands;
147 friend class BatchMessageContainer;
148 friend class BatchAcknowledgementTracker;
149 friend class PulsarWrapper;
151 friend std::ostream& operator<<(std::ostream& s,
const StringMap& map);
152 friend std::ostream& operator<<(std::ostream& s,
const Message& msg);
156 #pragma GCC visibility pop