net.i2p.kademlia
Class RandomTrimmer<T extends SimpleDataStructure>

java.lang.Object
  extended by net.i2p.kademlia.RandomTrimmer<T>
All Implemented Interfaces:
KBucketTrimmer<T>
Direct Known Subclasses:
RandomIfOldTrimmer

public class RandomTrimmer<T extends SimpleDataStructure>
extends Object
implements KBucketTrimmer<T>

Removes a random element. Not resistant to flooding.

Since:
0.9.2

Field Summary
protected  I2PAppContext _ctx
           
 
Constructor Summary
RandomTrimmer(I2PAppContext ctx, int max)
           
 
Method Summary
 boolean trim(KBucket<T> kbucket, T toAdd)
          Called from add() just before adding the entry.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_ctx

protected final I2PAppContext _ctx
Constructor Detail

RandomTrimmer

public RandomTrimmer(I2PAppContext ctx,
                     int max)
Method Detail

trim

public boolean trim(KBucket<T> kbucket,
                    T toAdd)
Description copied from interface: KBucketTrimmer
Called from add() just before adding the entry. You may call getEntries() and/or remove() from here. Do NOT call add(). To always discard a newer entry, always return false.

Specified by:
trim in interface KBucketTrimmer<T extends SimpleDataStructure>
Parameters:
kbucket - the kbucket that is now too big
Returns:
true to actually add the entry.