- 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.
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.
- Put garlicked DSM messages in the InNetMessagePool instead of handling directly,
so the IterativeSearchJob will see the response and declare success.
Only affected LS lookups as we do not request encrypted replies for RI lookups.
Similar to the fix for verifies 6dc5bed94321ae2b290cfe351511d18465e08f91
This bug was causing initial lookups to fail but subsequent ones to succeed.
Broken since 0.9.7 when encrypted replies was introduced.
Ticket #1125
- Fix several 'increment of volatile is not atomic' all over
Remaining: UDP PeerState.java, to be checked in separately
- Comment out all of unused MessageStateMonitor