net.i2p.router.tunnel.pool
public class TunnelPoolManager extends Object implements TunnelManagerFacade
Constructor and Description |
---|
TunnelPoolManager(RouterContext ctx) |
Modifier and Type | Method and Description |
---|---|
(package private) void |
buildComplete(PooledTunnelCreatorConfig cfg)
queue a recurring test job if appropriate
|
void |
buildTunnels(Destination client,
ClientTunnelSettings settings)
Used only at session startup.
|
(package private) BuildExecutor |
getExecutor() |
int |
getFreeTunnelCount()
how many free inbound tunnels do we have available?
|
int |
getInboundBuildQueueSize()
count how many inbound tunnel requests we have received but not yet processed
|
Map<Hash,TunnelPool> |
getInboundClientPools()
for TunnelRenderer in router console
|
int |
getInboundClientTunnelCount()
how many free inbound client tunnels do we have available?
|
TunnelPool |
getInboundExploratoryPool()
for TunnelRenderer in router console
|
TunnelPoolSettings |
getInboundSettings() |
TunnelPoolSettings |
getInboundSettings(Hash client) |
long |
getLastParticipatingExpiration()
When does the last tunnel we are participating in expire?
|
Map<Hash,TunnelPool> |
getOutboundClientPools()
for TunnelRenderer in router console
|
int |
getOutboundClientTunnelCount()
how many outbound client tunnels do we have available?
|
int |
getOutboundClientTunnelCount(Hash destination)
Use to verify a tunnel pool is alive
|
TunnelPool |
getOutboundExploratoryPool()
for TunnelRenderer in router console
|
TunnelPoolSettings |
getOutboundSettings() |
TunnelPoolSettings |
getOutboundSettings(Hash client) |
int |
getOutboundTunnelCount()
how many outbound tunnels do we have available?
|
int |
getParticipatingCount()
how many tunnels are we participating in?
|
double |
getShareRatio() |
TunnelInfo |
getTunnelInfo(TunnelId id)
Retrieve the information related to a particular tunnel
|
(package private) boolean |
isShutdown() |
boolean |
isValidTunnel(Hash client,
TunnelInfo tunnel)
Is a tunnel a valid member of the pool?
|
void |
listPools(List<TunnelPool> out)
list of TunnelPool instances currently in play
|
void |
removeTunnels(Hash destination)
synch with buildTunnels() above
|
void |
renderStatusHTML(Writer out)
Deprecated.
moved to routerconsole
|
void |
restart()
Perform a soft restart.
|
TunnelInfo |
selectInboundTunnel()
pick an inbound tunnel not bound to a particular destination
|
TunnelInfo |
selectInboundTunnel(Hash destination)
pick an inbound tunnel bound to the given destination
|
TunnelInfo |
selectOutboundTunnel()
pick an outbound tunnel not bound to a particular destination
|
TunnelInfo |
selectOutboundTunnel(Hash destination)
pick an outbound tunnel bound to the given destination
|
Set<Hash> |
selectPeersInTooManyTunnels()
For reliability reasons, don't allow a peer in more than x% of
client and exploratory tunnels.
|
void |
setInboundSettings(Hash client,
TunnelPoolSettings settings) |
void |
setInboundSettings(TunnelPoolSettings settings) |
void |
setOutboundSettings(Hash client,
TunnelPoolSettings settings) |
void |
setOutboundSettings(TunnelPoolSettings settings) |
void |
shutdown()
Instruct the service that the router is shutting down and that it should do
whatever is necessary to go down gracefully.
|
void |
startup()
Instruct the service that it should start normal operation.
|
(package private) void |
tunnelFailed() |
public TunnelPoolManager(RouterContext ctx)
public TunnelInfo selectInboundTunnel()
selectInboundTunnel
in interface TunnelManagerFacade
public TunnelInfo selectInboundTunnel(Hash destination)
selectInboundTunnel
in interface TunnelManagerFacade
public TunnelInfo selectOutboundTunnel()
selectOutboundTunnel
in interface TunnelManagerFacade
public TunnelInfo selectOutboundTunnel(Hash destination)
selectOutboundTunnel
in interface TunnelManagerFacade
public TunnelInfo getTunnelInfo(TunnelId id)
TunnelManagerFacade
getTunnelInfo
in interface TunnelManagerFacade
id
- the tunnelId as seen at the gatewaypublic int getFreeTunnelCount()
TunnelManagerFacade
getFreeTunnelCount
in interface TunnelManagerFacade
public int getOutboundTunnelCount()
TunnelManagerFacade
getOutboundTunnelCount
in interface TunnelManagerFacade
public int getInboundClientTunnelCount()
TunnelManagerFacade
getInboundClientTunnelCount
in interface TunnelManagerFacade
public int getOutboundClientTunnelCount()
TunnelManagerFacade
getOutboundClientTunnelCount
in interface TunnelManagerFacade
public int getOutboundClientTunnelCount(Hash destination)
getOutboundClientTunnelCount
in interface TunnelManagerFacade
public int getParticipatingCount()
TunnelManagerFacade
getParticipatingCount
in interface TunnelManagerFacade
public long getLastParticipatingExpiration()
TunnelManagerFacade
getLastParticipatingExpiration
in interface TunnelManagerFacade
public double getShareRatio()
getShareRatio
in interface TunnelManagerFacade
public boolean isValidTunnel(Hash client, TunnelInfo tunnel)
TunnelManagerFacade
isValidTunnel
in interface TunnelManagerFacade
public TunnelPoolSettings getInboundSettings()
getInboundSettings
in interface TunnelManagerFacade
public TunnelPoolSettings getOutboundSettings()
getOutboundSettings
in interface TunnelManagerFacade
public void setInboundSettings(TunnelPoolSettings settings)
setInboundSettings
in interface TunnelManagerFacade
public void setOutboundSettings(TunnelPoolSettings settings)
setOutboundSettings
in interface TunnelManagerFacade
public TunnelPoolSettings getInboundSettings(Hash client)
getInboundSettings
in interface TunnelManagerFacade
public TunnelPoolSettings getOutboundSettings(Hash client)
getOutboundSettings
in interface TunnelManagerFacade
public void setInboundSettings(Hash client, TunnelPoolSettings settings)
setInboundSettings
in interface TunnelManagerFacade
public void setOutboundSettings(Hash client, TunnelPoolSettings settings)
setOutboundSettings
in interface TunnelManagerFacade
public void restart()
Service
public void buildTunnels(Destination client, ClientTunnelSettings settings)
buildTunnels
in interface TunnelManagerFacade
public void removeTunnels(Hash destination)
void buildComplete(PooledTunnelCreatorConfig cfg)
public void startup()
Service
public void shutdown()
Service
public void listPools(List<TunnelPool> out)
listPools
in interface TunnelManagerFacade
void tunnelFailed()
BuildExecutor getExecutor()
boolean isShutdown()
public int getInboundBuildQueueSize()
TunnelManagerFacade
getInboundBuildQueueSize
in interface TunnelManagerFacade
public void renderStatusHTML(Writer out) throws IOException
renderStatusHTML
in interface Service
IOException
public Set<Hash> selectPeersInTooManyTunnels()
selectPeersInTooManyTunnels
in interface TunnelManagerFacade
public Map<Hash,TunnelPool> getInboundClientPools()
getInboundClientPools
in interface TunnelManagerFacade
public Map<Hash,TunnelPool> getOutboundClientPools()
getOutboundClientPools
in interface TunnelManagerFacade
public TunnelPool getInboundExploratoryPool()
getInboundExploratoryPool
in interface TunnelManagerFacade
public TunnelPool getOutboundExploratoryPool()
getOutboundExploratoryPool
in interface TunnelManagerFacade