| 1 | // SPDX-License-Identifier: GPL-3.0-or-later |
| 2 | |
| 3 | #ifndef NETDATA_STREAMING_PROTCOL_COMMANDS_H |
| 4 | #define NETDATA_STREAMING_PROTCOL_COMMANDS_H |
| 5 | |
| 6 | #include "database/rrd.h" |
| 7 | #include "../stream.h" |
| 8 | |
| 9 | typedef struct rrdset_stream_buffer { |
| 10 | STREAM_CAPABILITIES capabilities; |
| 11 | bool v2; |
| 12 | bool begin_v2_added; |
| 13 | time_t wall_clock_time; |
| 14 | RRDSET_FLAGS rrdset_flags; |
| 15 | time_t last_point_end_time_s; |
| 16 | BUFFER *wb; |
| 17 | } RRDSET_STREAM_BUFFER; |
| 18 | |
| 19 | RRDSET_STREAM_BUFFER stream_send_metrics_init(RRDSET *st, time_t wall_clock_time); |
| 20 | |
| 21 | void stream_sender_get_node_and_claim_id_from_parent(struct sender_state *s, const char *claim_id_str, const char *node_id_str, const char *url); |
| 22 | void stream_receiver_send_node_and_claim_id_to_child(RRDHOST *host); |
| 23 | void stream_sender_clear_parent_claim_id(RRDHOST *host); |
| 24 | |
| 25 | void stream_sender_send_claimed_id(RRDHOST *host); |
| 26 | |
| 27 | void stream_send_global_functions(RRDHOST *host); |
| 28 | void stream_send_host_labels(RRDHOST *host); |
| 29 | |
| 30 | void stream_sender_send_custom_host_variables(RRDHOST *host); |
| 31 | void stream_sender_send_this_host_variable_now(RRDHOST *host, const RRDVAR_ACQUIRED *rva); |
| 32 | |
| 33 | bool stream_sender_send_rrdset_definition(BUFFER *wb, RRDSET *st); |
| 34 | bool stream_sender_send_rrdset_definition_now(RRDSET *st); |
| 35 | bool should_send_rrdset_matching(RRDSET *st, RRDSET_FLAGS flags); |
| 36 | |
| 37 | void stream_send_rrdset_metrics_v1(RRDSET_STREAM_BUFFER *rsb, RRDSET *st); |
| 38 | void stream_send_rrddim_metrics_v2(RRDSET_STREAM_BUFFER *rsb, RRDDIM *rd, usec_t point_end_time_ut, NETDATA_DOUBLE n, SN_FLAGS flags); |
| 39 | void stream_send_rrdset_metrics_finished(RRDSET_STREAM_BUFFER *rsb, RRDSET *st); |
| 40 | |
| 41 | #endif //NETDATA_STREAMING_PROTCOL_COMMANDS_H |