diff options
Diffstat (limited to 'doc/TODO')
-rw-r--r-- | doc/TODO | 43 |
1 files changed, 23 insertions, 20 deletions
@@ -46,39 +46,42 @@ N - Destroy and truncated cells should have reasons. - Specify - Implement -N - Only use a routerdesc if you recognize its hash. +N . Only use a routerdesc if you recognize its hash. o (Must defer till dirservers are upgraded to latest code, which actually generates these hashes.) - - Of course, authdirservers must not do this. + . Of course, authdirservers must not do this. o If we have a routerdesc for Bob, and he says, "I'm 0.1.0.x", don't fetch a new one if it was published in the last 2 hours. - - How does this interact with the 'recognized hash' rule? - - Do not ask for any routers until we have 2 networkstatuses. - - Client side: - - Keep a record of which hash is most desirable for each router inside + X Don't, actually. This is the authorities' job to straighten out. + o Do not ask for any routers until we have 2 networkstatuses. + . Client side: + o Keep a record of which hash is most desirable for each router inside local_routerstatus_t. - - If any hash is listed by two or more networkstatuses, the most + o If any hash is listed by two or more networkstatuses, the most recent such hash is most desirable. - - Otherwise, the most recent is desirable. - - Once we've accepted a router, it's okay. - - Do not accept a router that no networkstatus lists. (This should maybe + o Otherwise, the most recent is desirable. + o Once we've accepted a router, it's okay. + o Do not accept a router that no networkstatus lists. (This should maybe get stricter.) - - Download by fingerprint. - - Reset failure count to zero when hash changes. - - Mirrors and authorities: - - Every time we hear a new networkstatus, we want every hash it lists. - - Make sure that we are always willing to keep at least N routerinfos + o Download by descriptor digest. + o Reset failure count to zero when hash changes. + . Test + - Do we want to rate-limit downloads of each identity? + . Mirrors and authorities: + o Every time we hear a new networkstatus, we want every hash it lists. + o Make sure that we are always willing to keep at least N routerinfos per router, where N = number of authorities. - - Do whatever else is needed to be sure that we don't request + o Do whatever else is needed to be sure that we don't request hashes that would be immediately discarded, or discard hashes that would be immediately re-requested. - - Only fetch routerinfo from an authority that mentions is. - - Only ask each authority once. - - Retry soon after failure. - - We need one bit per routerstatus for "should we download from + o Only fetch routerinfo from an authority that mentions is. + o Only ask each authority once. + o Retry soon after failure. + o We need one bit per routerstatus for "should we download from this guy." - Verify that we are actually storing retained old descriptors to our cache. + - Test. - Non-directories don't need to keep descriptors in memory. N - Should router info have a pointer to routerstatus? |