summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2007-03-26 14:07:59 +0000
committerNick Mathewson <nickm@torproject.org>2007-03-26 14:07:59 +0000
commit38c0bb3a99956a0ff2e570bd8f2b900d46741992 (patch)
tree9a447e7b431abdc819d3ba1f30755f5b40678c79 /doc
parent6e51bdd5e4d5ab39fc1dca12e468b9a1c573cc1b (diff)
downloadtor-38c0bb3a99956a0ff2e570bd8f2b900d46741992.tar.gz
tor-38c0bb3a99956a0ff2e570bd8f2b900d46741992.zip
r12651@Kushana: nickm | 2007-03-24 18:26:42 -0400
Initial version of circuit-based cell queues. Instead of hammering or_conns with piles of cells, queue cells on their corresponding circuits, and append them to the or_conn as needed. This seems to work so far, but needs a bit more work. This will break the memory-use-limitation patch for begin_dir conns: the solution will be a fun but fiddly. svn:r9904
Diffstat (limited to 'doc')
-rw-r--r--doc/TODO16
1 files changed, 13 insertions, 3 deletions
diff --git a/doc/TODO b/doc/TODO
index b16b451a01..84b00ae29b 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -61,11 +61,21 @@ Things we'd like to do in 0.2.0.x:
_on_ on a socks connection: have edge_connection_t and (say)
dns_request_t both extend an edge_stream_t, and have p_streams and
n_streams both be linked lists of edge_stream_t.
- - Make cells get buffered on circuit, not on the or_conn.
- - Don't move them into the target conn until there is space on the
+ . Make cells get buffered on circuit, not on the or_conn.
+ O Implement cell queues
+ o Keep doubly-linked list of active circuits on each or_conn.
+ o Put all relay data on the circuit cell queue, not on the outbuf.
+ o Don't move them into the target conn until there is space on the
target conn's outbuf.
+ o When making a circuit active on a connection with an empty buf,
+ we need to "prime" the buffer, so that we can trigger the "I flushed
+ some" test.
+ - Change how directory-bridge-choking works: choke when circuit queue
+ is full, not when the orconn is "too full".
+ - Do we switch to arena-allocation for cells?
+ - Can we stop doing so many memcpys on cells?
- Also, only package data from exitconns when there is space on the
- target OR conn's outbuf.
+ target OR conn's outbuf? or when the circuit is not too full.
- MAYBE kill stalled circuits rather than stalled connections; consider
anonymity implications.
- Move all status info out of routerinfo into local_routerstatus. Make