## Uses of Class
net.i2p.data.TunnelId

Packages that use TunnelId
net.i2p.data: These classes define the common data structures used by the various I2P protocols.
net.i2p.data.i2cp: The Invisible Internet Client Protocol (I2CP) allows applications simplified access to the I2P network without requiring them to deal with the issues involved with the Invisible Internet Network Protocol (I2NP).
net.i2p.data.i2np: The Invisible Internet Network Protocol (I2NP) is only a part of how an application can send messages over the network.
net.i2p.router: The I2P router application handles the I2P network communication.
net.i2p.router.networkdb
net.i2p.router.networkdb.kademlia
net.i2p.router.tunnel
net.i2p.router.tunnel.pool

Uses of TunnelId in net.i2p.data

Methods in net.i2p.data that return TunnelId
`TunnelId` `Lease.getTunnelId()` Tunnel on the gateway to communicate with

Methods in net.i2p.data with parameters of type TunnelId
`void` `Lease.setTunnelId(TunnelId id)` Configure the tunnel on the gateway to communicate with

Uses of TunnelId in net.i2p.data.i2cp

Methods in net.i2p.data.i2cp that return TunnelId
`TunnelId` `RequestLeaseSetMessage.getTunnelId(int endpoint)`

Methods in net.i2p.data.i2cp with parameters of type TunnelId
`void` `RequestLeaseSetMessage.addEndpoint(Hash router, TunnelId tunnel)`

Uses of TunnelId in net.i2p.data.i2np

Methods in net.i2p.data.i2np that return TunnelId
`TunnelId` `DatabaseStoreMessage.getReplyTunnel()`
`TunnelId` `DatabaseLookupMessage.getReplyTunnel()` Contains the tunnel ID a reply should be sent to
`TunnelId` `DeliveryInstructions.getTunnelId()`
`TunnelId` `TunnelGatewayMessage.getTunnelId()`
`TunnelId` `TunnelDataMessage.getTunnelIdObj()`

Methods in net.i2p.data.i2np with parameters of type TunnelId
`void` `DatabaseStoreMessage.setReplyTunnel(TunnelId id)`
`void` `DatabaseLookupMessage.setReplyTunnel(TunnelId replyTunnel)`
`void` `DeliveryInstructions.setTunnelId(TunnelId id)`
`void` `TunnelDataMessage.setTunnelId(TunnelId id)`
`void` `TunnelGatewayMessage.setTunnelId(TunnelId id)`

Uses of TunnelId in net.i2p.router

Methods in net.i2p.router that return TunnelId
`TunnelId` `MessageReceptionInfo.getFromTunnel()` TunnelId the message came in on, if applicable
`TunnelId` `TunnelInfo.getReceiveTunnelId(int hop)` retrieve the tunnelId that the given hop receives messages on.
`TunnelId` `TunnelInfo.getSendTunnelId(int hop)` retrieve the tunnelId that the given hop sends messages on.

Methods in net.i2p.router with parameters of type TunnelId
`void` `MessageHistory.droppedTunnelMessage(TunnelId id, long msgId, Date expiration, Hash from)` We don't know about the given tunnel, so we are dropping a message sent to us by the given router
`TunnelInfo` `DummyTunnelManagerFacade.getTunnelInfo(TunnelId id)`
`TunnelInfo` `TunnelManagerFacade.getTunnelInfo(TunnelId id)` Retrieve the information related to a particular tunnel
`void` `MessageReceptionInfo.setFromTunnel(TunnelId fromTunnel)`
`void` `MessageHistory.tunnelFailed(TunnelId tunnel)` The local router has detected a failure in the given tunnel
`void` `MessageHistory.tunnelRejected(Hash peer, TunnelId tunnel, Hash replyThrough, String reason)` The peer did not accept the tunnel join for the given reason
`void` `MessageHistory.tunnelRequestTimedOut(Hash peer, TunnelId tunnel)` The peer did not accept the tunnel join for the given reason (this may be because of a timeout or an explicit refusal).

Uses of TunnelId in net.i2p.router.networkdb

Methods in net.i2p.router.networkdb with parameters of type TunnelId
`protected void` `HandleDatabaseLookupMessageJob.sendClosest(Hash key, Set<Hash> routerHashes, Hash toPeer, TunnelId replyTunnel)`
`protected void` `HandleDatabaseLookupMessageJob.sendMessage(I2NPMessage message, Hash toPeer, TunnelId replyTunnel)`

Uses of TunnelId in net.i2p.router.networkdb.kademlia

