- Move KBucketSetTest to new directory
- Fix testSelf() as new implementation will never include myself
- Delete KBucketImplTest, not applicable/useful now
Next todo: port KBSTest from i2p.zzz.kademlia branch
- Move net.i2p.kademlia package from i2psnark to core, and convert
netdb to use it.
- Delete old implementation in netdb
- Fixups in netdb for generics
- Add debug output to /debug
This is the next step in the development plan, in which we previously:
- Copied the code from netdb to the i2p.zzz.kademlia branch, fixed it,
and made it generic for hash size (June 2012);
- Moved it from the i2p.zzz.kademlia branch to the i2p.i2p.zzz.dhtsnark
branch, and implemented KRPC with it (June 2012);
- Propped it from i2p.i2p.zzz.dhtsnark to trunk for 0.9.2 (July-Sept. 2012);
- Proved it out in 0.9.2 - 0.9.9 (Oct. 2012 - Nov. 2013)
The plan was to maintain the KBucketSet public methods throughout the development
so we could drop the new version back into netdb, so here we drop it in.
Setting of K=16, B=3 is just an initial guess, to be reviewed.
This moves about 18 KB from i2psnark.jar to i2p.jar and removes about 12 KB from router.jar.
Unit test fixup: todo.
a client socket manager configured with i2cp.newDestOnResume,
or a shared client.
This prevents lots of orphaned StreamingTimer threads.
There are still cases where these threads may stick around,
when a tunnel is stopped but not restarted. We don't know in
some cases when a tunnel could be restarted and when it can't.
destroySocketManager() should always be called when discarding a
SocketManager but i2ptunnel doesn't do that now. More to do,
but this fixes the most common case of leaked threads.
Related tickets: ##642 #961
This will improve network capacity.
Apparent problems with lower limits were actually due to
unrelated bugs that were fixed by 0.9.8.1-22.
This can go lower still; I've been testing 33% without issues.