diff options
Diffstat (limited to 'src/streaming/protocol/command-function.c')
-rw-r--r-- | src/streaming/protocol/command-function.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/streaming/protocol/command-function.c b/src/streaming/protocol/command-function.c new file mode 100644 index 000000000..d9b28eb4e --- /dev/null +++ b/src/streaming/protocol/command-function.c @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +#include "commands.h" +#include "plugins.d/pluginsd_internals.h" + +void rrdpush_send_global_functions(RRDHOST *host) { + if(!stream_has_capability(host->sender, STREAM_CAP_FUNCTIONS)) + return; + + if(unlikely(!rrdhost_can_send_definitions_to_parent(host))) + return; + + BUFFER *wb = sender_start(host->sender); + + rrd_global_functions_expose_rrdpush(host, wb, stream_has_capability(host->sender, STREAM_CAP_DYNCFG)); + + sender_commit(host->sender, wb, STREAM_TRAFFIC_TYPE_FUNCTIONS); + + sender_thread_buffer_free(); +} |