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 TypeMethodDescriptionboolean
addAlias
(Destination dest, ClientTunnelSettings settings, Destination existingClient) Add another destination to the same tunnels.void
buildTunnels
(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.void
int
how many free inbound tunnels do we have available?int
count how many inbound tunnel requests we have received but not yet processedfor TunnelRenderer in router consoleint
how many free inbound client tunnels do we have available?for TunnelRenderer in router consolegetInboundPool
(Hash client) getInboundSettings
(Hash client) long
When does the last tunnel we are participating in expire?for TunnelRenderer in router consoleint
how many outbound client tunnels do we have available?int
getOutboundClientTunnelCount
(Hash destination) how many outbound client tunnels in this pool?for TunnelRenderer in router consolegetOutboundPool
(Hash client) getOutboundSettings
(Hash client) int
how many outbound tunnels do we have available?int
how many tunnels are we participating in?double
Deprecated.unusedboolean
isValidTunnel
(Hash client, TunnelInfo tunnel) Is a tunnel a valid member of the pool?void
listPools
(List<TunnelPool> out) for TunnelRenderer in router consolevoid
removeAlias
(Destination dest) Remove another destination to the same tunnels.void
removeTunnels
(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.void
setInboundSettings
(Hash client, TunnelPoolSettings settings) void
setInboundSettings
(TunnelPoolSettings settings) void
setOutboundSettings
(Hash client, TunnelPoolSettings settings) void
setOutboundSettings
(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
-