| Package | Description |
|---|---|
| net.i2p.router.tunnel.pool | Tunnel pool management, creation, and peer selection for I2P's anonymous routing system. |
| Modifier and Type | Method and Description |
|---|---|
(package private) PooledTunnelCreatorConfig | AliasedTunnelPool.configureNewTunnel() |
(package private) PooledTunnelCreatorConfig | TunnelPool.configureNewTunnel()This only sets the peers and creation/expiration times in the configuration. |
(package private) PooledTunnelCreatorConfig | BuildExecutor.removeFromBuilding(long id)This returns the PTCC up to a minute after it 'expired', thus allowing us to
still use a tunnel if it was accepted, and to update peer stats. |
| Modifier and Type | Method and Description |
|---|---|
List<PooledTunnelCreatorConfig> | TunnelPool.cancelExcessInProgress(int maxAllowed)Cancel excess in-progress tunnel builds to stay within budget. |
List<PooledTunnelCreatorConfig> | AliasedTunnelPool.listPending() |
List<PooledTunnelCreatorConfig> | TunnelPool.listPending()List of tunnelInfo instances of tunnels currently being built. |
| Modifier and Type | Method and Description |
|---|---|
(package private) void | TunnelPoolManager.buildComplete(PooledTunnelCreatorConfig cfg)Queue a recurring test job if appropriate. |
void | BuildExecutor.buildComplete(PooledTunnelCreatorConfig cfg,
BuildExecutor.Result result)Handle a completed tunnel build. |
(package private) void | AliasedTunnelPool.buildComplete(PooledTunnelCreatorConfig cfg,
BuildExecutor.Result result) |
(package private) void | TunnelPool.buildComplete(PooledTunnelCreatorConfig cfg,
BuildExecutor.Result result)Remove from the _inprogress list and call addTunnel() if result is SUCCESS. |
void | BuildExecutor.buildComplete(PooledTunnelCreatorConfig cfg,
BuildExecutor.Result result,
String detail)Handle a completed tunnel build with additional detail. |
(package private) void | BuildExecutor.buildTunnel(PooledTunnelCreatorConfig cfg)Build a tunnel with the given configuration. |
(package private) void | BuildExecutor.cooldownFailedPeers(PooledTunnelCreatorConfig cfg)Cool down every non-self hop of a failed build so the immediate retry
selects different peers. |
static Hash | BuildRequestor.getBuildRequestPeer(PooledTunnelCreatorConfig cfg)The peer that will receive the tunnel build request (TBM): the
gateway (peer 0) for inbound tunnels, or the next hop (peer 1) for
outbound tunnels. |
static Long | ExpireJob.getTunnelKey(PooledTunnelCreatorConfig cfg)Get the unique key for this tunnel config. |
(package private) static boolean | TestJob.hasValidTunnelIds(PooledTunnelCreatorConfig cfg)Whether the tunnel config has non-zero tunnel IDs at hop 0, i.e. |
(package private) static boolean | TestJob.isEarlyExpiry(PooledTunnelCreatorConfig cfg,
long now)Whether the tunnel expires so soon it is not worth testing — it has
already been pruned for early expiry. |
(package private) static boolean | TestJob.isPingTunnel(PooledTunnelCreatorConfig cfg)Whether the tunnel belongs to a ping pool, which is short-lived and
does not need testing. |
(package private) void | BuildExecutor.penalizeTimeout(PooledTunnelCreatorConfig cfg)Penalize the peers of an expired build. |
static void | ExpireJob.removeFromExpiration(PooledTunnelCreatorConfig cfg)Remove a tunnel from the expiration queue. |
(package private) void | TunnelPoolManager.removeFromExpiration(PooledTunnelCreatorConfig cfg)Remove a tunnel from the expiration queue to prevent memory leak |
(package private) void | TunnelPool.removeInProgress(PooledTunnelCreatorConfig cfg)Remove a config that was never actually sent to the network (e.g. |
static boolean | BuildRequestor.request(RouterContext ctx,
PooledTunnelCreatorConfig cfg,
BuildExecutor exec,
long firstHopTimeout)Initiates a tunnel build request. |
static void | ExpireJob.scheduleExpiration(RouterContext ctx,
PooledTunnelCreatorConfig cfg)Schedule a tunnel for batched expiration. |
static boolean | TestJob.shouldSchedule(RouterContext ctx,
PooledTunnelCreatorConfig cfg)Static method to check if a TestJob should be created and scheduled. |
| Constructor and Description |
|---|
TestJob(RouterContext ctx,
PooledTunnelCreatorConfig cfg,
TunnelPool pool)TestJob. |