net.i2p.router
Interface TunnelManagerFacade

All Superinterfaces:
Service
All Known Implementing Classes:
DummyTunnelManagerFacade, TunnelPoolManager

public interface TunnelManagerFacade
extends Service

Build and maintain tunnels throughout the network.


Method Summary
 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.
 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
 java.util.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?
 java.util.Map<Hash,TunnelPool> getOutboundClientPools()
          for TunnelRenderer in router console
 int getOutboundClientTunnelCount()
          how many outbound client tunnels do we have available?
 int getOutboundClientTunnelCount(Hash destination)
          how many outbound client tunnels in this pool?
 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
 boolean isValidTunnel(Hash client, TunnelInfo tunnel)
          Is a tunnel a valid member of the pool?
 void listPools(java.util.List<TunnelPool> out)
          for TunnelRenderer in router console
 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
 java.util.Set<Hash> selectPeersInTooManyTunnels()
           
 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 Detail

getTunnelInfo

TunnelInfo getTunnelInfo(TunnelId id)
Retrieve the information related to a particular tunnel

Parameters:
id - the tunnelId as seen at the gateway

selectInboundTunnel

TunnelInfo selectInboundTunnel()
pick an inbound tunnel not bound to a particular destination


selectInboundTunnel

TunnelInfo selectInboundTunnel(Hash destination)
pick an inbound tunnel bound to the given destination


selectOutboundTunnel

TunnelInfo selectOutboundTunnel()
pick an outbound tunnel not bound to a particular destination


selectOutboundTunnel

TunnelInfo selectOutboundTunnel(Hash destination)
pick an outbound tunnel bound to the given destination


isValidTunnel

boolean isValidTunnel(Hash client,
                      TunnelInfo tunnel)
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

int getOutboundClientTunnelCount(Hash destination)
how many outbound client tunnels in this pool?


getShareRatio

double getShareRatio()

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

java.util.Set<Hash> selectPeersInTooManyTunnels()
Returns:
Set of peers that should not be allowed to be in another tunnel

buildTunnels

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.


getInboundSettings

TunnelPoolSettings getInboundSettings()

getOutboundSettings

TunnelPoolSettings getOutboundSettings()

getInboundSettings

TunnelPoolSettings getInboundSettings(Hash client)

getOutboundSettings

TunnelPoolSettings getOutboundSettings(Hash client)

setInboundSettings

void setInboundSettings(TunnelPoolSettings settings)

setOutboundSettings

void setOutboundSettings(TunnelPoolSettings settings)

setInboundSettings

void setInboundSettings(Hash client,
                        TunnelPoolSettings settings)

setOutboundSettings

void setOutboundSettings(Hash client,
                         TunnelPoolSettings settings)

listPools

void listPools(java.util.List<TunnelPool> out)
for TunnelRenderer in router console


getInboundClientPools

java.util.Map<Hash,TunnelPool> getInboundClientPools()
for TunnelRenderer in router console


getOutboundClientPools

java.util.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