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 <vector>
24#include <pulsar/defines.h>
25#include "Message.h"
26
27namespace pulsar {
28class PulsarWrapper;
29
30class PULSAR_PUBLIC MessageBuilder {
31 public:
33
34 typedef std::map<std::string, std::string> StringMap;
35
40
44 MessageBuilder& setContent(const void* data, size_t size);
45
52 MessageBuilder& setContent(const std::string& data);
53
59 MessageBuilder& setAllocatedContent(void* data, size_t size);
60
66 MessageBuilder& setProperty(const std::string& name, const std::string& value);
67
71 MessageBuilder& setProperties(const StringMap& properties);
72
77 MessageBuilder& setPartitionKey(const std::string& partitionKey);
78
83 MessageBuilder& setOrderingKey(const std::string& orderingKey);
84
90 MessageBuilder& setDeliverAfter(const std::chrono::milliseconds delay);
91
98 MessageBuilder& setDeliverAt(uint64_t deliveryTimestamp);
99
103 MessageBuilder& setEventTimestamp(uint64_t eventTimestamp);
104
121 MessageBuilder& setSequenceId(int64_t sequenceId);
122
133 MessageBuilder& setReplicationClusters(const std::vector<std::string>& clusters);
134
141
147
148 private:
150 void checkMetadata();
151 static std::shared_ptr<MessageImpl> createMessageImpl();
152 Message::MessageImplPtr impl_;
153
154 friend class PulsarWrapper;
155};
156} // namespace pulsar
157
158#endif
Definition: MessageBuilder.h:30
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 & 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