Fix: relayd: use packet sequence number for rotation position
[lttng-tools.git] / src / bin / lttng-relayd / stream.h
index b8d14ecfb8cb0d07b40553456bc0fae86a7d5f4e..02948fa8e4c3439906dca9df5710c0d5f992f644 100644 (file)
@@ -44,10 +44,15 @@ struct relay_stream_rotation {
        bool data_rotated;
        bool index_rotated;
        /*
-        * Sequence number of the first packet of the new trace chunk to which
-        * the stream is rotating.
+        * Packet sequence number of the first packet of the new trace chunk to
+        * which the stream is rotating.
         */
-       uint64_t seq_num;
+       uint64_t packet_seq_num;
+       /*
+        * Monotonically increasing previous network sequence number of first
+        * data packet of the new trace chunk to which the stream is rotating.
+        */
+       uint64_t prev_data_net_seq;
        struct lttng_trace_chunk *next_trace_chunk;
 };
 
@@ -111,6 +116,12 @@ struct relay_stream {
         */
        uint64_t index_received_seqcount;
 
+       /*
+        * Packet sequence number of the last received packet index.
+        * Only populated when interacting with CTF_INDEX 1.1+.
+        */
+       LTTNG_OPTIONAL(uint64_t) received_packet_seq_num;
+
        /*
         * Tracefile array is an index of the stream trace files,
         * indexed by position. It allows keeping track of the oldest
This page took 0.024609 seconds and 5 git commands to generate.