# Package net.i2p.router.peermanager

The peer manager logs information about the history and quality of network peers.

See: Description

- Class Summary
  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

## Package net.i2p.router.peermanager Description

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.