X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-relayd%2Fconnection.h;h=fc4a59075f3dabd4a88eab06f8eef06b58af53d2;hb=f263b7fd113e51d0737554e8232b8669e142a260;hp=6fb8913bf4dc53756fc8e68a872b394f69c24efc;hpb=58eb9381cd933f0644e6a5b89750dbd6d9b14570;p=lttng-tools.git diff --git a/src/bin/lttng-relayd/connection.h b/src/bin/lttng-relayd/connection.h index 6fb8913bf..fc4a59075 100644 --- a/src/bin/lttng-relayd/connection.h +++ b/src/bin/lttng-relayd/connection.h @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -44,6 +45,7 @@ enum connection_type { struct relay_connection { struct lttcomm_sock *sock; struct relay_session *session; + struct relay_viewer_session *viewer_session; struct cds_wfq_node qnode; struct lttng_ht_node_ulong sock_n; struct rcu_head rcu_node; @@ -52,6 +54,13 @@ struct relay_connection { uint32_t major; uint32_t minor; uint64_t session_id; + + /* + * This contains streams that are received on that connection. It's used to + * store them until we get the streams sent command where they are removed + * and flagged ready for the viewer. This is ONLY used by the control + * thread thus any action on it should happen in that thread. + */ struct cds_list_head recv_head; unsigned int version_check_done:1;