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;
32
36class PULSAR_PUBLIC Reader {
37 public:
42
46 const std::string& getTopic() const;
47
59
69 Result readNext(Message& msg, int timeoutMs);
70
77
83 void closeAsync(ResultCallback callback);
84
88 void hasMessageAvailableAsync(HasMessageAvailableCallback callback);
89
93 Result hasMessageAvailable(bool& hasMessageAvailable);
94
105 Result seek(const MessageId& msgId);
106
113 Result seek(uint64_t timestamp);
114
125 void seekAsync(const MessageId& msgId, ResultCallback callback);
126
133 void seekAsync(uint64_t timestamp, ResultCallback callback);
134
138 bool isConnected() const;
139
144 void getLastMessageIdAsync(GetLastMessageIdCallback callback);
145
150
151 private:
152 typedef std::shared_ptr<ReaderImpl> ReaderImplPtr;
153 ReaderImplPtr impl_;
154 explicit Reader(ReaderImplPtr);
155
156 friend class PulsarFriend;
157 friend class PulsarWrapper;
158 friend class ReaderImpl;
159 friend class ReaderTest;
160};
161} // namespace pulsar
162
163#endif /* PULSAR_READER_HPP_ */
Definition: Message.h:42
Definition: MessageId.h:32
Definition: Reader.h:36
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:43
Result
Definition: Result.h:31