See: Description
Class | Description |
---|---|
CapacityCalculator |
Estimate how many of our tunnels the peer can join per hour.
|
DBHistory |
History of NetDb related activities (lookups, replies, stores, etc)
|
IntegrationCalculator |
Determine how well integrated the peer is - how likely they will be useful
to us if we are trying to get further connected.
|
InverseCapacityComparator |
Order profiles by their capacity, but backwards (highest capacity / value first).
|
PeerManager |
Manage the current state of the statistics
All the capabilities methods appear to be almost unused -
TunnelPeerSelector just looks for unreachables, and that's it?
If so, a lot of this can go away, including the array of 26 ArrayLists,
and a lot of synchronization on _capabilitiesByPeer.
|
PeerManagerFacadeImpl |
Base implementation that has simple algorithms and periodically saves state
|
PeerProfile |
Copied from http://www.i2p2.i2p/how_peerselection.html
See also main() below for additional commentary by zzz.
|
PeerTestJob |
Grab some peers that we want to test and probe them briefly to get some
more accurate and up to date performance data.
|
ProfileManagerImpl | |
ProfileOrganizer |
Keep the peer profiles organized according to the tiered model.
|
ProfilePersistenceHelper |
Write profiles to disk at shutdown,
read at startup.
|
SpeedCalculator |
Quantify how fast the peer is - how fast they respond to our requests, how fast
they pass messages on, etc.
|
SpeedComparator |
Order profiles by their speed (lowest first).
|
TunnelHistory |
Tunnel related history information
|
The peer manager logs information about the history and quality of network peers.
Peer capacity, speed and other parameters are calculated to determine in what cases we should use each peer.