rotate timer working
[lttng-tools.git] / src / bin / lttng-sessiond / session.h
index 9e5c3151bb1c26a947e970301355effdd23db364..640cc57ec7555798b2a2ebb5433c8ea92fe5d90e 100644 (file)
@@ -135,13 +135,14 @@ struct ltt_session {
         * Number of session rotation for this session.
         */
        uint64_t rotate_count;
-       unsigned int rotate_pending:1;
+       bool rotate_pending;
+       bool rotate_pending_relay;
+       bool rotate_pending_relay_check_in_progress;
+       enum lttng_rotate_status rotate_status;
        /*
         * Number of channels waiting for a rotate.
         * When this number reaches 0, we can handle the rename of the chunk
         * folder and inform the client that the rotate is finished.
-        *
-        * TODO: replace rotate_pending checks by that.
         */
        unsigned int nr_chan_rotate_pending;
        struct ltt_session_chunk rotation_chunk;
@@ -161,6 +162,17 @@ struct ltt_session {
        time_t current_chunk_start_ts;
        time_t session_last_stop_ts;
        time_t last_begin_rotation_ts;
+       /*
+        * Timer to check periodically if a relay has completed the last
+        * rotation.
+        */
+       bool rotate_relay_pending_timer_enabled;
+       timer_t rotate_relay_pending_timer;
+       /* Timer to periodically rotate a session. */
+       bool rotate_timer_enabled;
+       timer_t rotate_timer;
+       uint64_t rotate_timer_period;
+       uint64_t rotate_size;
 };
 
 /* Prototypes */
This page took 0.025796 seconds and 5 git commands to generate.