pulsar-client-cpp
Loading...
Searching...
No Matches
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/result.h>
28#include <pulsar/c/message.h>
29
30#include <stdint.h>
31
32typedef struct _pulsar_consumer pulsar_consumer_t;
33
34typedef void (*pulsar_result_callback)(pulsar_result, void *);
35
36typedef void (*pulsar_receive_callback)(pulsar_result result, pulsar_message_t *msg, void *ctx);
37
41PULSAR_PUBLIC const char *pulsar_consumer_get_topic(pulsar_consumer_t *consumer);
42
46PULSAR_PUBLIC const char *pulsar_consumer_get_subscription_name(pulsar_consumer_t *consumer);
47
61PULSAR_PUBLIC pulsar_result pulsar_consumer_unsubscribe(pulsar_consumer_t *consumer);
62
74PULSAR_PUBLIC void pulsar_consumer_unsubscribe_async(pulsar_consumer_t *consumer,
75 pulsar_result_callback callback, void *ctx);
76
87PULSAR_PUBLIC pulsar_result pulsar_consumer_receive(pulsar_consumer_t *consumer, pulsar_message_t **msg);
88
97PULSAR_PUBLIC pulsar_result pulsar_consumer_receive_with_timeout(pulsar_consumer_t *consumer,
98 pulsar_message_t **msg, int timeoutMs);
99
108PULSAR_PUBLIC void pulsar_consumer_receive_async(pulsar_consumer_t *consumer,
109 pulsar_receive_callback callback, void *ctx);
110
122PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge(pulsar_consumer_t *consumer,
123 pulsar_message_t *message);
124
125PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge_id(pulsar_consumer_t *consumer,
126 pulsar_message_id_t *messageId);
127
137PULSAR_PUBLIC void pulsar_consumer_acknowledge_async(pulsar_consumer_t *consumer, pulsar_message_t *message,
138 pulsar_result_callback callback, void *ctx);
139
140PULSAR_PUBLIC void pulsar_consumer_acknowledge_async_id(pulsar_consumer_t *consumer,
141 pulsar_message_id_t *messageId,
142 pulsar_result_callback callback, void *ctx);
143
161PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge_cumulative(pulsar_consumer_t *consumer,
162 pulsar_message_t *message);
163
164PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge_cumulative_id(pulsar_consumer_t *consumer,
165 pulsar_message_id_t *messageId);
166
177PULSAR_PUBLIC void pulsar_consumer_acknowledge_cumulative_async(pulsar_consumer_t *consumer,
178 pulsar_message_t *message,
179 pulsar_result_callback callback, void *ctx);
180
181PULSAR_PUBLIC void pulsar_consumer_acknowledge_cumulative_async_id(pulsar_consumer_t *consumer,
182 pulsar_message_id_t *messageId,
183 pulsar_result_callback callback,
184 void *ctx);
185
198PULSAR_PUBLIC void pulsar_consumer_negative_acknowledge(pulsar_consumer_t *consumer,
199 pulsar_message_t *message);
200
213PULSAR_PUBLIC void pulsar_consumer_negative_acknowledge_id(pulsar_consumer_t *consumer,
214 pulsar_message_id_t *messageId);
215
216PULSAR_PUBLIC pulsar_result pulsar_consumer_close(pulsar_consumer_t *consumer);
217
218PULSAR_PUBLIC void pulsar_consumer_close_async(pulsar_consumer_t *consumer, pulsar_result_callback callback,
219 void *ctx);
220
221PULSAR_PUBLIC void pulsar_consumer_free(pulsar_consumer_t *consumer);
222
223/*
224 * Pause receiving messages via the messageListener, till resumeMessageListener() is called.
225 */
226PULSAR_PUBLIC pulsar_result pulsar_consumer_pause_message_listener(pulsar_consumer_t *consumer);
227
228/*
229 * Resume receiving the messages via the messageListener.
230 * Asynchronously receive all the messages enqueued from time pauseMessageListener() was called.
231 */
232PULSAR_PUBLIC pulsar_result resume_message_listener(pulsar_consumer_t *consumer);
233
243PULSAR_PUBLIC void pulsar_consumer_redeliver_unacknowledged_messages(pulsar_consumer_t *consumer);
244
245PULSAR_PUBLIC void pulsar_consumer_seek_async(pulsar_consumer_t *consumer, pulsar_message_id_t *messageId,
246 pulsar_result_callback callback, void *ctx);
247
248PULSAR_PUBLIC pulsar_result pulsar_consumer_seek(pulsar_consumer_t *consumer, pulsar_message_id_t *messageId);
249
250PULSAR_PUBLIC int pulsar_consumer_is_connected(pulsar_consumer_t *consumer);
251
252PULSAR_PUBLIC pulsar_result pulsar_consumer_get_last_message_id(pulsar_consumer_t *consumer,
253 pulsar_message_id_t *messageId);
254
255#ifdef __cplusplus
256}
257#endif