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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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
    `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)` 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(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
    `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

          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(List<TunnelPool> out)

      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