net.i2p.router
Class DummyTunnelManagerFacade

java.lang.Object
  extended by net.i2p.router.DummyTunnelManagerFacade
All Implemented Interfaces:
Service, TunnelManagerFacade

 class DummyTunnelManagerFacade
extends java.lang.Object
implements TunnelManagerFacade

Build and maintain tunnels throughout the network.


Constructor Summary
DummyTunnelManagerFacade()
           
 
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
 void renderStatusHTML(java.io.Writer out)
           
 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
 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)
           
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DummyTunnelManagerFacade

DummyTunnelManagerFacade()
Method Detail

getTunnelInfo

public TunnelInfo getTunnelInfo(TunnelId id)
Description copied from interface: TunnelManagerFacade
Retrieve the information related to a particular tunnel

Specified by:
getTunnelInfo in interface TunnelManagerFacade
Parameters:
id - the tunnelId as seen at the gateway

selectInboundTunnel

public TunnelInfo selectInboundTunnel()
Description copied from interface: TunnelManagerFacade
pick an inbound tunnel not bound to a particular destination

Specified by:
selectInboundTunnel in interface TunnelManagerFacade

selectInboundTunnel

public TunnelInfo selectInboundTunnel(Hash destination)
Description copied from interface: TunnelManagerFacade
pick an inbound tunnel bound to the given destination

Specified by:
selectInboundTunnel in interface TunnelManagerFacade

selectOutboundTunnel

public TunnelInfo selectOutboundTunnel()
Description copied from interface: TunnelManagerFacade
pick an outbound tunnel not bound to a particular destination

Specified by:
selectOutboundTunnel in interface TunnelManagerFacade

selectOutboundTunnel

public TunnelInfo selectOutboundTunnel(Hash destination)
Description copied from interface: TunnelManagerFacade
pick an outbound tunnel bound to the given destination

Specified by:
selectOutboundTunnel in interface TunnelManagerFacade

isValidTunnel

public boolean isValidTunnel(Hash client,
                             TunnelInfo tunnel)
Description copied from interface: TunnelManagerFacade
Is a tunnel a valid member of the pool?

Specified by:
isValidTunnel in interface TunnelManagerFacade

getParticipatingCount

public int getParticipatingCount()
Description copied from interface: TunnelManagerFacade
how many tunnels are we participating in?

Specified by:
getParticipatingCount in interface TunnelManagerFacade

getFreeTunnelCount

public int getFreeTunnelCount()
Description copied from interface: TunnelManagerFacade
how many free inbound tunnels do we have available?

Specified by:
getFreeTunnelCount in interface TunnelManagerFacade

getOutboundTunnelCount

public int getOutboundTunnelCount()
Description copied from interface: TunnelManagerFacade
how many outbound tunnels do we have available?

Specified by:
getOutboundTunnelCount in interface TunnelManagerFacade

getInboundClientTunnelCount

public int getInboundClientTunnelCount()
Description copied from interface: TunnelManagerFacade
how many free inbound client tunnels do we have available?

Specified by:
getInboundClientTunnelCount in interface TunnelManagerFacade

getShareRatio

public double getShareRatio()
Specified by:
getShareRatio in interface TunnelManagerFacade

getOutboundClientTunnelCount

public int getOutboundClientTunnelCount()
Description copied from interface: TunnelManagerFacade
how many outbound client tunnels do we have available?

Specified by:
getOutboundClientTunnelCount in interface TunnelManagerFacade

getOutboundClientTunnelCount

public int getOutboundClientTunnelCount(Hash destination)
Description copied from interface: TunnelManagerFacade
how many outbound client tunnels in this pool?

Specified by:
getOutboundClientTunnelCount in interface TunnelManagerFacade

getLastParticipatingExpiration

public long getLastParticipatingExpiration()
Description copied from interface: TunnelManagerFacade
When does the last tunnel we are participating in expire?

Specified by:
getLastParticipatingExpiration in interface TunnelManagerFacade

buildTunnels

public void buildTunnels(Destination client,
                         ClientTunnelSettings settings)
Description copied from interface: TunnelManagerFacade
the client connected (or updated their settings), so make sure we have the tunnels for them, and whenever necessary, ask them to authorize leases.

Specified by:
buildTunnels in interface TunnelManagerFacade

getInboundSettings

public TunnelPoolSettings getInboundSettings()
Specified by:
getInboundSettings in interface TunnelManagerFacade

getOutboundSettings

public TunnelPoolSettings getOutboundSettings()
Specified by:
getOutboundSettings in interface TunnelManagerFacade

getInboundSettings

public TunnelPoolSettings getInboundSettings(Hash client)
Specified by:
getInboundSettings in interface TunnelManagerFacade

getOutboundSettings

public TunnelPoolSettings getOutboundSettings(Hash client)
Specified by:
getOutboundSettings in interface TunnelManagerFacade

setInboundSettings

public void setInboundSettings(TunnelPoolSettings settings)
Specified by:
setInboundSettings in interface TunnelManagerFacade

setOutboundSettings

public void setOutboundSettings(TunnelPoolSettings settings)
Specified by:
setOutboundSettings in interface TunnelManagerFacade

setInboundSettings

public void setInboundSettings(Hash client,
                               TunnelPoolSettings settings)
Specified by:
setInboundSettings in interface TunnelManagerFacade

setOutboundSettings

public void setOutboundSettings(Hash client,
                                TunnelPoolSettings settings)
Specified by:
setOutboundSettings in interface TunnelManagerFacade

getInboundBuildQueueSize

public int getInboundBuildQueueSize()
Description copied from interface: TunnelManagerFacade
count how many inbound tunnel requests we have received but not yet processed

Specified by:
getInboundBuildQueueSize in interface TunnelManagerFacade

selectPeersInTooManyTunnels

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

renderStatusHTML

public void renderStatusHTML(java.io.Writer out)
                      throws java.io.IOException
Specified by:
renderStatusHTML in interface Service
Throws:
java.io.IOException

restart

public void restart()
Description copied from interface: Service
Perform a soft restart.

Specified by:
restart in interface Service

shutdown

public void shutdown()
Description copied from interface: Service
Instruct the service that the router is shutting down and that it should do whatever is necessary to go down gracefully. It should not depend on other components at this point. This call DOES block.

Specified by:
shutdown in interface Service

startup

public void startup()
Description copied from interface: Service
Instruct the service that it should start normal operation. This call DOES block until the service is ready.

Specified by:
startup in interface Service

listPools

public void listPools(java.util.List<TunnelPool> out)
Description copied from interface: TunnelManagerFacade
for TunnelRenderer in router console

Specified by:
listPools in interface TunnelManagerFacade

getInboundClientPools

public java.util.Map<Hash,TunnelPool> getInboundClientPools()
Description copied from interface: TunnelManagerFacade
for TunnelRenderer in router console

Specified by:
getInboundClientPools in interface TunnelManagerFacade

getOutboundClientPools

public java.util.Map<Hash,TunnelPool> getOutboundClientPools()
Description copied from interface: TunnelManagerFacade
for TunnelRenderer in router console

Specified by:
getOutboundClientPools in interface TunnelManagerFacade

getInboundExploratoryPool

public TunnelPool getInboundExploratoryPool()
Description copied from interface: TunnelManagerFacade
for TunnelRenderer in router console

Specified by:
getInboundExploratoryPool in interface TunnelManagerFacade

getOutboundExploratoryPool

public TunnelPool getOutboundExploratoryPool()
Description copied from interface: TunnelManagerFacade
for TunnelRenderer in router console

Specified by:
getOutboundExploratoryPool in interface TunnelManagerFacade