Andrea Shepard
|
1bc9a040f7
|
Fix 'warning: circuit was already inactive' and assert in circuitmux_make_circuit_inactive() during circuitmux_detach_all_circuits()
|
2012-10-10 00:44:47 -07:00 |
|
Andrea Shepard
|
c9e48ded5d
|
Bring summary comment block in circuitmux.c up to date
|
2012-10-10 00:44:47 -07:00 |
|
Andrea Shepard
|
49d534e524
|
New and improved circuitmux_detach_all_circuits(), now without the stupid
|
2012-10-10 00:44:47 -07:00 |
|
Andrea Shepard
|
c9607694c9
|
Correctly set magic numbers on ewma policy data/circuit data when allocating
|
2012-10-10 00:44:47 -07:00 |
|
Andrea Shepard
|
9d615cc5c0
|
Set circuitmux policy on existing active channels when ewma_enabled changes
|
2012-10-10 00:44:47 -07:00 |
|
Andrea Shepard
|
bb62281ba4
|
Set circuitmux policy on new channels in channeltls.c
|
2012-10-10 00:44:47 -07:00 |
|
Andrea Shepard
|
0c4f717b3e
|
Implement cell_ewma_enabled()
|
2012-10-10 00:44:47 -07:00 |
|
Andrea Shepard
|
8afe41b481
|
Implement channel_set_cmux_policy_everywhere()
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
13972aee78
|
Fix broken circuitmux_move_active_circ_to_tail(); don't assume n_chan is not NULL in circuitmux_detach_circuit()
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
903cc8acd1
|
Allow n_chan to be NULL in circuitmux_find_map_entry(); it can be but with non-NULL p_chan when extending a circuit
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
a0200c1f6e
|
Use circuit_get_by_circid_channel_even_if_marked() and fix some asserts in circuitmux.c
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
1498a6e84a
|
Fix some circuitmux-related asserts in relay.c
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
b28119e6a8
|
Fix detach when setting circuit ID to 0 bug in circuit_set_circid_chan_helper() and add circuit_get_by_circid_channel_even_if_marked()
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
c097fb33fc
|
Detach circuits from circuitmux early when freeing channel so they can find the channel by ID
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
3d092ffbdd
|
Handle closing circuits correctly with circuitmux_t
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
6830c9c232
|
Add a bunch of paranoid-mode expensive asserts incircuitmux.c
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
7598e669e8
|
Adjust the circuitmux_t counter correctly in circuitmux_notify_xmit_cells()
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
96a6eff8fe
|
Fix circuitmux attach/detach logic in circuit_set_circid_chan_helper(); it's possible for id to be zero (not assigned yet) and shouldn't be attached then
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
60ec46a2ec
|
Update circuitmux-related TODOs in channeltls.c
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
2565710fd7
|
Fix comment on circuit_t.n_hop and remove circuitmux TODO in or.h
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
bbb2c31d26
|
Move all EWMA code into circuitmux.c and implement circuitmux_policy_t methods using it
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
0af2eab9a2
|
Add circuitmux.h, circuitmux_ewma.h includes now necessary in networkstatus.c
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
d194b8602a
|
Remove cell_ewma_t from or.h and from circuit_t/or_circuit_t; all that goes to the new circuitmux_ewma.c now
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
5f9d37e74e
|
Add circuitmux.h, circuitmux_ewma.h includes now necessary in config.c
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
14fe0d5859
|
Remove EWMA code from relay.{c,h}; it goes to a circuitmux policy now
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
b7d5784c54
|
Remove ewma setup code in init_circuit_base()/or_circuit_new() of circuitlist.c; it gets allocated when the circuit is attached to a circuitmux_t with that policy now
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
e1de2f1437
|
Add upcasts for circuitmux_policy_data_t and circuitmux_policy_circ_data_t to circuitmux.h
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
184560c4f6
|
Add initial circuitmux_ewma.{c,h}
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
34591c61ef
|
Implement circuitmux_assert_okay() and helper functions in circuitmux.c
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
4a14c6aa67
|
Implement circuitmux_get_first_active_circuit() in circuitmux.c; add pick_active_circuit() to circuitmux_policy_t in circuitmux.h
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
c4e5e4727d
|
Add comment for circuitmux_notify_xmit_cells() in circuitmux.c
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
741bc97b24
|
Add comment for circuitmux_move_active_circ_to_tail() in circuitmux.c
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
aff77eb1a9
|
Implement circuitmux_notify_xmit_cells() and circuitmux_move_active_circ_to_tail() helper in circuitmux.c
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
debef8f0cd
|
Consistently allow policy alloc_cmux_data() and alloc_circ_data() functions to return NULL if the policy does not use this in circuitmux.c
|
2012-10-10 00:44:46 -07:00 |
|
Andrea Shepard
|
86d9d85dfc
|
Implement circuitmux_clear_policy(), circuitmux_get_policy() and circuitmux_set_policy() in circuitmux.c
|
2012-10-10 00:44:45 -07:00 |
|
Andrea Shepard
|
eade7a37cd
|
Add cmux policy notify_set_n_cells() and notify_xmit_cells() callbacks
|
2012-10-10 00:44:45 -07:00 |
|
Andrea Shepard
|
930e3d611a
|
Allocate and free circuit-specific policy data in the right places
|
2012-10-10 00:44:45 -07:00 |
|
Andrea Shepard
|
851734d324
|
Implement circuitmux policy basic notifications mechanism
|
2012-10-10 00:44:45 -07:00 |
|
Andrea Shepard
|
35f5259df4
|
Eliminate linked list helper functions in relay.c which are no longer used
|
2012-10-10 00:44:45 -07:00 |
|
Andrea Shepard
|
38fa3b7e44
|
Implement circuitmux_make_circuit_inactive(), circuitmux_make_circuit_active() and linked list helper functions in circuitmux.c
|
2012-10-10 00:44:45 -07:00 |
|
Andrea Shepard
|
fd31dd440c
|
Implement circuitmux_detach_all_circuits() in circuitmux.c
|
2012-10-10 00:43:18 -07:00 |
|
Andrea Shepard
|
9da04141e2
|
Implement circuitmux_is_circuit_active(), circuitmux_num_cells_for_circuit(), circuitmux_num_cells(), circuitmux_num_active_circuits() and circuitmux_num_circuits() in circuitmux.c
|
2012-10-10 00:43:18 -07:00 |
|
Andrea Shepard
|
a9deec3550
|
Implement circuitmux_clear_num_cells() and circuitmux_set_num_cells() in circuitmux.c, remove unneeded circuitmux_add_to_num_cells() from circuitmux.h
|
2012-10-10 00:43:18 -07:00 |
|
Andrea Shepard
|
8004448635
|
Handle n_mux/p_mux properly in circuitmux.c
|
2012-10-10 00:43:18 -07:00 |
|
Andrea Shepard
|
c3ebd0340c
|
Implement circuitmux_detach_circuit() in circuitmux.c
|
2012-10-10 00:43:17 -07:00 |
|
Andrea Shepard
|
7e5c358d38
|
Implement circuitmux_attached_circuit_direction(), circuitmux_find_map_entry() and circuitmux_is_circuit_attached() in circuitmux.c
|
2012-10-10 00:41:55 -07:00 |
|
Andrea Shepard
|
3c41d7f414
|
Implement circuitmux_attach_circuit() in circuitmux.c
|
2012-10-10 00:41:49 -07:00 |
|
Andrea Shepard
|
e4a11b890e
|
Implement circuitmux_alloc()/circuitmux_free() and chanid/circid->muxinfo hash table
|
2012-10-10 00:40:10 -07:00 |
|
Andrea Shepard
|
b208539b80
|
Use circuitmux_t in channels and when relaying cells
|
2012-10-10 00:40:06 -07:00 |
|
Andrea Shepard
|
c684076fc7
|
Add circuitmux.c, circuitmux.h
|
2012-10-10 00:39:11 -07:00 |
|