java.lang.Object
net.i2p.router.tunnel.pool.ClientPeerSelector.SelectionExclusions
Enclosing class:
ClientPeerSelector

private static final class ClientPeerSelector.SelectionExclusionsextends Object
Excluder + exclusion counts gathered once per selectPeers() call; exclude is wrapped by the hop helpers.
  • Field Details

    • excluder

      Excluder of pool and session peers.
    • exclude

      Set<Hash> exclude
      Peers explicitly excluded from the selection.
    • firstHop

      Hash firstHop
      The vetted first hop already in rv, or null when the slot is empty.
    • peerCooldownExcluded

      final int peerCooldownExcluded
      Peers skipped for a fresh cooldown.
    • firstHopFailCount

      final int firstHopFailCount
      Recent first-hop failures counted.
    • firstPeerExclusions

      final Set<Hash> firstPeerExclusions
      Peers to skip at the first hop.
    • firstHopCooldowns

      final Set<Hash> firstHopCooldowns
      Fresh shared-cooldown peers, first-hop-only filter (null when cooldowns are in the base exclude set).
  • Constructor Details

    • SelectionExclusions

      SelectionExclusions(TunnelPeerSelector.Excluder excluder, Set<Hash> exclude, int peerCooldownExcluded, int firstHopFailCount, Set<Hash> firstPeerExclusions, Set<Hash> firstHopCooldowns)
      Records what must not be selected in one pass.
      Parameters:
      excluder - the excluder of pool and session peers
      exclude - the peers explicitly excluded
      peerCooldownExcluded - the peers skipped for a fresh cooldown
      firstHopFailCount - the recent first-hop failure count
      firstPeerExclusions - the peers to skip at the first hop
      firstHopCooldowns - the first hop peers still cooling down