26#include <pulsar/defines.h>
27#include <pulsar/c/result.h>
28#include <pulsar/c/message.h>
32typedef struct _pulsar_producer pulsar_producer_t;
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);
41PULSAR_PUBLIC
const char *pulsar_producer_get_topic(pulsar_producer_t *producer);
46PULSAR_PUBLIC
const char *pulsar_producer_get_producer_name(pulsar_producer_t *producer);
64PULSAR_PUBLIC pulsar_result pulsar_producer_send(pulsar_producer_t *producer, pulsar_message_t *msg);
80PULSAR_PUBLIC
void pulsar_producer_send_async(pulsar_producer_t *producer, pulsar_message_t *msg,
81 pulsar_send_callback callback,
void *ctx);
95PULSAR_PUBLIC int64_t pulsar_producer_get_last_sequence_id(pulsar_producer_t *producer);
106PULSAR_PUBLIC pulsar_result pulsar_producer_close(pulsar_producer_t *producer);
115PULSAR_PUBLIC
void pulsar_producer_close_async(pulsar_producer_t *producer, pulsar_close_callback callback,
119PULSAR_PUBLIC pulsar_result pulsar_producer_flush(pulsar_producer_t *producer);
121PULSAR_PUBLIC
void pulsar_producer_flush_async(pulsar_producer_t *producer, pulsar_flush_callback callback,
124PULSAR_PUBLIC
void pulsar_producer_free(pulsar_producer_t *producer);
126PULSAR_PUBLIC
int pulsar_producer_is_connected(pulsar_producer_t *producer);