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 |
|
Andrea Shepard
|
bddfb9ffa8
|
Add magic number for type-checking channel casts
|
2012-10-09 23:19:53 -07:00 |
|
Andrea Shepard
|
f00b44ef8c
|
Improve comments on channel_write_*()
|
2012-10-09 23:19:53 -07:00 |
|
Andrea Shepard
|
1c3362dcdc
|
Use cell_queue_entry_new/free() functions in channel.c
|
2012-10-09 23:19:53 -07:00 |
|
Andrea Shepard
|
53454fad95
|
Set reason_for_closing when erroring out of channel_tls_connect()
|
2012-10-09 23:19:53 -07:00 |
|
Andrea Shepard
|
3f4b95b1a3
|
Split channel_t into channel_t and channel_listener_t; get rid of that big union
|
2012-10-09 23:19:53 -07:00 |
|
Andrea Shepard
|
6391f963fb
|
Conform to existing Doxygen style
|
2012-10-08 21:30:07 -07:00 |
|
Andrea Shepard
|
06a76d1db4
|
Refactor channel_write_cell()/channel_write_packed_cell()/channel_write_var_cell() to eliminate redundant code
|
2012-10-08 21:16:59 -07:00 |
|
Andrea Shepard
|
89a00ee63a
|
Use typedefs for function pointer return values and s/listener/listener_fn/ for distinctness
|
2012-10-08 20:49:19 -07:00 |
|
Andrea Shepard
|
ee4e88e4d9
|
s/cell_queue/incoming_queue/g in channel.c for consistency with outgoing_queue
|
2012-10-08 20:20:28 -07:00 |
|
Andrea Shepard
|
4686638743
|
Fix typo in comment
|
2012-10-08 20:15:09 -07:00 |
|
Andrea Shepard
|
d61e58e1ba
|
s/channel_request_close()/channel_mark_for_close()/g for consistency
|
2012-10-08 20:14:04 -07:00 |
|