c291ae6d250db28adf56ae21b079391b683f7a95
[lttng-tools.git] / src / bin / lttng-sessiond / timer.hpp
1 /*
2 * Copyright (C) 2017 Julien Desfossez <jdesfossez@efficios.com>
3 * Copyright (C) 2018 Jérémie Galarneau <jeremie.galarneau@efficios.com>
4 *
5 * SPDX-License-Identifier: GPL-2.0-only
6 *
7 */
8
9 #ifndef SESSIOND_TIMER_H
10 #define SESSIOND_TIMER_H
11
12 #include "rotation-thread.hpp"
13 #include "session.hpp"
14
15 #include <pthread.h>
16 #include <stdbool.h>
17
18 struct timer_thread_parameters {
19 lttng::sessiond::rotation_thread_timer_queue *rotation_thread_job_queue;
20 };
21
22 int timer_signal_init();
23
24 /* Start a session's rotation pending check timer (one-shot mode). */
25 int timer_session_rotation_pending_check_start(struct ltt_session *session,
26 unsigned int interval_us);
27 /* Stop a session's rotation pending check timer. */
28 int timer_session_rotation_pending_check_stop(ltt_session& session);
29
30 /* Start a session's rotation schedule timer. */
31 int timer_session_rotation_schedule_timer_start(struct ltt_session *session,
32 unsigned int interval_us);
33 /* Stop a session's rotation schedule timer. */
34 int timer_session_rotation_schedule_timer_stop(struct ltt_session *session);
35
36 bool launch_timer_thread(struct timer_thread_parameters *timer_thread_parameters);
37
38 #endif /* SESSIOND_TIMER_H */
This page took 0.030122 seconds and 4 git commands to generate.