Add the relayd create session command
[lttng-tools.git] / src / bin / lttng-relayd / lttng-relayd.h
index dfbc63f399e16cb2e9503a6513f1a91707583ec7..2a442b0952cbb4b14870434a78f0f0aa3253c105 100644 (file)
@@ -16,8 +16,8 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-#ifndef _LTT_RELAYD_H
-#define _LTT_RELAYD_H
+#ifndef LTTNG_RELAYD_H
+#define LTTNG_RELAYD_H
 
 #define _LGPL_SOURCE
 #include <urcu.h>
@@ -27,8 +27,8 @@
  * Queue used to enqueue relay requests
  */
 struct relay_cmd_queue {
-       int32_t futex;
        struct cds_wfq_queue queue;
+       int32_t futex;
 };
 
 enum connection_type {
@@ -42,7 +42,6 @@ enum connection_type {
 struct relay_session {
        uint64_t id;
        struct lttcomm_sock *sock;
-       unsigned int version_check_done:1;
 };
 
 /*
@@ -50,10 +49,15 @@ struct relay_session {
  */
 struct relay_stream {
        uint64_t stream_handle;
+       uint64_t prev_seq;      /* previous data sequence number encountered */
        struct lttng_ht_node_ulong stream_n;
-       int fd;
-       uint64_t seq;
        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;
 };
 
 /*
@@ -62,10 +66,12 @@ struct relay_stream {
  */
 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;
-       struct relay_session *session;
+       unsigned int version_check_done:1;
 };
 
-#endif
+#endif /* LTTNG_RELAYD_H */
This page took 0.023808 seconds and 4 git commands to generate.