pulsar-client-cpp
ConsumerConfiguration.h
1 
19 #ifndef PULSAR_CONSUMERCONFIGURATION_H_
20 #define PULSAR_CONSUMERCONFIGURATION_H_
21 
22 #include <functional>
23 #include <memory>
24 #include <pulsar/Result.h>
25 #include <pulsar/ConsumerType.h>
26 #include <pulsar/Message.h>
27 #include <pulsar/Schema.h>
28 #include <pulsar/ConsumerCryptoFailureAction.h>
29 #include <pulsar/CryptoKeyReader.h>
30 #include <pulsar/InitialPosition.h>
31 
32 #pragma GCC visibility push(default)
33 namespace pulsar {
34 
35 class Consumer;
36 class PulsarWrapper;
37 
39 typedef std::function<void(Result result)> ResultCallback;
40 typedef std::function<void(Result, const Message& msg)> ReceiveCallback;
41 
43 typedef std::function<void(Consumer consumer, const Message& msg)> MessageListener;
44 
45 class ConsumerConfigurationImpl;
46 
51  public:
56 
65  ConsumerConfiguration& setSchema(const SchemaInfo& schemaInfo);
66 
70  const SchemaInfo& getSchema() const;
71 
85  ConsumerType getConsumerType() const;
86 
93  MessageListener getMessageListener() const;
94  bool hasMessageListener() const;
95 
117  void setReceiverQueueSize(int size);
118  int getReceiverQueueSize() const;
119 
128  void setMaxTotalReceiverQueueSizeAcrossPartitions(int maxTotalReceiverQueueSizeAcrossPartitions);
129 
134 
135  void setConsumerName(const std::string&);
136  const std::string& getConsumerName() const;
137 
145  void setUnAckedMessagesTimeoutMs(const uint64_t milliSeconds);
146 
150  long getUnAckedMessagesTimeoutMs() const;
151 
156  void setBrokerConsumerStatsCacheTimeInMs(const long cacheTimeInMs);
157 
162 
163  bool isEncryptionEnabled() const;
164  const CryptoKeyReaderPtr getCryptoKeyReader() const;
165  ConsumerConfiguration& setCryptoKeyReader(CryptoKeyReaderPtr cryptoKeyReader);
166 
167  ConsumerCryptoFailureAction getCryptoFailureAction() const;
168  ConsumerConfiguration& setCryptoFailureAction(ConsumerCryptoFailureAction action);
169 
170  bool isReadCompacted() const;
171  void setReadCompacted(bool compacted);
172 
180  void setPatternAutoDiscoveryPeriod(int periodInSeconds);
181  int getPatternAutoDiscoveryPeriod() const;
182 
183  void setSubscriptionInitialPosition(InitialPosition subscriptionInitialPosition);
184  InitialPosition getSubscriptionInitialPosition() const;
185 
193  bool hasProperty(const std::string& name) const;
194 
201  const std::string& getProperty(const std::string& name) const;
202 
206  std::map<std::string, std::string>& getProperties() const;
207 
213  ConsumerConfiguration& setProperty(const std::string& name, const std::string& value);
214 
218  ConsumerConfiguration& setProperties(const std::map<std::string, std::string>& properties);
219 
220  friend class PulsarWrapper;
221 
222  private:
223  std::shared_ptr<ConsumerConfigurationImpl> impl_;
224 };
225 } // namespace pulsar
226 #pragma GCC visibility pop
227 #endif /* PULSAR_CONSUMERCONFIGURATION_H_ */
pulsar::ConsumerConfiguration::setProperty
ConsumerConfiguration & setProperty(const std::string &name, const std::string &value)
pulsar::ConsumerConfiguration::setBrokerConsumerStatsCacheTimeInMs
void setBrokerConsumerStatsCacheTimeInMs(const long cacheTimeInMs)
pulsar::Result
Result
Definition: Result.h:31
pulsar::ConsumerConfiguration::setPatternAutoDiscoveryPeriod
void setPatternAutoDiscoveryPeriod(int periodInSeconds)
pulsar::ConsumerConfiguration::setReceiverQueueSize
void setReceiverQueueSize(int size)
pulsar::ConsumerConfiguration::setMessageListener
ConsumerConfiguration & setMessageListener(MessageListener messageListener)
pulsar::ConsumerConfiguration::getMaxTotalReceiverQueueSizeAcrossPartitions
int getMaxTotalReceiverQueueSizeAcrossPartitions() const
pulsar::ConsumerConfiguration
Definition: ConsumerConfiguration.h:50
pulsar::ConsumerConfiguration::setMaxTotalReceiverQueueSizeAcrossPartitions
void setMaxTotalReceiverQueueSizeAcrossPartitions(int maxTotalReceiverQueueSizeAcrossPartitions)
pulsar::ConsumerConfiguration::getSchema
const SchemaInfo & getSchema() const
pulsar::ConsumerConfiguration::getProperty
const std::string & getProperty(const std::string &name) const
pulsar::MessageListener
std::function< void(Consumer consumer, const Message &msg)> MessageListener
Callback definition for MessageListener.
Definition: ConsumerConfiguration.h:43
pulsar::ConsumerType
ConsumerType
Definition: ConsumerType.h:24
pulsar::ConsumerConfiguration::setUnAckedMessagesTimeoutMs
void setUnAckedMessagesTimeoutMs(const uint64_t milliSeconds)
pulsar::Message
Definition: Message.h:43
pulsar::Consumer
Definition: Consumer.h:35
pulsar::SchemaInfo
Definition: Schema.h:118
pulsar::ConsumerConfiguration::setProperties
ConsumerConfiguration & setProperties(const std::map< std::string, std::string > &properties)
pulsar::ConsumerConfiguration::setSchema
ConsumerConfiguration & setSchema(const SchemaInfo &schemaInfo)
pulsar::ConsumerConfiguration::setConsumerType
ConsumerConfiguration & setConsumerType(ConsumerType consumerType)
pulsar
Definition: Authentication.h:31
pulsar::ConsumerConfiguration::getBrokerConsumerStatsCacheTimeInMs
long getBrokerConsumerStatsCacheTimeInMs() const
pulsar::ConsumerConfiguration::hasProperty
bool hasProperty(const std::string &name) const
pulsar::ConsumerConfiguration::getProperties
std::map< std::string, std::string > & getProperties() const
pulsar::ConsumerConfiguration::getUnAckedMessagesTimeoutMs
long getUnAckedMessagesTimeoutMs() const
pulsar::ResultCallback
std::function< void(Result result)> ResultCallback
Callback definition for non-data operation.
Definition: ConsumerConfiguration.h:36