+ bool in_recv_list;
+ struct cds_list_head recv_node;
+ bool published; /* Protected by session lock. */
+ /*
+ * Node of stream within global stream hash table.
+ */
+ struct lttng_ht_node_u64 node;
+ bool in_stream_ht; /* is stream in stream hash table. */
+ struct rcu_head rcu_node; /* For call_rcu teardown. */
+ /*
+ * When we have written the data and index corresponding to this
+ * seq_num, rotate the tracefile (session rotation). The path_name is
+ * already up-to-date.
+ * This is set to -1ULL when no rotation is pending.
+ *
+ * Always access with stream lock held.
+ */
+ uint64_t rotate_at_seq_num;
+ /*
+ * When rotate_at_seq_num != -1ULL, meaning that a rotation is ongoing,
+ * data_rotated and index_rotated respectively indicate if the stream's
+ * data and index have been rotated. A rotation is considered completed
+ * when both rotations have occurred.
+ */
+ bool data_rotated;
+ bool index_rotated;
+ /*
+ * `trace_chunk` is the trace chunk to which the file currently
+ * being produced (if any) belongs.
+ */
+ struct lttng_trace_chunk *trace_chunk;