Lines Matching refs:timer

20 int64_t qemu_announce_timer_step(AnnounceTimer *timer)  in qemu_announce_timer_step()  argument
24 step = timer->params.initial + in qemu_announce_timer_step()
25 (timer->params.rounds - timer->round - 1) * in qemu_announce_timer_step()
26 timer->params.step; in qemu_announce_timer_step()
28 if (step < 0 || step > timer->params.max) { in qemu_announce_timer_step()
29 step = timer->params.max; in qemu_announce_timer_step()
31 timer_mod(timer->tm, qemu_clock_get_ms(timer->type) + step); in qemu_announce_timer_step()
40 void qemu_announce_timer_del(AnnounceTimer *timer, bool free_named) in qemu_announce_timer_del() argument
43 if (timer->tm) { in qemu_announce_timer_del()
44 timer_free(timer->tm); in qemu_announce_timer_del()
45 timer->tm = NULL; in qemu_announce_timer_del()
47 qapi_free_strList(timer->params.interfaces); in qemu_announce_timer_del()
48 timer->params.interfaces = NULL; in qemu_announce_timer_del()
49 if (free_named && timer->params.id) { in qemu_announce_timer_del()
55 list_timer = g_datalist_get_data(&named_timers, timer->params.id); in qemu_announce_timer_del()
56 assert(timer == list_timer); in qemu_announce_timer_del()
58 g_datalist_remove_data(&named_timers, timer->params.id); in qemu_announce_timer_del()
60 trace_qemu_announce_timer_del(free_named, free_timer, timer->params.id); in qemu_announce_timer_del()
61 g_free(timer->params.id); in qemu_announce_timer_del()
62 timer->params.id = NULL; in qemu_announce_timer_del()
65 g_free(timer); in qemu_announce_timer_del()
73 void qemu_announce_timer_reset(AnnounceTimer *timer, in qemu_announce_timer_reset() argument
83 qemu_announce_timer_del(timer, false); in qemu_announce_timer_reset()
85 QAPI_CLONE_MEMBERS(AnnounceParameters, &timer->params, params); in qemu_announce_timer_reset()
86 timer->round = params->rounds; in qemu_announce_timer_reset()
87 timer->type = type; in qemu_announce_timer_reset()
88 timer->tm = timer_new_ms(type, cb, opaque); in qemu_announce_timer_reset()
138 AnnounceTimer *timer = opaque; in qemu_announce_self_iter() local
143 if (timer->params.has_interfaces) { in qemu_announce_self_iter()
144 strList *entry = timer->params.interfaces; in qemu_announce_self_iter()
160 trace_qemu_announce_self_iter(timer->params.id ?: "_", in qemu_announce_self_iter()
177 AnnounceTimer *timer = (AnnounceTimer *)opaque; in qemu_announce_self_once() local
179 qemu_foreach_nic(qemu_announce_self_iter, timer); in qemu_announce_self_once()
181 if (--timer->round) { in qemu_announce_self_once()
182 qemu_announce_timer_step(timer); in qemu_announce_self_once()
184 qemu_announce_timer_del(timer, true); in qemu_announce_self_once()
188 void qemu_announce_self(AnnounceTimer *timer, AnnounceParameters *params) in qemu_announce_self() argument
190 qemu_announce_timer_reset(timer, params, QEMU_CLOCK_REALTIME, in qemu_announce_self()
191 qemu_announce_self_once, timer); in qemu_announce_self()
193 qemu_announce_self_once(timer); in qemu_announce_self()
195 qemu_announce_timer_del(timer, true); in qemu_announce_self()