diff options
author | Matt Traudt <sirmatt@ksu.edu> | 2017-12-11 09:12:24 -0500 |
---|---|---|
committer | Matt Traudt <sirmatt@ksu.edu> | 2017-12-11 09:43:09 -0500 |
commit | 07898fb2a66b9cbfbfb015750b10ef0316258452 (patch) | |
tree | 576b8f740b651de7a9793afac13b4bcc6e09a0df /src/or/scheduler.c | |
parent | 273325e216ff10b2ce938b243122d08f075f7881 (diff) | |
download | tor-07898fb2a66b9cbfbfb015750b10ef0316258452.tar.gz tor-07898fb2a66b9cbfbfb015750b10ef0316258452.zip |
Helper to log chan scheduler_states as strings not ints
Diffstat (limited to 'src/or/scheduler.c')
-rw-r--r-- | src/or/scheduler.c | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/src/or/scheduler.c b/src/or/scheduler.c index 1d51550f9f..42d9c9f081 100644 --- a/src/or/scheduler.c +++ b/src/or/scheduler.c @@ -198,6 +198,24 @@ get_scheduler_type_string(scheduler_types_t type) } } +/** Returns human readable string for the given channel scheduler state. */ +static const char * +get_scheduler_state_string(int scheduler_state) +{ + switch (scheduler_state) { + case SCHED_CHAN_IDLE: + return "IDLE"; + case SCHED_CHAN_WAITING_FOR_CELLS: + return "WAITING_FOR_CELLS"; + case SCHED_CHAN_WAITING_TO_WRITE: + return "WAITING_TO_WRITE"; + case SCHED_CHAN_PENDING: + return "PENDING"; + default: + return "(invalid)"; + } +} + /** * Scheduler event callback; this should get triggered once per event loop * if any scheduling work was created during the event loop. @@ -365,8 +383,10 @@ set_scheduler(void) /** Helper that logs channel scheduler_state changes. Use this instead of * setting scheduler_state directly. */ void scheduler_set_channel_state(channel_t *chan, int new_state){ - log_debug(LD_SCHED, "chan %s changed from scheduler state %d to %d", - chan->global_identifier, chan->scheduler_state, new_state); + log_debug(LD_SCHED, "chan %" PRIu64 " changed from scheduler state %s to %s", + chan->global_identifier, + get_scheduler_state_string(chan->scheduler_state), + get_scheduler_state_string(new_state)); chan->scheduler_state = new_state; } |