X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-relayd%2Flttng-relayd.h;h=245c5fd2656491c9cb00ef41e2f351a79124f944;hb=b4aacfdce9fe9fddc01b738a8cc807d764245cef;hp=f0c1abfee492356fb7052643a99e0ccd870dcdd0;hpb=2a174661a1e0ab551b41ff1cae7191688525fc1f;p=lttng-tools.git diff --git a/src/bin/lttng-relayd/lttng-relayd.h b/src/bin/lttng-relayd/lttng-relayd.h index f0c1abfee..245c5fd26 100644 --- a/src/bin/lttng-relayd/lttng-relayd.h +++ b/src/bin/lttng-relayd/lttng-relayd.h @@ -19,52 +19,21 @@ #ifndef LTTNG_RELAYD_H #define LTTNG_RELAYD_H -#define _LGPL_SOURCE #include #include -#include -#include +#include #include -#include - -#include "ctf-trace.h" -#include "session.h" /* * Queue used to enqueue relay requests */ -struct relay_cmd_queue { - struct cds_wfq_queue queue; +struct relay_conn_queue { + struct cds_wfcq_head head; + struct cds_wfcq_tail tail; int32_t futex; }; -enum connection_type { - RELAY_DATA = 1, - RELAY_CONTROL = 2, - RELAY_VIEWER_COMMAND = 3, - RELAY_VIEWER_NOTIFICATION = 4, -}; - -/* - * Internal structure to map a socket with the corresponding session. - * A hashtable indexed on the socket FD is used for the lookups. - */ -struct relay_command { - struct lttcomm_sock *sock; - struct relay_session *session; - struct cds_wfq_node node; - struct lttng_ht_node_ulong sock_n; - struct rcu_head rcu_node; - enum connection_type type; - /* protocol version to use for this session */ - uint32_t major; - uint32_t minor; - uint64_t session_id; - struct cds_list_head recv_head; - unsigned int version_check_done:1; -}; - struct relay_local_data { struct lttng_ht *sessions_ht; }; @@ -85,6 +54,9 @@ extern const char *tracing_group_name; extern const char * const config_section_name; +extern int thread_quit_pipe[2]; + void lttng_relay_notify_ready(void); +int lttng_relay_stop_threads(void); #endif /* LTTNG_RELAYD_H */