The question boils down to why do the vast majority of nodes on an announcement 
chain reject the announcement. The answer appears to be:

Most of the time, we reject a new node (from path folding or an announcement) 
because we only drop a connected peer every 10 minutes, even if it is 
isDroppable(). Of course, we drop disconnected isDroppable() peers (= peers 
that disconnected more than a few minutes ago) very quickly, but most peers are 
usually connected.

Generally there are peers we could drop according to isDroppable() (more 
heuristics, e.g. don't drop a node if we added it less than 5 minutes ago), but 
we don't drop them because of the 10 minute throttle.

Also, we only drop a connected peer after every 10 successful requests. This 
appears not to be very significant on my node however.

Thoughts? evanbd suggested a token bucket for the intervals in OpennetManager - 
we have two, this one and one for adding old-opennet-peers. This would allow 
more burstiness.

Or we could scrap the 10 minute interval altogether (or cut it drastically) and 
rely on the 10 successful requests criterion?

Anything we do to opennet may disrupt the network if we get it wrong, and even 
if it's right it may take time to settle...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 835 bytes
Desc: This is a digitally signed message part.
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20091127/7ff4a0c0/attachment.pgp>

Reply via email to