pulsar-client-cpp
Loading...
Searching...
No Matches
producer.h
1
20#pragma once
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26#include <pulsar/defines.h>
27#include <pulsar/c/result.h>
28#include <pulsar/c/message.h>
29
30#include <stdint.h>
31
32typedef struct _pulsar_producer pulsar_producer_t;
33
34typedef void (*pulsar_send_callback)(pulsar_result, pulsar_message_id_t *msgId, void *ctx);
35typedef void (*pulsar_close_callback)(pulsar_result, void *ctx);
36typedef void (*pulsar_flush_callback)(pulsar_result, void *ctx);
37
41PULSAR_PUBLIC const char *pulsar_producer_get_topic(pulsar_producer_t *producer);
42
46PULSAR_PUBLIC const char *pulsar_producer_get_producer_name(pulsar_producer_t *producer);
47
64PULSAR_PUBLIC pulsar_result pulsar_producer_send(pulsar_producer_t *producer, pulsar_message_t *msg);
65
80PULSAR_PUBLIC void pulsar_producer_send_async(pulsar_producer_t *producer, pulsar_message_t *msg,
81 pulsar_send_callback callback, void *ctx);
82
95PULSAR_PUBLIC int64_t pulsar_producer_get_last_sequence_id(pulsar_producer_t *producer);
96
106PULSAR_PUBLIC pulsar_result pulsar_producer_close(pulsar_producer_t *producer);
107
115PULSAR_PUBLIC void pulsar_producer_close_async(pulsar_producer_t *producer, pulsar_close_callback callback,
116 void *ctx);
117
118// Flush all the messages buffered in the client and wait until all messages have been successfully persisted.
119PULSAR_PUBLIC pulsar_result pulsar_producer_flush(pulsar_producer_t *producer);
120
121PULSAR_PUBLIC void pulsar_producer_flush_async(pulsar_producer_t *producer, pulsar_flush_callback callback,
122 void *ctx);
123
124PULSAR_PUBLIC void pulsar_producer_free(pulsar_producer_t *producer);
125
126PULSAR_PUBLIC int pulsar_producer_is_connected(pulsar_producer_t *producer);
127
128#ifdef __cplusplus
129}
130#endif