pubsub_publish.h 999 B

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