pulsar-client-cpp
All Classes Namespaces Functions Typedefs Enumerations Enumerator Pages
consumer.h
1
19#pragma once
20
21#include <pulsar/defines.h>
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27#include <pulsar/c/message.h>
28#include <pulsar/c/result.h>
29#include <stdint.h>
30
31typedef struct _pulsar_consumer pulsar_consumer_t;
32
33typedef void (*pulsar_result_callback)(pulsar_result, void *);
34
35typedef void (*pulsar_receive_callback)(pulsar_result result, pulsar_message_t *msg, void *ctx);
36
40PULSAR_PUBLIC const char *pulsar_consumer_get_topic(pulsar_consumer_t *consumer);
41
45PULSAR_PUBLIC const char *pulsar_consumer_get_subscription_name(pulsar_consumer_t *consumer);
46
60PULSAR_PUBLIC pulsar_result pulsar_consumer_unsubscribe(pulsar_consumer_t *consumer);
61
73PULSAR_PUBLIC void pulsar_consumer_unsubscribe_async(pulsar_consumer_t *consumer,
74 pulsar_result_callback callback, void *ctx);
75
86PULSAR_PUBLIC pulsar_result pulsar_consumer_receive(pulsar_consumer_t *consumer, pulsar_message_t **msg);
87
96PULSAR_PUBLIC pulsar_result pulsar_consumer_receive_with_timeout(pulsar_consumer_t *consumer,
97 pulsar_message_t **msg, int timeoutMs);
98
107PULSAR_PUBLIC void pulsar_consumer_receive_async(pulsar_consumer_t *consumer,
108 pulsar_receive_callback callback, void *ctx);
109
121PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge(pulsar_consumer_t *consumer,
122 pulsar_message_t *message);
123
124PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge_id(pulsar_consumer_t *consumer,
125 pulsar_message_id_t *messageId);
126
136PULSAR_PUBLIC void pulsar_consumer_acknowledge_async(pulsar_consumer_t *consumer, pulsar_message_t *message,
137 pulsar_result_callback callback, void *ctx);
138
139PULSAR_PUBLIC void pulsar_consumer_acknowledge_async_id(pulsar_consumer_t *consumer,
140 pulsar_message_id_t *messageId,
141 pulsar_result_callback callback, void *ctx);
142
160PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge_cumulative(pulsar_consumer_t *consumer,
161 pulsar_message_t *message);
162
163PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge_cumulative_id(pulsar_consumer_t *consumer,
164 pulsar_message_id_t *messageId);
165
176PULSAR_PUBLIC void pulsar_consumer_acknowledge_cumulative_async(pulsar_consumer_t *consumer,
177 pulsar_message_t *message,
178 pulsar_result_callback callback, void *ctx);
179
180PULSAR_PUBLIC void pulsar_consumer_acknowledge_cumulative_async_id(pulsar_consumer_t *consumer,
181 pulsar_message_id_t *messageId,
182 pulsar_result_callback callback,
183 void *ctx);
184
197PULSAR_PUBLIC void pulsar_consumer_negative_acknowledge(pulsar_consumer_t *consumer,
198 pulsar_message_t *message);
199
212PULSAR_PUBLIC void pulsar_consumer_negative_acknowledge_id(pulsar_consumer_t *consumer,
213 pulsar_message_id_t *messageId);
214
215PULSAR_PUBLIC pulsar_result pulsar_consumer_close(pulsar_consumer_t *consumer);
216
217PULSAR_PUBLIC void pulsar_consumer_close_async(pulsar_consumer_t *consumer, pulsar_result_callback callback,
218 void *ctx);
219
220PULSAR_PUBLIC void pulsar_consumer_free(pulsar_consumer_t *consumer);
221
222/*
223 * Pause receiving messages via the messageListener, till resumeMessageListener() is called.
224 */
225PULSAR_PUBLIC pulsar_result pulsar_consumer_pause_message_listener(pulsar_consumer_t *consumer);
226
227/*
228 * Resume receiving the messages via the messageListener.
229 * Asynchronously receive all the messages enqueued from time pauseMessageListener() was called.
230 */
231PULSAR_PUBLIC pulsar_result resume_message_listener(pulsar_consumer_t *consumer);
232
242PULSAR_PUBLIC void pulsar_consumer_redeliver_unacknowledged_messages(pulsar_consumer_t *consumer);
243
253PULSAR_PUBLIC void pulsar_consumer_seek_async(pulsar_consumer_t *consumer, pulsar_message_id_t *messageId,
254 pulsar_result_callback callback, void *ctx);
255
264PULSAR_PUBLIC pulsar_result pulsar_consumer_seek(pulsar_consumer_t *consumer, pulsar_message_id_t *messageId);
265
275PULSAR_PUBLIC void pulsar_consumer_seek_by_timestamp_async(pulsar_consumer_t *consumer, uint64_t timestamp,
276 pulsar_result_callback callback, void *ctx);
277
286PULSAR_PUBLIC pulsar_result pulsar_consumer_seek_by_timestamp(pulsar_consumer_t *consumer,
287 uint64_t timestamp);
288
289PULSAR_PUBLIC int pulsar_consumer_is_connected(pulsar_consumer_t *consumer);
290
291PULSAR_PUBLIC pulsar_result pulsar_consumer_get_last_message_id(pulsar_consumer_t *consumer,
292 pulsar_message_id_t *messageId);
293
294#ifdef __cplusplus
295}
296#endif