21#include <pulsar/defines.h>
27#include <pulsar/c/result.h>
28#include <pulsar/c/message.h>
32typedef struct _pulsar_consumer pulsar_consumer_t;
34typedef void (*pulsar_result_callback)(pulsar_result,
void *);
39PULSAR_PUBLIC
const char *pulsar_consumer_get_topic(pulsar_consumer_t *consumer);
44PULSAR_PUBLIC
const char *pulsar_consumer_get_subscription_name(pulsar_consumer_t *consumer);
59PULSAR_PUBLIC pulsar_result pulsar_consumer_unsubscribe(pulsar_consumer_t *consumer);
72PULSAR_PUBLIC
void pulsar_consumer_unsubscribe_async(pulsar_consumer_t *consumer,
73 pulsar_result_callback callback,
void *ctx);
85PULSAR_PUBLIC pulsar_result pulsar_consumer_receive(pulsar_consumer_t *consumer, pulsar_message_t **msg);
95PULSAR_PUBLIC pulsar_result pulsar_consumer_receive_with_timeout(pulsar_consumer_t *consumer,
96 pulsar_message_t **msg,
int timeoutMs);
109PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge(pulsar_consumer_t *consumer,
110 pulsar_message_t *message);
112PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge_id(pulsar_consumer_t *consumer,
113 pulsar_message_id_t *messageId);
124PULSAR_PUBLIC
void pulsar_consumer_acknowledge_async(pulsar_consumer_t *consumer, pulsar_message_t *message,
125 pulsar_result_callback callback,
void *ctx);
127PULSAR_PUBLIC
void pulsar_consumer_acknowledge_async_id(pulsar_consumer_t *consumer,
128 pulsar_message_id_t *messageId,
129 pulsar_result_callback callback,
void *ctx);
148PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge_cumulative(pulsar_consumer_t *consumer,
149 pulsar_message_t *message);
151PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge_cumulative_id(pulsar_consumer_t *consumer,
152 pulsar_message_id_t *messageId);
164PULSAR_PUBLIC
void pulsar_consumer_acknowledge_cumulative_async(pulsar_consumer_t *consumer,
165 pulsar_message_t *message,
166 pulsar_result_callback callback,
void *ctx);
168PULSAR_PUBLIC
void pulsar_consumer_acknowledge_cumulative_async_id(pulsar_consumer_t *consumer,
169 pulsar_message_id_t *messageId,
170 pulsar_result_callback callback,
185PULSAR_PUBLIC
void pulsar_consumer_negative_acknowledge(pulsar_consumer_t *consumer,
186 pulsar_message_t *message);
200PULSAR_PUBLIC
void pulsar_consumer_negative_acknowledge_id(pulsar_consumer_t *consumer,
201 pulsar_message_id_t *messageId);
203PULSAR_PUBLIC pulsar_result pulsar_consumer_close(pulsar_consumer_t *consumer);
205PULSAR_PUBLIC
void pulsar_consumer_close_async(pulsar_consumer_t *consumer, pulsar_result_callback callback,
208PULSAR_PUBLIC
void pulsar_consumer_free(pulsar_consumer_t *consumer);
213PULSAR_PUBLIC pulsar_result pulsar_consumer_pause_message_listener(pulsar_consumer_t *consumer);
219PULSAR_PUBLIC pulsar_result resume_message_listener(pulsar_consumer_t *consumer);
230PULSAR_PUBLIC
void pulsar_consumer_redeliver_unacknowledged_messages(pulsar_consumer_t *consumer);
232PULSAR_PUBLIC
void pulsar_consumer_seek_async(pulsar_consumer_t *consumer, pulsar_message_id_t *messageId,
233 pulsar_result_callback callback,
void *ctx);
235PULSAR_PUBLIC pulsar_result pulsar_consumer_seek(pulsar_consumer_t *consumer, pulsar_message_id_t *messageId);
237PULSAR_PUBLIC
int pulsar_consumer_is_connected(pulsar_consumer_t *consumer);