Fix data pending for inflight streaming
[lttng-tools.git] / src / common / consumer.h
index 80bb46a830ab1f9b9649d4d4ecee9cf7a469ddb5..7f0d0cc2134596ecf9a4debe2303add43579016c 100644 (file)
@@ -187,8 +187,9 @@ struct consumer_relayd_sock_pair {
        struct lttcomm_sock data_sock;
        struct lttng_ht_node_ulong node;
 
-       /* Session id on the relayd side for the sockets. */
-       uint64_t session_id;
+       /* Session id on both sides for the sockets. */
+       uint64_t relayd_session_id;
+       uint64_t sessiond_session_id;
 };
 
 /*
@@ -299,6 +300,15 @@ struct lttng_consumer_global_data {
        struct lttng_ht *stream_list_ht;
 };
 
+/*
+ * Session id mapping structure storred in relayd_session_id_ht.
+ */
+struct consumer_relayd_session_id {
+       uint64_t sessiond_id;
+       uint64_t relayd_id;
+       struct lttng_ht_node_ulong node;
+};
+
 /*
  * Init consumer data structures.
  */
@@ -415,7 +425,8 @@ ssize_t lttng_consumer_read_subbuffer(struct lttng_consumer_stream *stream,
 int lttng_consumer_on_recv_stream(struct lttng_consumer_stream *stream);
 int consumer_add_relayd_socket(int net_seq_idx, int sock_type,
                struct lttng_consumer_local_data *ctx, int sock,
-               struct pollfd *consumer_sockpoll, struct lttcomm_sock *relayd_sock);
+               struct pollfd *consumer_sockpoll, struct lttcomm_sock *relayd_sock,
+               unsigned int sessiond_id);
 void consumer_flag_relayd_for_destroy(
                struct consumer_relayd_sock_pair *relayd);
 int consumer_data_pending(uint64_t id);
This page took 0.025873 seconds and 4 git commands to generate.