aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitmux.h
diff options
context:
space:
mode:
authorAndrea Shepard <andrea@torproject.org>2013-11-30 01:25:20 -0800
committerAndrea Shepard <andrea@torproject.org>2014-09-30 22:49:35 -0700
commit9db596d2ef441d9293f5341be28150739baac98d (patch)
tree3b6cdb9dd010013f6101f7a0a9223f64510c557d /src/or/circuitmux.h
parent1275002a46dfb131f6db5c0fe28bc1828db327e2 (diff)
downloadtor-9db596d2ef441d9293f5341be28150739baac98d.tar.gz
tor-9db596d2ef441d9293f5341be28150739baac98d.zip
Add cmux support for inter-cmux comparisons
Diffstat (limited to 'src/or/circuitmux.h')
-rw-r--r--src/or/circuitmux.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/or/circuitmux.h b/src/or/circuitmux.h
index 2b5fb7e51e..5833ee5eee 100644
--- a/src/or/circuitmux.h
+++ b/src/or/circuitmux.h
@@ -57,6 +57,9 @@ struct circuitmux_policy_s {
/* Choose a circuit */
circuit_t * (*pick_active_circuit)(circuitmux_t *cmux,
circuitmux_policy_data_t *pol_data);
+ /* Optional: channel comparator for use by the scheduler */
+ int (*cmp_cmux)(circuitmux_t *cmux_1, circuitmux_policy_data_t *pol_data_1,
+ circuitmux_t *cmux_2, circuitmux_policy_data_t *pol_data_2);
};
/*
@@ -148,5 +151,8 @@ void circuitmux_append_destroy_cell(channel_t *chan,
void circuitmux_mark_destroyed_circids_usable(circuitmux_t *cmux,
channel_t *chan);
+/* Optional interchannel comparisons for scheduling */
+int circuitmux_compare_muxes(circuitmux_t *cmux_1, circuitmux_t *cmux_2);
+
#endif /* TOR_CIRCUITMUX_H */