Package net.i2p.router.peermanager
Class PeerManager
- java.lang.Object
-
- net.i2p.router.peermanager.PeerManager
-
class PeerManager extends Object
Manage the current state of the statistics Also maintain Sets for each of the capabilities in TRACKED_CAPS.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static intREORGANIZES_PER_DAYAfter first two hours of uptime ~= 246static StringTRACKED_CAPS
-
Constructor Summary
Constructors Constructor Description PeerManager(RouterContext context)Profiles are now loaded in a separate thread, so this should return quickly.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidclearProfiles()intcountPeersByCapability(char capability)Set<Hash>getPeersByCapability(char capability)(package private) voidloadProfiles()This may take a long time - 30 seconds or morevoidremoveCapabilities(Hash peer)(package private) Set<Hash>selectPeers()(package private) List<Hash>selectPeers(PeerSelectionCriteria criteria)Find some peers that meet the criteria and we have the netDb info for locally.voidsetCapabilities(Hash peer, String caps)(package private) voidstoreProfile(Hash peer)(package private) voidstoreProfiles()
-
-
-
Field Detail
-
REORGANIZES_PER_DAY
static final int REORGANIZES_PER_DAY
After first two hours of uptime ~= 246- See Also:
- Constant Field Values
-
TRACKED_CAPS
public static final String TRACKED_CAPS
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PeerManager
public PeerManager(RouterContext context)
Profiles are now loaded in a separate thread, so this should return quickly.
-
-
Method Detail
-
storeProfiles
void storeProfiles()
-
clearProfiles
void clearProfiles()
- Since:
- 0.8.8
-
storeProfile
void storeProfile(Hash peer)
-
loadProfiles
void loadProfiles()
This may take a long time - 30 seconds or more
-
selectPeers
List<Hash> selectPeers(PeerSelectionCriteria criteria)
Find some peers that meet the criteria and we have the netDb info for locally. Returned list will not include ourselves. Only used by PeerTestJob (PURPOSE_TEST)
-
setCapabilities
public void setCapabilities(Hash peer, String caps)
- Parameters:
caps- non-null, case is ignored
-
removeCapabilities
public void removeCapabilities(Hash peer)
-
getPeersByCapability
public Set<Hash> getPeersByCapability(char capability)
- Parameters:
capability- case-insensitive- Returns:
- non-null unmodifiable set
-
countPeersByCapability
public int countPeersByCapability(char capability)
- Parameters:
capability- case-insensitive- Returns:
- how many
- Since:
- 0.9.45
-
-