On Fri, Dec 5, 2008 at 10:10 PM, Matthew Toseland <toad at amphibian.dyndns.org> wrote: > We should reconnect faster to our old peers on opennet. > > Current reality: > We have 20 opennet peers (less if we have darknet connections). We use strict > LRU, except that we have some heuristics for whether we can drop a node, > which are designed to manage churn. We keep the last 50 opennet nodes we've > connected to in a file called old-opennet-peers, but actually connecting to > them is unusual, since only one side will be sending, and the other side only > accepts if it has the capacity... > > Proposal: > Keep a list of old-opennet-peers. Add to this list on disconnecting only if 1) > the node wasn't dropped by LRU by either side, and 2) the node was eligible > to be dropped - hence only add them if they were useful to us. Also have a > time limit, perhaps a week. When we have free slots in the peers list, > actively attempt to reconnect to these old nodes, by fetching their ARKs, and > sending them packets. > > I'm still not 100% sure about this ... any time we alllow old peers to > reconnect, we're clobbering a slot which could have been used by a new > destination sample. And the same applies in reverse - when we have a > successful CHK request, we often have a new noderef to connect to. If we let > the two compete on an equal footing I'm concerned it will be dominated by one > or the other. Is this a reasonable concern? Could we ration it somehow? The > nodes we are talking about have earned a position on the LRU list in the > past ... Perhaps we could connect to them but not actually accept them as > routable (both ways) until we have a free slot? > > Logically, if we have a free slot, and we let one of our old-opennet-peers use > it, that slot isn't lost - we know the peer was useful once. And it's been > removed from the list. If it proves useful it may go back on the list, but it > can only be re-added once it reconnects. So perhaps there isn't a problem on > that side ... on the other side, we could well be crowded out by new > connections, and offers of connections ... > > We could perhaps be more slack about disconnected nodes - at the moment we > give them 5 minutes to reconnect, during which time their slot is > disconnected but not reusable. > > Thoughts?? I have half a proposal here, it would be good to make it into a > full proposal... >
Your subject read "Faster" opennet reconnection. I guess it is faster because they don't need new handshake, right? How much faster it would be? --
