26 #include <pulsar/defines.h>
30 #include "string_map.h"
32 typedef struct _pulsar_message pulsar_message_t;
33 typedef struct _pulsar_message_id pulsar_message_id_t;
35 PULSAR_PUBLIC pulsar_message_t *pulsar_message_create();
36 PULSAR_PUBLIC
void pulsar_message_free(pulsar_message_t *message);
40 PULSAR_PUBLIC
void pulsar_message_set_content(pulsar_message_t *message,
const void *data,
size_t size);
47 PULSAR_PUBLIC
void pulsar_message_set_allocated_content(pulsar_message_t *message,
void *data,
size_t size);
49 PULSAR_PUBLIC
void pulsar_message_set_property(pulsar_message_t *message,
const char *name,
56 PULSAR_PUBLIC
void pulsar_message_set_partition_key(pulsar_message_t *message,
const char *partitionKey);
62 PULSAR_PUBLIC
void pulsar_message_set_ordering_key(pulsar_message_t *message,
const char *orderingKey);
67 PULSAR_PUBLIC
void pulsar_message_set_event_timestamp(pulsar_message_t *message, uint64_t eventTimestamp);
84 PULSAR_PUBLIC
void pulsar_message_set_sequence_id(pulsar_message_t *message, int64_t sequenceId);
91 PULSAR_PUBLIC
void pulsar_message_set_deliver_after(pulsar_message_t *message, uint64_t delayMillis);
99 PULSAR_PUBLIC
void pulsar_message_set_deliver_at(pulsar_message_t *message, uint64_t deliveryTimestampMillis);
111 PULSAR_PUBLIC
void pulsar_message_set_replication_clusters(pulsar_message_t *message,
const char **clusters,
119 PULSAR_PUBLIC
void pulsar_message_disable_replication(pulsar_message_t *message,
int flag);
129 PULSAR_PUBLIC pulsar_string_map_t *pulsar_message_get_properties(pulsar_message_t *message);
138 PULSAR_PUBLIC
int pulsar_message_has_property(pulsar_message_t *message,
const char *name);
146 PULSAR_PUBLIC
const char *pulsar_message_get_property(pulsar_message_t *message,
const char *name);
154 PULSAR_PUBLIC
const void *pulsar_message_get_data(pulsar_message_t *message);
161 PULSAR_PUBLIC uint32_t pulsar_message_get_length(pulsar_message_t *message);
172 PULSAR_PUBLIC pulsar_message_id_t *pulsar_message_get_message_id(pulsar_message_t *message);
178 PULSAR_PUBLIC
const char *pulsar_message_get_partitionKey(pulsar_message_t *message);
179 PULSAR_PUBLIC
int pulsar_message_has_partition_key(pulsar_message_t *message);
185 PULSAR_PUBLIC
const char *pulsar_message_get_orderingKey(pulsar_message_t *message);
186 PULSAR_PUBLIC
int pulsar_message_has_ordering_key(pulsar_message_t *message);
192 PULSAR_PUBLIC uint64_t pulsar_message_get_publish_timestamp(pulsar_message_t *message);
197 PULSAR_PUBLIC uint64_t pulsar_message_get_event_timestamp(pulsar_message_t *message);
199 PULSAR_PUBLIC
const char *pulsar_message_get_topic_name(pulsar_message_t *message);
201 PULSAR_PUBLIC
int pulsar_message_get_redelivery_count(pulsar_message_t *message);
203 PULSAR_PUBLIC
int pulsar_message_has_schema_version(pulsar_message_t *message);
205 PULSAR_PUBLIC
const char *pulsar_message_get_schemaVersion(pulsar_message_t *message);
207 PULSAR_PUBLIC
void pulsar_message_set_schema_version(pulsar_message_t *message,
const char *schemaVersion);