summaryrefslogtreecommitdiffstats
path: root/src/streaming/sender-internals.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/streaming/sender-internals.h')
-rw-r--r--src/streaming/sender-internals.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/streaming/sender-internals.h b/src/streaming/sender-internals.h
new file mode 100644
index 000000000..574369afa
--- /dev/null
+++ b/src/streaming/sender-internals.h
@@ -0,0 +1,48 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#ifndef NETDATA_SENDER_INTERNALS_H
+#define NETDATA_SENDER_INTERNALS_H
+
+#include "rrdpush.h"
+#include "h2o-common.h"
+#include "aclk/https_client.h"
+
+#define WORKER_SENDER_JOB_CONNECT 0
+#define WORKER_SENDER_JOB_PIPE_READ 1
+#define WORKER_SENDER_JOB_SOCKET_RECEIVE 2
+#define WORKER_SENDER_JOB_EXECUTE 3
+#define WORKER_SENDER_JOB_SOCKET_SEND 4
+#define WORKER_SENDER_JOB_DISCONNECT_BAD_HANDSHAKE 5
+#define WORKER_SENDER_JOB_DISCONNECT_OVERFLOW 6
+#define WORKER_SENDER_JOB_DISCONNECT_TIMEOUT 7
+#define WORKER_SENDER_JOB_DISCONNECT_POLL_ERROR 8
+#define WORKER_SENDER_JOB_DISCONNECT_SOCKET_ERROR 9
+#define WORKER_SENDER_JOB_DISCONNECT_SSL_ERROR 10
+#define WORKER_SENDER_JOB_DISCONNECT_PARENT_CLOSED 11
+#define WORKER_SENDER_JOB_DISCONNECT_RECEIVE_ERROR 12
+#define WORKER_SENDER_JOB_DISCONNECT_SEND_ERROR 13
+#define WORKER_SENDER_JOB_DISCONNECT_NO_COMPRESSION 14
+#define WORKER_SENDER_JOB_BUFFER_RATIO 15
+#define WORKER_SENDER_JOB_BYTES_RECEIVED 16
+#define WORKER_SENDER_JOB_BYTES_SENT 17
+#define WORKER_SENDER_JOB_BYTES_COMPRESSED 18
+#define WORKER_SENDER_JOB_BYTES_UNCOMPRESSED 19
+#define WORKER_SENDER_JOB_BYTES_COMPRESSION_RATIO 20
+#define WORKER_SENDER_JOB_REPLAY_REQUEST 21
+#define WORKER_SENDER_JOB_FUNCTION_REQUEST 22
+#define WORKER_SENDER_JOB_REPLAY_DICT_SIZE 23
+#define WORKER_SENDER_JOB_DISCONNECT_CANT_UPGRADE_CONNECTION 24
+
+#if WORKER_UTILIZATION_MAX_JOB_TYPES < 25
+#error WORKER_UTILIZATION_MAX_JOB_TYPES has to be at least 25
+#endif
+
+bool attempt_to_connect(struct sender_state *state);
+void rrdpush_sender_on_connect(RRDHOST *host);
+void rrdpush_sender_after_connect(RRDHOST *host);
+void rrdpush_sender_thread_close_socket(struct sender_state *s);
+
+void rrdpush_sender_execute_commands_cleanup(struct sender_state *s);
+void rrdpush_sender_execute_commands(struct sender_state *s);
+
+#endif //NETDATA_SENDER_INTERNALS_H