22 #include <pulsar/BrokerConsumerStats.h>
23 #include <pulsar/ConsumerConfiguration.h>
24 #include <pulsar/TypedMessage.h>
25 #include <pulsar/defines.h>
31 class ConsumerImplBase;
33 typedef std::shared_ptr<ConsumerImplBase> ConsumerImplBasePtr;
48 const std::string& getTopic()
const;
53 const std::string& getSubscriptionName()
const;
98 auto result = receive(rawMsg);
113 template <
typename T>
116 auto result = receive(rawMsg, timeoutMs);
132 void receiveAsync(ReceiveCallback callback);
134 template <
typename T>
136 typename TypedMessage<T>::Decoder decoder) {
137 receiveAsync([callback, decoder](
Result result,
const Message& msg) {
165 void batchReceiveAsync(BatchReceiveCallback callback);
196 Result acknowledge(
const MessageIdList& messageIdList);
226 void acknowledgeAsync(
const MessageIdList& messageIdList,
ResultCallback callback);
319 void negativeAcknowledge(
const Message& message);
351 void negativeAcknowledge(
const MessageId& messageId);
367 Result pauseMessageListener();
373 Result resumeMessageListener();
384 void redeliverUnacknowledgedMessages();
411 void getBrokerConsumerStatsAsync(BrokerConsumerStatsCallback callback);
431 Result seek(uint64_t timestamp);
451 virtual void seekAsync(uint64_t timestamp,
ResultCallback callback);
456 bool isConnected()
const;
462 void getLastMessageIdAsync(GetLastMessageIdCallback callback);
470 ConsumerImplBasePtr impl_;
471 explicit Consumer(ConsumerImplBasePtr);
473 friend class PulsarFriend;
474 friend class PulsarWrapper;
475 friend class MultiTopicsConsumerImpl;
476 friend class ConsumerImpl;
477 friend class ClientImpl;
478 friend class ConsumerTest;