Packages that use ClientPeerSelector.SelectionExclusions
Package
Description
Tunnel pool management: pool lifecycle, peer selection, build scheduling and failure handling for client and exploratory tunnels.
Uses of ClientPeerSelector.SelectionExclusions in net.i2p.router.tunnel.pool
Methods in net.i2p.router.tunnel.pool that return ClientPeerSelector.SelectionExclusionsModifier and TypeMethodDescriptionClientPeerSelector.buildExclusions(TunnelPoolSettings settings, boolean isInbound, double buildSuccess, int length) Build the lazy Excluder with client/shared cooldowns, first/last peer and pool diversity exclusions.Methods in net.i2p.router.tunnel.pool with parameters of type ClientPeerSelector.SelectionExclusionsModifier and TypeMethodDescriptionClientPeerSelector.applyShortfallFallbacks(TunnelPoolSettings settings, List<Hash> rv, int length, ClientPeerSelector.SelectionParams params, ClientPeerSelector.SelectionExclusions ex) Progressive fallbacks when the selected peers are short of the requested length.ClientPeerSelector.buildSoftFallbackExclude(Set<Hash> exclude, ClientPeerSelector.SelectionExclusions ex) Builds the soft-fallback exclusion set: a copy of the first-hop exclusion set without no-signal-excluded peers that have proven track records (tunnel acceptance > 50% and at least one successful test), giving them a chance when all standard tiers fail.private intClientPeerSelector.collectActive(List<Hash> rv, int min, ClientPeerSelector.SelectionExclusions ex) Pulls connected peers, which are not reachable through the profile tier cascade at all: a peer with an established transport session but no usable profile still builds fast.private intClientPeerSelector.collectFromTier(List<Hash> rv, int min, ClientPeerSelector.SelectionParams params, ClientPeerSelector.SelectionExclusions ex) One cascading tier selection.private intClientPeerSelector.fillRemainingHops(List<Hash> rv, int min, ClientPeerSelector.SelectionParams params, ClientPeerSelector.SelectionExclusions ex) Topsrvup tominhops from the tier ladder, inserting new middle hops before the vetted first hop so rv keeps its [endpoint ..private voidClientPeerSelector.refillFirstHop(ClientPeerSelector.SelectionParams params, SessionKey randomKey, ClientPeerSelector.SelectionExclusions ex, ArraySet<Hash> matches, boolean inStartup) Refill the first-hop candidate batch after a quality-loop ejection.private voidClientPeerSelector.selectFirstHop(int length, ClientPeerSelector.SelectionParams params, SessionKey randomKey, ClientPeerSelector.SelectionExclusions ex, ArraySet<Hash> matches) Select the first hop, IBGW for inbound and the closest outbound peer otherwise, with a quality loop and pre-connect.ClientPeerSelector.selectHops(TunnelPoolSettings settings, int length, ClientPeerSelector.SelectionParams params, ClientPeerSelector.SelectionExclusions ex) Single-hop or multi-hop selection for one tunnel length.ClientPeerSelector.selectHopsWithRetry(TunnelPoolSettings settings, int length, ClientPeerSelector.SelectionParams params, ClientPeerSelector.SelectionExclusions ex) Draws every hop, drops unsuitable peers (ghost and banlisted), and redraws once from a fresh exclusion set when filtering emptied the selection.private voidClientPeerSelector.selectMiddleHops(int length, ClientPeerSelector.SelectionParams params, SessionKey randomKey, ClientPeerSelector.SelectionExclusions ex, ArraySet<Hash> matches, List<Hash> rv) Select the middle hop(s) of a tunnel longer than 2 hops, subtiers 2-3, quality-ordered.ClientPeerSelector.selectMultiHop(TunnelPoolSettings settings, int length, ClientPeerSelector.SelectionParams params, ClientPeerSelector.SelectionExclusions ex, ArraySet<Hash> matches) Select all hops of a multi-hop tunnel: last hop, middle hops, then first hop.ClientPeerSelector.selectSingleHop(TunnelPoolSettings settings, int length, ClientPeerSelector.SelectionParams params, ClientPeerSelector.SelectionExclusions ex, ArraySet<Hash> matches) Select the single hop of a 1-hop tunnel (with hidden-inbound special case).