pulsar-client-cpp
message.h
1 
20 #pragma once
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 #include <pulsar/defines.h>
27 #include <stddef.h>
28 #include <stdint.h>
29 
30 #include "string_map.h"
31 
32 typedef struct _pulsar_message pulsar_message_t;
33 typedef struct _pulsar_message_id pulsar_message_id_t;
34 
35 PULSAR_PUBLIC pulsar_message_t *pulsar_message_create();
36 PULSAR_PUBLIC void pulsar_message_free(pulsar_message_t *message);
37 
39 
40 PULSAR_PUBLIC void pulsar_message_set_content(pulsar_message_t *message, const void *data, size_t size);
41 
47 PULSAR_PUBLIC void pulsar_message_set_allocated_content(pulsar_message_t *message, void *data, size_t size);
48 
49 PULSAR_PUBLIC void pulsar_message_set_property(pulsar_message_t *message, const char *name,
50  const char *value);
51 
56 PULSAR_PUBLIC void pulsar_message_set_partition_key(pulsar_message_t *message, const char *partitionKey);
57 
62 PULSAR_PUBLIC void pulsar_message_set_ordering_key(pulsar_message_t *message, const char *orderingKey);
63 
67 PULSAR_PUBLIC void pulsar_message_set_event_timestamp(pulsar_message_t *message, uint64_t eventTimestamp);
68 
84 PULSAR_PUBLIC void pulsar_message_set_sequence_id(pulsar_message_t *message, int64_t sequenceId);
85 
91 PULSAR_PUBLIC void pulsar_message_set_deliver_after(pulsar_message_t *message, uint64_t delayMillis);
92 
99 PULSAR_PUBLIC void pulsar_message_set_deliver_at(pulsar_message_t *message, uint64_t deliveryTimestampMillis);
100 
111 PULSAR_PUBLIC void pulsar_message_set_replication_clusters(pulsar_message_t *message, const char **clusters,
112  size_t size);
113 
119 PULSAR_PUBLIC void pulsar_message_disable_replication(pulsar_message_t *message, int flag);
120 
122 
129 PULSAR_PUBLIC pulsar_string_map_t *pulsar_message_get_properties(pulsar_message_t *message);
130 
138 PULSAR_PUBLIC int pulsar_message_has_property(pulsar_message_t *message, const char *name);
139 
146 PULSAR_PUBLIC const char *pulsar_message_get_property(pulsar_message_t *message, const char *name);
147 
154 PULSAR_PUBLIC const void *pulsar_message_get_data(pulsar_message_t *message);
155 
161 PULSAR_PUBLIC uint32_t pulsar_message_get_length(pulsar_message_t *message);
162 
172 PULSAR_PUBLIC pulsar_message_id_t *pulsar_message_get_message_id(pulsar_message_t *message);
173 
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);
180 
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);
187 
192 PULSAR_PUBLIC uint64_t pulsar_message_get_publish_timestamp(pulsar_message_t *message);
193 
197 PULSAR_PUBLIC uint64_t pulsar_message_get_event_timestamp(pulsar_message_t *message);
198 
199 PULSAR_PUBLIC const char *pulsar_message_get_topic_name(pulsar_message_t *message);
200 
201 PULSAR_PUBLIC int pulsar_message_get_redelivery_count(pulsar_message_t *message);
202 
203 PULSAR_PUBLIC int pulsar_message_has_schema_version(pulsar_message_t *message);
204 
205 PULSAR_PUBLIC const char *pulsar_message_get_schemaVersion(pulsar_message_t *message);
206 
207 PULSAR_PUBLIC void pulsar_message_set_schema_version(pulsar_message_t *message, const char *schemaVersion);
208 
209 #ifdef __cplusplus
210 }
211 #endif