class PeerSelector extends Object
Modifier and Type | Field and Description |
---|---|
protected RouterContext |
_context |
protected Log |
_log |
Constructor and Description |
---|
PeerSelector(RouterContext ctx) |
Modifier and Type | Method and Description |
---|---|
(package private) List<Hash> |
selectMostReliablePeers(Hash key,
int numClosest,
Set<Hash> alreadyChecked,
KBucketSet<Hash> kbuckets)
UNUSED - See FloodfillPeerSelector override
Search through the kbucket set to find the most reliable peers close to the
given key, skipping all of the ones already checked
List will not include our own hash.
|
(package private) List<Hash> |
selectNearest(Hash key,
int maxNumRouters,
Set<Hash> peersToIgnore,
KBucketSet<Hash> kbuckets)
UNUSED - See FloodfillPeerSelector override
Generic KBucket filtering to find the hashes close to a key, regardless of other considerations.
|
(package private) List<Hash> |
selectNearestExplicit(Hash key,
int maxNumRouters,
Set<Hash> peersToIgnore,
KBucketSet<Hash> kbuckets)
Ignore KBucket ordering and do the XOR explicitly per key.
|
(package private) List<Hash> |
selectNearestExplicitThin(Hash key,
int maxNumRouters,
Set<Hash> peersToIgnore,
KBucketSet<Hash> kbuckets)
UNUSED - See FloodfillPeerSelector override
Ignore KBucket ordering and do the XOR explicitly per key.
|
protected final Log _log
protected final RouterContext _context
public PeerSelector(RouterContext ctx)
List<Hash> selectMostReliablePeers(Hash key, int numClosest, Set<Hash> alreadyChecked, KBucketSet<Hash> kbuckets)
List<Hash> selectNearestExplicit(Hash key, int maxNumRouters, Set<Hash> peersToIgnore, KBucketSet<Hash> kbuckets)
List<Hash> selectNearestExplicitThin(Hash key, int maxNumRouters, Set<Hash> peersToIgnore, KBucketSet<Hash> kbuckets)
List<Hash> selectNearest(Hash key, int maxNumRouters, Set<Hash> peersToIgnore, KBucketSet<Hash> kbuckets)
key
- the original key (NOT the routing key)peersToIgnore
- can be null