pulsar-client-cpp
Loading...
Searching...
No Matches
ConsumerConfiguration.h
1
19#ifndef PULSAR_CONSUMERCONFIGURATION_H_
20#define PULSAR_CONSUMERCONFIGURATION_H_
21
22#include <functional>
23#include <memory>
24#include <pulsar/defines.h>
25#include <pulsar/Result.h>
26#include <pulsar/ConsumerType.h>
27#include <pulsar/Message.h>
28#include <pulsar/Schema.h>
29#include <pulsar/ConsumerCryptoFailureAction.h>
30#include <pulsar/CryptoKeyReader.h>
31#include <pulsar/InitialPosition.h>
32#include <pulsar/KeySharedPolicy.h>
33
34namespace pulsar {
35
36class Consumer;
37class PulsarWrapper;
38
40typedef std::function<void(Result result)> ResultCallback;
41typedef std::function<void(Result, const Message& msg)> ReceiveCallback;
42
44typedef std::function<void(Consumer consumer, const Message& msg)> MessageListener;
45
46struct ConsumerConfigurationImpl;
47
51class PULSAR_PUBLIC ConsumerConfiguration {
52 public:
57
63
73
77 const SchemaInfo& getSchema() const;
78
92
97
107
112
119
124
128 bool hasMessageListener() const;
129
151 void setReceiverQueueSize(int size);
152
157
166 void setMaxTotalReceiverQueueSizeAcrossPartitions(int maxTotalReceiverQueueSizeAcrossPartitions);
167
172
178 void setConsumerName(const std::string& consumerName);
179
183 const std::string& getConsumerName() const;
184
195 void setUnAckedMessagesTimeoutMs(const uint64_t milliSeconds);
196
201
213 void setTickDurationInMs(const uint64_t milliSeconds);
214
219
232 void setNegativeAckRedeliveryDelayMs(long redeliveryDelayMillis);
233
240
249 void setAckGroupingTimeMs(long ackGroupingMillis);
250
257
264 void setAckGroupingMaxSize(long maxGroupingSize);
265
272
280 void setBrokerConsumerStatsCacheTimeInMs(const long cacheTimeInMs);
281
286
291
295 const CryptoKeyReaderPtr getCryptoKeyReader() const;
296
302 ConsumerConfiguration& setCryptoKeyReader(CryptoKeyReaderPtr cryptoKeyReader);
303
307 ConsumerCryptoFailureAction getCryptoFailureAction() const;
308
312 ConsumerConfiguration& setCryptoFailureAction(ConsumerCryptoFailureAction action);
313
317 bool isReadCompacted() const;
318
332 void setReadCompacted(bool compacted);
333
341 void setPatternAutoDiscoveryPeriod(int periodInSeconds);
342
347
354 void setSubscriptionInitialPosition(InitialPosition subscriptionInitialPosition);
355
359 InitialPosition getSubscriptionInitialPosition() const;
360
368
373
381 bool hasProperty(const std::string& name) const;
382
389 const std::string& getProperty(const std::string& name) const;
390
394 std::map<std::string, std::string>& getProperties() const;
395
401 ConsumerConfiguration& setProperty(const std::string& name, const std::string& value);
402
406 ConsumerConfiguration& setProperties(const std::map<std::string, std::string>& properties);
407
408 friend class PulsarWrapper;
409
410 private:
411 std::shared_ptr<ConsumerConfigurationImpl> impl_;
412};
413} // namespace pulsar
414#endif /* PULSAR_CONSUMERCONFIGURATION_H_ */
Definition: ConsumerConfiguration.h:51
ConsumerConfiguration & setProperties(const std::map< std::string, std::string > &properties)
ConsumerType getConsumerType() const
long getBrokerConsumerStatsCacheTimeInMs() const
void setReceiverQueueSize(int size)
MessageListener getMessageListener() const
ConsumerCryptoFailureAction getCryptoFailureAction() const
long getUnAckedMessagesTimeoutMs() const
void setBrokerConsumerStatsCacheTimeInMs(const long cacheTimeInMs)
bool isReplicateSubscriptionStateEnabled() const
ConsumerConfiguration & setConsumerType(ConsumerType consumerType)
int getPatternAutoDiscoveryPeriod() const
ConsumerConfiguration & setKeySharedPolicy(KeySharedPolicy keySharedPolicy)
void setPatternAutoDiscoveryPeriod(int periodInSeconds)
void setAckGroupingMaxSize(long maxGroupingSize)
std::map< std::string, std::string > & getProperties() const
InitialPosition getSubscriptionInitialPosition() const
const CryptoKeyReaderPtr getCryptoKeyReader() const
void setReplicateSubscriptionStateEnabled(bool enabled)
ConsumerConfiguration & setSchema(const SchemaInfo &schemaInfo)
long getNegativeAckRedeliveryDelayMs() const
bool hasProperty(const std::string &name) const
const std::string & getProperty(const std::string &name) const
void setTickDurationInMs(const uint64_t milliSeconds)
ConsumerConfiguration & setMessageListener(MessageListener messageListener)
void setConsumerName(const std::string &consumerName)
void setMaxTotalReceiverQueueSizeAcrossPartitions(int maxTotalReceiverQueueSizeAcrossPartitions)
ConsumerConfiguration & setCryptoKeyReader(CryptoKeyReaderPtr cryptoKeyReader)
ConsumerConfiguration & setCryptoFailureAction(ConsumerCryptoFailureAction action)
void setSubscriptionInitialPosition(InitialPosition subscriptionInitialPosition)
int getMaxTotalReceiverQueueSizeAcrossPartitions() const
ConsumerConfiguration & setProperty(const std::string &name, const std::string &value)
const SchemaInfo & getSchema() const
void setUnAckedMessagesTimeoutMs(const uint64_t milliSeconds)
KeySharedPolicy getKeySharedPolicy() const
void setReadCompacted(bool compacted)
ConsumerConfiguration clone() const
void setNegativeAckRedeliveryDelayMs(long redeliveryDelayMillis)
const std::string & getConsumerName() const
void setAckGroupingTimeMs(long ackGroupingMillis)
Definition: Consumer.h:35
Definition: KeySharedPolicy.h:53
Definition: Message.h:42
Definition: Schema.h:118
Definition: Authentication.h:30
std::function< void(Consumer consumer, const Message &msg)> MessageListener
Callback definition for MessageListener.
Definition: ConsumerConfiguration.h:44
ConsumerType
Definition: ConsumerType.h:24
std::function< void(Result result)> ResultCallback
Callback definition for non-data operation.
Definition: ConsumerConfiguration.h:40
Result
Definition: Result.h:31