summaryrefslogtreecommitdiff
path: root/doc/TODO.022
diff options
context:
space:
mode:
Diffstat (limited to 'doc/TODO.022')
-rw-r--r--doc/TODO.02277
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.