Package net.i2p.router
Interface TunnelManagerFacade
- All Superinterfaces:
Service
- All Known Implementing Classes:
DummyTunnelManagerFacade,TunnelPoolManager
Build and maintain tunnels throughout the network.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanaddAlias(Destination dest, ClientTunnelSettings settings, Destination existingClient) Add another destination to the same tunnels.voidbuildTunnels(Destination client, ClientTunnelSettings settings) the client connected (or updated their settings), so make sure we have the tunnels for them, and whenever necessary, ask them to authorize leases.voidinthow many free inbound tunnels do we have available?intcount how many inbound tunnel requests we have received but not yet processedfor TunnelRenderer in router consoleinthow many free inbound client tunnels do we have available?for TunnelRenderer in router consolegetInboundPool(Hash client) getInboundSettings(Hash client) longWhen does the last tunnel we are participating in expire?for TunnelRenderer in router consoleinthow many outbound client tunnels do we have available?intgetOutboundClientTunnelCount(Hash destination) how many outbound client tunnels in this pool?for TunnelRenderer in router consolegetOutboundPool(Hash client) getOutboundSettings(Hash client) inthow many outbound tunnels do we have available?inthow many tunnels are we participating in?doubleDeprecated.unusedbooleanisValidTunnel(Hash client, TunnelInfo tunnel) Is a tunnel a valid member of the pool?voidlistPools(List<TunnelPool> out) for TunnelRenderer in router consolevoidremoveAlias(Destination dest) Remove another destination to the same tunnels.voidremoveTunnels(Destination client) Must be called AFTER deregistration by the client manager.selectInboundExploratoryTunnel(Hash closestTo) Pick the inbound exploratory tunnel with the gateway closest to the given hash.Pick a random inbound exploratory tunnelselectInboundTunnel(Hash destination) Pick a random inbound tunnel from the given destination's poolselectInboundTunnel(Hash destination, Hash closestTo) Pick the inbound tunnel with the gateway closest to the given hash from the given destination's pool.selectOutboundExploratoryTunnel(Hash closestTo) Pick the outbound exploratory tunnel with the endpoint closest to the given hash.Pick a random outbound exploratory tunnelselectOutboundTunnel(Hash destination) Pick a random outbound tunnel from the given destination's poolselectOutboundTunnel(Hash destination, Hash closestTo) Pick the outbound tunnel with the endpoint closest to the given hash from the given destination's pool.voidsetInboundSettings(Hash client, TunnelPoolSettings settings) voidsetInboundSettings(TunnelPoolSettings settings) voidsetOutboundSettings(Hash client, TunnelPoolSettings settings) voidsetOutboundSettings(TunnelPoolSettings settings) Methods inherited from interface net.i2p.router.Service
renderStatusHTML, restart, shutdown, startup
-
Method Details
-
getTunnelInfo
Deprecated.unusedRetrieve the information related to a particular tunnel- Parameters:
id- the tunnelId as seen at the gateway
-
selectInboundTunnel
TunnelInfo selectInboundTunnel()Pick a random inbound exploratory tunnel- Returns:
- null if none
-
selectInboundTunnel
Pick a random inbound tunnel from the given destination's pool- Parameters:
destination- if null, returns inbound exploratory tunnel- Returns:
- null if none
-
selectOutboundTunnel
TunnelInfo selectOutboundTunnel()Pick a random outbound exploratory tunnel- Returns:
- null if none
-
selectOutboundTunnel
Pick a random outbound tunnel from the given destination's pool- Parameters:
destination- if null, returns outbound exploratory tunnel- Returns:
- null if none
-
selectInboundExploratoryTunnel
Pick the inbound exploratory tunnel with the gateway closest to the given hash. By using this instead of the random selectTunnel(), we force some locality in OBEP-IBGW connections to minimize those connections network-wide.- Parameters:
closestTo- non-null- Returns:
- null if none
- Since:
- 0.8.10
-
selectInboundTunnel
Pick the inbound tunnel with the gateway closest to the given hash from the given destination's pool. By using this instead of the random selectTunnel(), we force some locality in OBEP-IBGW connections to minimize those connections network-wide.- Parameters:
destination- if null, returns inbound exploratory tunnelclosestTo- non-null- Returns:
- null if none
- Since:
- 0.8.10
-
selectOutboundExploratoryTunnel
Pick the outbound exploratory tunnel with the endpoint closest to the given hash. By using this instead of the random selectTunnel(), we force some locality in OBEP-IBGW connections to minimize those connections network-wide.- Parameters:
closestTo- non-null- Returns:
- null if none
- Since:
- 0.8.10
-
selectOutboundTunnel
Pick the outbound tunnel with the endpoint closest to the given hash from the given destination's pool. By using this instead of the random selectTunnel(), we force some locality in OBEP-IBGW connections to minimize those connections network-wide.- Parameters:
destination- if null, returns outbound exploratory tunnelclosestTo- non-null- Returns:
- null if none
- Since:
- 0.8.10
-
isValidTunnel
Is a tunnel a valid member of the pool? -
getParticipatingCount
int getParticipatingCount()how many tunnels are we participating in? -
getFreeTunnelCount
int getFreeTunnelCount()how many free inbound tunnels do we have available? -
getOutboundTunnelCount
int getOutboundTunnelCount()how many outbound tunnels do we have available? -
getInboundClientTunnelCount
int getInboundClientTunnelCount()how many free inbound client tunnels do we have available? -
getOutboundClientTunnelCount
int getOutboundClientTunnelCount()how many outbound client tunnels do we have available? -
getOutboundClientTunnelCount
how many outbound client tunnels in this pool? -
getLastParticipatingExpiration
long getLastParticipatingExpiration()When does the last tunnel we are participating in expire? -
getInboundBuildQueueSize
int getInboundBuildQueueSize()count how many inbound tunnel requests we have received but not yet processed -
selectPeersInTooManyTunnels
- Returns:
- Set of peers that should not be allowed to be in another tunnel
-
buildTunnels
the client connected (or updated their settings), so make sure we have the tunnels for them, and whenever necessary, ask them to authorize leases. -
removeTunnels
Must be called AFTER deregistration by the client manager.- Since:
- 0.9.48
-
addAlias
Add another destination to the same tunnels. Must have same encryption key and a different signing key.- Returns:
- success
- Throws:
IllegalArgumentException- if not- Since:
- 0.9.21
-
removeAlias
Remove another destination to the same tunnels.- Since:
- 0.9.21
-
getInboundSettings
TunnelPoolSettings getInboundSettings() -
getOutboundSettings
TunnelPoolSettings getOutboundSettings() -
getInboundSettings
-
getOutboundSettings
-
setInboundSettings
-
setOutboundSettings
-
setInboundSettings
-
setOutboundSettings
-
listPools
for TunnelRenderer in router console -
getInboundClientPools
Map<Hash,TunnelPool> getInboundClientPools()for TunnelRenderer in router console -
getOutboundClientPools
Map<Hash,TunnelPool> getOutboundClientPools()for TunnelRenderer in router console -
getInboundExploratoryPool
TunnelPool getInboundExploratoryPool()for TunnelRenderer in router console -
getOutboundExploratoryPool
TunnelPool getOutboundExploratoryPool()for TunnelRenderer in router console -
getInboundPool
- Returns:
- pool or null
- Since:
- 0.9.34
-
getOutboundPool
- Returns:
- pool or null
- Since:
- 0.9.34
-
fail
- Since:
- 0.8.13
-