[tor-commits] [tor/master] Helper to log chan scheduler_states as strings not ints
nickm at torproject.org
nickm at torproject.org
Wed Jan 3 16:57:35 UTC 2018
commit 07898fb2a66b9cbfbfb015750b10ef0316258452
Author: Matt Traudt <sirmatt at ksu.edu>
Date: Mon Dec 11 09:12:24 2017 -0500
Helper to log chan scheduler_states as strings not ints
---
src/or/scheduler.c | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/src/or/scheduler.c b/src/or/scheduler.c
index 1d51550f9..42d9c9f08 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;
}
More information about the tor-commits
mailing list