32 Timer * cleanup_timer;
36 GetTaskId(agent_task->
name_),
55 timer_map->timer_ = timer;
57 timer_map->timer_name_,
59 GetTaskId(agent_task->
name_),
106 if (agent_timer->fired()) {
107 agent_timer->Reschedule(timer->
timeout);
110 agent_timer->Start(timer->
timeout,
144 int elapsed = timer->
timeout - agent_timer->GetElapsedTime();
146 remaining->
ut_usec = elapsed*1000;
166 bool reschedule =
false;
172 reschedule = (!timer->
oneshot ?
true :
false);
186 if (!thread_ptr)
break;
188 timer = task_timer_list_entry(thread_ptr);
const std::string & name_
void * task_timer_data(task_timer *timer)
void task_timer_delete(task_timer *timer)
bool task_timer_callback(void *agent_timer_map)
task_thread * thread_circular_top(task_thread *head)
void task_timer_init(task *tp)
task_timer * task_timer_create_idle_leaf(task *tp, const char *name, flag_t flags, task_timer *parent, timer_callback tjob, void *data)
void task_timer_reset(task_timer *timer)
bool task_timer_cleanup(void *data)
void(* timer_callback)(task_timer *, time_t)
void task_timer_uset_alt_root_auto_parent_oneshot(task_timer_root *root, task_timer *timer, utime_t *offset, u_int jitter)
static TaskScheduler * GetInstance()
task_thread deleted_timers
void task_timer_utime_left(task_timer *timer, utime_t *remaining)
static Timer * CreateTimer(boost::asio::io_context &service, const std::string &name, int task_id=Timer::GetTimerTaskId(), int task_instance=Timer::GetTimerInstanceId(), bool delete_on_completion=false)
void task_timer_smear_auto_parent_timers(task_timer_root *root)
task_timer_root * task_timer_get_auto_parent_root(void)
void thread_new_circular_thread(task_thread *head)
void thread_circular_add_top(task_thread *head, task_thread *node)
void thread_remove(task_thread *node)
boolean task_timer_running(task_timer *timer)
void task_timer_cleanup_deleted(task *tp)
boost::asio::io_context & io_
task_thread deleted_entry
static bool DeleteTimer(Timer *Timer)