Add accessor for inspecting timer callbacks.

This commit is contained in:
Nick Mathewson 2016-12-02 12:15:07 -05:00
parent ca4a0ae0b1
commit e6facbfe7a
2 changed files with 16 additions and 0 deletions

View File

@ -254,6 +254,20 @@ timer_set_cb(tor_timer_t *t, timer_cb_fn_t cb, void *arg)
t->callback.arg = arg;
}
/**
* Set *<b>cb_out</b> (if provided) to this timer's callback function,
* and *<b>arg_out</b> (if provided) to this timer's callback argument.
*/
void
timer_get_cb(const tor_timer_t *t,
timer_cb_fn_t *cb_out, void **arg_out)
{
if (cb_out)
*cb_out = t->callback.cb;
if (arg_out)
*arg_out = t->callback.arg;
}
/**
* Schedule the timer t to fire at the current time plus a delay of
* <b>delay</b> microseconds. All times are relative to monotime_get().

View File

@ -13,6 +13,8 @@ typedef void (*timer_cb_fn_t)(tor_timer_t *, void *,
const struct monotime_t *);
tor_timer_t *timer_new(timer_cb_fn_t cb, void *arg);
void timer_set_cb(tor_timer_t *t, timer_cb_fn_t cb, void *arg);
void timer_get_cb(const tor_timer_t *t,
timer_cb_fn_t *cb_out, void **arg_out);
void timer_schedule(tor_timer_t *t, const struct timeval *delay);
void timer_disable(tor_timer_t *t);
void timer_free(tor_timer_t *t);