pulsar-client-cpp
Loading...
Searching...
No Matches
Reader.h
1
19#ifndef PULSAR_READER_HPP_
20#define PULSAR_READER_HPP_
21
22#include <pulsar/defines.h>
23#include <pulsar/Message.h>
24#include <pulsar/ReaderConfiguration.h>
25
26namespace pulsar {
27class PulsarWrapper;
28class PulsarFriend;
29class ReaderImpl;
30
31typedef std::function<void(Result result, bool hasMessageAvailable)> HasMessageAvailableCallback;
32typedef std::function<void(Result result, MessageId messageId)> GetLastMessageIdCallback;
33
37class PULSAR_PUBLIC Reader {
38 public:
43
47 const std::string& getTopic() const;
48
60
70 Result readNext(Message& msg, int timeoutMs);
71
78
84 void closeAsync(ResultCallback callback);
85
89 void hasMessageAvailableAsync(HasMessageAvailableCallback callback);
90
94 Result hasMessageAvailable(bool& hasMessageAvailable);
95
106 Result seek(const MessageId& msgId);
107
114 Result seek(uint64_t timestamp);
115
126 void seekAsync(const MessageId& msgId, ResultCallback callback);
127
134 void seekAsync(uint64_t timestamp, ResultCallback callback);
135
139 bool isConnected() const;
140
145 void getLastMessageIdAsync(GetLastMessageIdCallback callback);
146
151
152 private:
153 typedef std::shared_ptr<ReaderImpl> ReaderImplPtr;
154 ReaderImplPtr impl_;
155 explicit Reader(ReaderImplPtr);
156
157 friend class PulsarFriend;
158 friend class PulsarWrapper;
159 friend class ReaderImpl;
160 friend class ReaderTest;
161};
162} // namespace pulsar
163
164#endif /* PULSAR_READER_HPP_ */
Definition: Message.h:42
Definition: MessageId.h:32
Definition: Reader.h:37
void hasMessageAvailableAsync(HasMessageAvailableCallback callback)
Result readNext(Message &msg)
const std::string & getTopic() const
void getLastMessageIdAsync(GetLastMessageIdCallback callback)
void closeAsync(ResultCallback callback)
Result readNext(Message &msg, int timeoutMs)
Result seek(const MessageId &msgId)
Result hasMessageAvailable(bool &hasMessageAvailable)
Result getLastMessageId(MessageId &messageId)
bool isConnected() const
Result close()
void seekAsync(const MessageId &msgId, ResultCallback callback)
void seekAsync(uint64_t timestamp, ResultCallback callback)
Result seek(uint64_t timestamp)
Definition: Authentication.h:30
std::function< void(Result result)> ResultCallback
Callback definition for non-data operation.
Definition: ConsumerConfiguration.h:40
Result
Definition: Result.h:31