Methods in net.i2p.router.networkdb.kademlia with parameters of type TunnelId
`protected DatabaseLookupMessage` `ExploreJob.buildMessage(TunnelId replyTunnelId, Hash replyGateway, long expiration)` Build the database search message, but unlike the normal searches, we're more explicit in what we /dont/ want.
`protected DatabaseLookupMessage` `SearchJob.buildMessage(TunnelId replyTunnelId, Hash replyGateway, long expiration)` Build the database search message
`protected void` `HandleFloodfillDatabaseLookupMessageJob.sendClosest(Hash key, Set<Hash> routerInfoSet, Hash toPeer, TunnelId replyTunnel)` We extend this here to send our routerInfo back as well, if we are not floodfill.
`(package private) boolean` `LookupThrottler.shouldThrottle(Hash key, TunnelId id)` increments before checking
`(package private) boolean` `FloodfillNetworkDatabaseFacade.shouldThrottleLookup(Hash from, TunnelId id)` Increments and tests.

Uses of TunnelId in net.i2p.router.tunnel

Fields in net.i2p.router.tunnel declared as TunnelId
`protected TunnelId` `TunnelGateway.Pending._toTunnel`

Methods in net.i2p.router.tunnel that return TunnelId
`TunnelId` `HopConfig.getReceiveTunnel()`
`TunnelId` `TunnelCreatorConfig.getReceiveTunnelId(int hop)` retrieve the tunnelId that the given hop receives messages on.
`TunnelId` `HopConfig.getSendTunnel()`
`TunnelId` `TunnelCreatorConfig.getSendTunnelId(int hop)` retrieve the tunnelId that the given hop sends messages on.
`TunnelId` `FragmentedMessage.getTargetTunnel()`
`TunnelId` `TunnelGateway.Pending.getToTunnel()` may be null

Methods in net.i2p.router.tunnel with parameters of type TunnelId
`void` `TunnelGateway.add(I2NPMessage msg, Hash toRouter, TunnelId toTunnel)` Add a message to be sent down the tunnel, either sending it now (perhaps coallesced with other pending messages) or after a brief pause (_flushFrequency).
`void` `ThrottledPumpedTunnelGateway.add(I2NPMessage msg, Hash toRouter, TunnelId toTunnel)` Possibly drop a message due to bandwidth before adding it to the preprocessor queue.
`void` `PumpedTunnelGateway.add(I2NPMessage msg, Hash toRouter, TunnelId toTunnel)` Add a message to be sent down the tunnel, either sending it now (perhaps coallesced with other pending messages) or after a brief pause (_flushFrequency).
`void` `TunnelGatewayZeroHop.add(I2NPMessage msg, Hash toRouter, TunnelId toTunnel)` Add a message to be sent down the tunnel (immediately forwarding it to the `InboundMessageDistributor` or `OutboundMessageDistributor`, as necessary).
`void` `TunnelDispatcher.dispatchOutbound(I2NPMessage msg, TunnelId outboundTunnel, Hash targetPeer)` We are the outbound tunnel gateway (we created it), so wrap up this message with instructions to be forwarded to the targetPeer when it reaches the endpoint.
`void` `TunnelDispatcher.dispatchOutbound(I2NPMessage msg, TunnelId outboundTunnel, TunnelId targetTunnel, Hash targetPeer)` We are the outbound tunnel gateway (we created it), so wrap up this message with instructions to be forwarded to the targetTunnel on the targetPeer when it reaches the endpoint.
`void` `InboundMessageDistributor.distribute(I2NPMessage msg, Hash target, TunnelId tunnel)`
`void` `OutboundMessageDistributor.distribute(I2NPMessage msg, Hash target, TunnelId tunnel)`
`void` `OutboundMessageDistributor.distribute(I2NPMessage msg, RouterInfo target, TunnelId tunnel)`
`boolean` `FragmentedMessage.receive(long messageId, byte[] payload, int offset, int length, boolean isLast, Hash toRouter, TunnelId toTunnel)` Receive the first fragment and related metadata.
`void` `FragmentHandler.DefragmentedReceiver.receiveComplete(I2NPMessage msg, Hash toRouter, TunnelId toTunnel)` Receive a fully formed I2NPMessage out of the tunnel
`void` `HopConfig.setReceiveTunnelId(TunnelId id)`

Constructors in net.i2p.router.tunnel with parameters of type TunnelId
`TunnelGateway.Pending(I2NPMessage message, Hash toRouter, TunnelId toTunnel)`
`TunnelGateway.Pending(I2NPMessage message, Hash toRouter, TunnelId toTunnel, long now)`
`TunnelGateway.PendingImpl(I2NPMessage message, Hash toRouter, TunnelId toTunnel)`

Uses of TunnelId in net.i2p.router.tunnel.pool

Methods in net.i2p.router.tunnel.pool with parameters of type TunnelId
`TunnelInfo` `TunnelPool.getTunnel(TunnelId gatewayId)`
`TunnelInfo` `TunnelPoolManager.getTunnelInfo(TunnelId id)`