Adjust the relayd protocol on version check
[lttng-tools.git] / src / bin / lttng-relayd / lttng-relayd.h
index bec13496ca26ab5944853bb0dacadebeb8b2436f..e6ca5ebbb2b7dcbfb9f9bdb9a4d302d70c2e3475 100644 (file)
@@ -40,9 +40,16 @@ enum connection_type {
  * Represents a session for the relay point of view
  */
 struct relay_session {
+       /*
+        * This session id is used to identify a set of stream to a tracing session
+        * but also make sure we have a unique session id associated with a session
+        * daemon which can provide multiple data source.
+        */
        uint64_t id;
        struct lttcomm_sock *sock;
-       unsigned int version_check_done:1;
+       /* protocol version to use for this session */
+       uint32_t major;
+       uint32_t minor;
 };
 
 /*
@@ -50,11 +57,17 @@ struct relay_session {
  */
 struct relay_stream {
        uint64_t stream_handle;
-       uint64_t seq;
+       uint64_t prev_seq;      /* previous data sequence number encountered */
        struct lttng_ht_node_ulong stream_n;
        struct relay_session *session;
        struct rcu_head rcu_node;
        int fd;
+
+       /* Information telling us when to close the stream  */
+       unsigned int close_flag:1;
+       uint64_t last_net_seq_num;
+       /* Indicate if the stream was initialized for a data pending command. */
+       unsigned int data_pending_check_done:1;
 };
 
 /*
@@ -68,6 +81,7 @@ struct relay_command {
        struct lttng_ht_node_ulong sock_n;
        struct rcu_head rcu_node;
        enum connection_type type;
+       unsigned int version_check_done:1;
 };
 
 #endif /* LTTNG_RELAYD_H */
This page took 0.023572 seconds and 4 git commands to generate.