diff options
Diffstat (limited to 'doc/TODO.022')
-rw-r--r-- | doc/TODO.022 | 77 |
1 files changed, 59 insertions, 18 deletions
diff --git a/doc/TODO.022 b/doc/TODO.022 index 3eeae006cb..d83ed6e671 100644 --- a/doc/TODO.022 +++ b/doc/TODO.022 @@ -8,44 +8,85 @@ NOTE 2: It's easy to list stuff like this with no time estimates and 0.2.2, figure out how long the stuff we want will take, and triage accordingly, or vice versa. -- Design - - Begin design work for UDP transition; identify areas where we need to - make changes or instrument stuff early. - - Performance, mostly protocol-neutral. - - Work with Libevent 2.0's bufferevent interface - - Identify any performance stuff we need to push back into - libevent to make it as fast as we want. - - Revise how we do bandwidth limiting and round-robining between + o Revise how we do bandwidth limiting and round-robining between circuits on a connection. - - Revise how we do bandwidth limiting and round-robining between + . Revise how we do bandwidth limiting and round-robining between connections. - Better flow-control to avoid filling buffers on routers. - - Split AES across cores if possible. - - Split SSL across cores (reach; may require Libevent 2.1). - - Figure out good ways to instrument Tor internals so we can tell how well our bandwidth and flow-control stuff is actually working. + - What ports eat the bandwidth? + - How full do queues get? + - How much latency do queues get? + + - Rate limit at clients: + - Give clients an upper bound on how much they're willing to use + the network if they're not relaying? + - ... or group client circuits by IP at the server and rate-limit + like that. + + - Use if-modified-since to download consensuses -- Features + +- Other features - Proposals to implement: - - 146: reflect long-term stability + - 146: reflect long-term stability in consensuses - 147: Stop using v2 directories to generate v3 votes. + - Start pinging as soon as we learn about a relay, not on a + 22-minute cycle. Prioritize new and volatile relays for + testing. - Proposals to improve and implement - 158: microdescriptors + o Revise proposal + - Implement - Proposals to improve and implement if not broken - - IPv6 support. (Parts of 117, but figure out how to handle DNS + D IPv6 support. (Parts of 117, but figure out how to handle DNS requests.) - 140: Directory diffs + - Need a decent simple C diff implementation. + - Need a decent simple C ed patch implementation. - 149: learn info from netinfo cells. - - 134: handle authority fragmentation (Needs more analysis) + o Start discussion + - Revise proposal based on discussion. + X 134: handle authority fragmentation (Needs more analysis) + - 165: Easy migration for voting authority sets + - 163: Detect client-status better + o Write proposal + - Possibly implement, depending on discussion. + - 164: Have authorities report relay and voting status better: make it + easy to answer, "Why is my server not listed/not Guard/not + Running/etc" + o Write proposal + - Possibly implement, depending on discussion + - 162: Have consensuses come in multiple "flavours". + o Write proposal + - Possibly implement, depending on discussion. + + - Needs a proposal, or at least some design + - Weaken the requirements for being a Guard, based on K's + measurements. +K - Finish measurements +K? - Write proposal + - Adaptive timeouts for giving up on circuits and streams. +M - Revise proposal 151 + - Downweight guards more sensibly: be more forgiving about using + Guard nodes as non-first-hop. + - Write proposal. + - Lagged weight updates in consensuses: don't just move abruptly. +M? - Write proposal + d Don't kill a circuit on the first failed extend. + +- Installers + - Switch to MSI on win32 + - Use Thandy, perhaps? -- Deprecations - - Make .exit safe, or make it off-by-default. +o Deprecations + o Make .exit safe, or make it off-by-default. |