pulsar-client-cpp
ReaderConfiguration.h
1 
19 #ifndef PULSAR_READER_CONFIGURATION_H_
20 #define PULSAR_READER_CONFIGURATION_H_
21 
22 #include <pulsar/ConsumerCryptoFailureAction.h>
23 #include <pulsar/CryptoKeyReader.h>
24 #include <pulsar/Message.h>
25 #include <pulsar/Result.h>
26 #include <pulsar/Schema.h>
27 #include <pulsar/defines.h>
28 
29 #include <functional>
30 #include <memory>
31 
32 namespace pulsar {
33 
34 class Reader;
35 class PulsarWrapper;
36 
38 typedef std::function<void(Result result)> ResultCallback;
39 typedef std::function<void(Result result, MessageId messageId)> GetLastMessageIdCallback;
40 
42 typedef std::function<void(Reader reader, const Message& msg)> ReaderListener;
43 
44 struct ReaderConfigurationImpl;
45 
49 class PULSAR_PUBLIC ReaderConfiguration {
50  public:
54  ReaderConfiguration& operator=(const ReaderConfiguration&);
55 
64  ReaderConfiguration& setSchema(const SchemaInfo& schemaInfo);
65 
69  const SchemaInfo& getSchema() const;
70 
75  ReaderConfiguration& setReaderListener(ReaderListener listener);
76 
80  ReaderListener getReaderListener() const;
81 
85  bool hasReaderListener() const;
86 
108  void setReceiverQueueSize(int size);
109 
113  int getReceiverQueueSize() const;
114 
120  void setReaderName(const std::string& readerName);
121 
125  const std::string& getReaderName() const;
126 
134  void setSubscriptionRolePrefix(const std::string& subscriptionRolePrefix);
135 
139  const std::string& getSubscriptionRolePrefix() const;
140 
154  void setReadCompacted(bool compacted);
155 
159  bool isReadCompacted() const;
160 
167  void setInternalSubscriptionName(std::string internalSubscriptionName);
168 
172  const std::string& getInternalSubscriptionName() const;
173 
181  void setUnAckedMessagesTimeoutMs(const uint64_t milliSeconds);
182 
186  long getUnAckedMessagesTimeoutMs() const;
187 
200  void setTickDurationInMs(const uint64_t milliSeconds);
201 
205  long getTickDurationInMs() const;
206 
215  void setAckGroupingTimeMs(long ackGroupingMillis);
216 
222  long getAckGroupingTimeMs() const;
223 
230  void setAckGroupingMaxSize(long maxGroupingSize);
231 
237  long getAckGroupingMaxSize() const;
238 
242  bool isEncryptionEnabled() const;
243 
247  const CryptoKeyReaderPtr getCryptoKeyReader() const;
248 
254  ReaderConfiguration& setCryptoKeyReader(CryptoKeyReaderPtr cryptoKeyReader);
255 
259  ConsumerCryptoFailureAction getCryptoFailureAction() const;
260 
264  ReaderConfiguration& setCryptoFailureAction(ConsumerCryptoFailureAction action);
265 
273  bool hasProperty(const std::string& name) const;
274 
281  const std::string& getProperty(const std::string& name) const;
282 
286  std::map<std::string, std::string>& getProperties() const;
287 
293  ReaderConfiguration& setProperty(const std::string& name, const std::string& value);
294 
298  ReaderConfiguration& setProperties(const std::map<std::string, std::string>& properties);
299 
300  private:
301  std::shared_ptr<ReaderConfigurationImpl> impl_;
302 };
303 } // namespace pulsar
304 #endif /* PULSAR_READER_CONFIGURATION_H_ */
pulsar::Result
Result
Definition: Result.h:31
pulsar::Message
Definition: Message.h:43
pulsar::Reader
Definition: Reader.h:37
pulsar::SchemaInfo
Definition: Schema.h:146
pulsar
Definition: Authentication.h:31
pulsar::ReaderListener
std::function< void(Reader reader, const Message &msg)> ReaderListener
Callback definition for MessageListener.
Definition: ReaderConfiguration.h:42
pulsar::ReaderConfiguration
Definition: ReaderConfiguration.h:49
pulsar::ResultCallback
std::function< void(Result result)> ResultCallback
Callback definition for non-data operation.
Definition: ConsumerConfiguration.h:50