pulsar-client-cpp
Loading...
Searching...
No Matches
MessageBuilder.h
1
19#ifndef MESSAGE_BUILDER_H
20#define MESSAGE_BUILDER_H
21
22#include <chrono>
23#include <string>
24#include <vector>
25
26#include <pulsar/Message.h>
27#include <pulsar/defines.h>
28
29namespace pulsar {
30class PulsarWrapper;
31
32class PULSAR_PUBLIC MessageBuilder {
33 public:
35
36 typedef std::map<std::string, std::string> StringMap;
37
42
46 MessageBuilder& setContent(const void* data, size_t size);
47
54 MessageBuilder& setContent(const std::string& data);
55
61 MessageBuilder& setContent(std::string&& data);
62
68 MessageBuilder& setAllocatedContent(void* data, size_t size);
69
75 MessageBuilder& setProperty(const std::string& name, const std::string& value);
76
80 MessageBuilder& setProperties(const StringMap& properties);
81
86 MessageBuilder& setPartitionKey(const std::string& partitionKey);
87
92 MessageBuilder& setOrderingKey(const std::string& orderingKey);
93
99 MessageBuilder& setDeliverAfter(const std::chrono::milliseconds delay);
100
107 MessageBuilder& setDeliverAt(uint64_t deliveryTimestamp);
108
112 MessageBuilder& setEventTimestamp(uint64_t eventTimestamp);
113
130 MessageBuilder& setSequenceId(int64_t sequenceId);
131
142 MessageBuilder& setReplicationClusters(const std::vector<std::string>& clusters);
143
150
156
157 private:
159 void checkMetadata();
160 static std::shared_ptr<MessageImpl> createMessageImpl();
161 Message::MessageImplPtr impl_;
162
163 friend class PulsarWrapper;
164};
165} // namespace pulsar
166
167#endif
Definition: MessageBuilder.h:32
MessageBuilder & setDeliverAt(uint64_t deliveryTimestamp)
MessageBuilder & setPartitionKey(const std::string &partitionKey)
MessageBuilder & setContent(const void *data, size_t size)
MessageBuilder & setAllocatedContent(void *data, size_t size)
MessageBuilder & setDeliverAfter(const std::chrono::milliseconds delay)
MessageBuilder & setEventTimestamp(uint64_t eventTimestamp)
MessageBuilder & setOrderingKey(const std::string &orderingKey)
MessageBuilder & setContent(std::string &&data)
MessageBuilder & setProperties(const StringMap &properties)
MessageBuilder & setSequenceId(int64_t sequenceId)
MessageBuilder & create()
MessageBuilder & setReplicationClusters(const std::vector< std::string > &clusters)
MessageBuilder & setProperty(const std::string &name, const std::string &value)
MessageBuilder & setContent(const std::string &data)
MessageBuilder & disableReplication(bool flag)
Definition: Message.h:42
Definition: Authentication.h:30