aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitmux.c
Commit message (Collapse)AuthorAge
* Test code for implementation of faster circuit_unlink_all_from_channelNick Mathewson2014-03-14
| | | | | | | | This contains the obvious implementation using the circuitmux data structure. It also runs the old (slow) algorithm and compares the results of the two to make sure that they're the same. Needs review and testing.
* Merge branch 'morestats4' into morestats5Karsten Loesing2013-10-28
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/tor.1.txt src/or/config.c src/or/connection.h src/or/control.c src/or/control.h src/or/or.h src/or/relay.c src/or/relay.h src/test/test.c
* | Initialize destroy_cell_queue.Nick Mathewson2013-07-19
| | | | | | | | | | Likely fix for the crash bug of #9296, which was introduced through a combination of #7912 and #8586. Bugfix not in any released Tor.
* | Use TOR_SIMPLEQ for packed_cell_tNick Mathewson2013-07-18
| |
* | Add some basic unit tests for the circuit map data structure.Nick Mathewson2013-07-10
| | | | | | | | | | These show off the new mocking code by mocking the circuitmux code so that we can test the circuit map code in isolation.
* | Fix bug 9082: avoid leak when freeing destroy cell queuesNick Mathewson2013-06-17
| | | | | | | | | | | | | | | | In my #7912 fix, there wasn't any code to remove entries from the (channel, circuit ID)->circuit map corresponding to queued but un-sent DESTROYs. Spotted by skruffy. Fixes bug 9082; bug not in any released Tor.
* | Fix compile warnings wrt printf formating of int64_tNick Mathewson2013-06-13
| |
* | Add destroy balance tracking and logging to circuitmuxAndrea Shepard2013-06-13
| |
* | Implementation of a fix for bug 7912Nick Mathewson2013-06-13
|/ | | | | | | | | I added the code to pass a destroy cell to a queueing function rather than writing it immediately, and the code to remember that we shouldn't reuse the circuit id until the destroy is actually sent, and the code to release the circuit id once the destroy has been sent... and then I finished by hooking destroy_cell_queue into the rest of Tor.
* Fix 8447: use %u to format circid_t.Nick Mathewson2013-03-10
| | | | | | | | | Now that circid_t is 4 bytes long, the default integer promotions will leave it alone when sizeof(int) == 4, which will leave us formatting an unsigned as an int. That's technically undefined behavior. Fixes bug 8447 on bfffc1f0fc7616a25c32da2eb759dade4651659e. Bug not in any released Tor.
* Update the copyright date to 201.Nick Mathewson2013-01-16
|
* Fix formatting in various places after 6465/6816 workAndrea Shepard2012-10-10
|
* Don't remove circuitmux hash table entries in circuitmux_detach_circuit() ↵Andrea Shepard2012-10-10
| | | | until after circuitmux_make_circuit_inactive()
* Fix 'warning: circuit was already inactive' and assert in ↵Andrea Shepard2012-10-10
| | | | circuitmux_make_circuit_inactive() during circuitmux_detach_all_circuits()
* Bring summary comment block in circuitmux.c up to dateAndrea Shepard2012-10-10
|
* New and improved circuitmux_detach_all_circuits(), now without the stupidAndrea Shepard2012-10-10
|
* Fix broken circuitmux_move_active_circ_to_tail(); don't assume n_chan is not ↵Andrea Shepard2012-10-10
| | | | NULL in circuitmux_detach_circuit()
* Allow n_chan to be NULL in circuitmux_find_map_entry(); it can be but with ↵Andrea Shepard2012-10-10
| | | | non-NULL p_chan when extending a circuit
* Use circuit_get_by_circid_channel_even_if_marked() and fix some asserts in ↵Andrea Shepard2012-10-10
| | | | circuitmux.c
* Handle closing circuits correctly with circuitmux_tAndrea Shepard2012-10-10
|
* Add a bunch of paranoid-mode expensive asserts incircuitmux.cAndrea Shepard2012-10-10
|
* Adjust the circuitmux_t counter correctly in circuitmux_notify_xmit_cells()Andrea Shepard2012-10-10
|
* Implement circuitmux_assert_okay() and helper functions in circuitmux.cAndrea Shepard2012-10-10
|
* Implement circuitmux_get_first_active_circuit() in circuitmux.c; add ↵Andrea Shepard2012-10-10
| | | | pick_active_circuit() to circuitmux_policy_t in circuitmux.h
* Add comment for circuitmux_notify_xmit_cells() in circuitmux.cAndrea Shepard2012-10-10
|
* Add comment for circuitmux_move_active_circ_to_tail() in circuitmux.cAndrea Shepard2012-10-10
|
* Implement circuitmux_notify_xmit_cells() and ↵Andrea Shepard2012-10-10
| | | | circuitmux_move_active_circ_to_tail() helper in circuitmux.c
* Consistently allow policy alloc_cmux_data() and alloc_circ_data() functions ↵Andrea Shepard2012-10-10
| | | | to return NULL if the policy does not use this in circuitmux.c
* Implement circuitmux_clear_policy(), circuitmux_get_policy() and ↵Andrea Shepard2012-10-10
| | | | circuitmux_set_policy() in circuitmux.c
* Add cmux policy notify_set_n_cells() and notify_xmit_cells() callbacksAndrea Shepard2012-10-10
|
* Allocate and free circuit-specific policy data in the right placesAndrea Shepard2012-10-10
|
* Implement circuitmux policy basic notifications mechanismAndrea Shepard2012-10-10
|
* Implement circuitmux_make_circuit_inactive(), ↵Andrea Shepard2012-10-10
| | | | circuitmux_make_circuit_active() and linked list helper functions in circuitmux.c
* Implement circuitmux_detach_all_circuits() in circuitmux.cAndrea Shepard2012-10-10
|
* Implement circuitmux_is_circuit_active(), ↵Andrea Shepard2012-10-10
| | | | circuitmux_num_cells_for_circuit(), circuitmux_num_cells(), circuitmux_num_active_circuits() and circuitmux_num_circuits() in circuitmux.c
* Implement circuitmux_clear_num_cells() and circuitmux_set_num_cells() in ↵Andrea Shepard2012-10-10
| | | | circuitmux.c, remove unneeded circuitmux_add_to_num_cells() from circuitmux.h
* Handle n_mux/p_mux properly in circuitmux.cAndrea Shepard2012-10-10
|
* Implement circuitmux_detach_circuit() in circuitmux.cAndrea Shepard2012-10-10
|
* Implement circuitmux_attached_circuit_direction(), ↵Andrea Shepard2012-10-10
| | | | circuitmux_find_map_entry() and circuitmux_is_circuit_attached() in circuitmux.c
* Implement circuitmux_attach_circuit() in circuitmux.cAndrea Shepard2012-10-10
|
* Implement circuitmux_alloc()/circuitmux_free() and chanid/circid->muxinfo ↵Andrea Shepard2012-10-10
| | | | hash table
* Add circuitmux.c, circuitmux.hAndrea Shepard2012-10-10