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