master
h 37 lines 999 Bytes
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 #ifndef NETDATA_EXPORTING_PUBSUB_PUBLISH_H
4 #define NETDATA_EXPORTING_PUBSUB_PUBLISH_H
5
6 #define ERROR_LINE_MAX 1023
7
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11
12 struct pubsub_specific_data {
13 void *stub;
14 void *request;
15 void *completion_queue;
16
17 void *responses;
18 size_t last_tag;
19 };
20
21 int pubsub_init(
22 void *pubsub_specific_data_p, char *error_message, const char *destination, const char *credentials_file,
23 const char *project_id, const char *topic_id);
24 void pubsub_cleanup(void *pubsub_specific_data_p);
25
26 int pubsub_add_message(void *pubsub_specific_data_p, char *data);
27
28 int pubsub_publish(void *pubsub_specific_data_p, char *error_message, size_t buffered_metrics, size_t buffered_bytes);
29 int pubsub_get_result(
30 void *pubsub_specific_data_p, char *error_message,
31 size_t *sent_metrics, size_t *sent_bytes, size_t *lost_metrics, size_t *lost_bytes);
32
33 #ifdef __cplusplus
34 }
35 #endif
36
37 #endif //NETDATA_EXPORTING_PUBSUB_PUBLISH_H