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

Packages that use TunnelId
net.i2p.data
net.i2p.data.i2cp
net.i2p.data.i2np
net.i2p.router
net.i2p.router.message
net.i2p.router.networkdb.kademlia
net.i2p.router.tunnel
net.i2p.router.tunnel.pool

Uses of TunnelId in net.i2p.data

Fields in net.i2p.data declared as TunnelId
`static TunnelId` `TunnelId.INVALID`

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` `TunnelGatewayMessage.getTunnelId()`
`TunnelId` `TunnelDataMessage.getTunnelIdObj()`
`TunnelId` `TunnelCreateStatusMessage.getReceiveTunnelId()`
`TunnelId` `TunnelCreateMessage.getNextTunnelId()`
`TunnelId` `TunnelCreateMessage.getReplyTunnel()`
`TunnelId` `DeliveryInstructions.getTunnelId()`
`TunnelId` `DatabaseStoreMessage.getReplyTunnel()`
`TunnelId` `DatabaseLookupMessage.getReplyTunnel()` Contains the tunnel ID a reply should be sent to

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

Uses of TunnelId in net.i2p.router

Methods in net.i2p.router that return TunnelId
`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.
`TunnelId` `MessageReceptionInfo.getFromTunnel()` TunnelId the message came in on, if applicable

Methods in net.i2p.router with parameters of type TunnelId
`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.requestTunnelCreate(TunnelId createTunnel, TunnelId outTunnel, Hash peerRequested, Hash nextPeer, TunnelId replyTunnel, Hash replyThrough)`
We are requesting that the peerRequested create the tunnel specified with the given nextPeer, and we are sending that request to them through outTunnel with a request that the reply is sent back to us through replyTunnel on the given replyThrough router.

`void` `MessageHistory.receiveTunnelCreate(TunnelId createTunnel, Hash nextPeer, java.util.Date expire, boolean ok, Hash sourceRoutePeer)` The local router has received a request to join the createTunnel with the next hop being nextPeer, and we should send our decision to join it through sourceRoutePeer
`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, java.lang.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).
`void` `MessageHistory.droppedTunnelMessage(TunnelId id, long msgId, java.util.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

Uses of TunnelId in net.i2p.router.message

Methods in net.i2p.router.message with parameters of type TunnelId
`boolean` `OutboundClientMessageStatus.alreadySent(Hash gateway, TunnelId tunnelId)` have we already sent the message down this tunnel?
`void` `OutboundClientMessageStatus.sent(Hash gateway, TunnelId tunnelId)`

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

Methods in net.i2p.router.networkdb.kademlia with parameters of type TunnelId
`protected DatabaseLookupMessage` `SearchJob.buildMessage(TunnelId replyTunnelId, Hash replyGateway, long expiration)` Build the database search message
`protected DatabaseLookupMessage` `ExploreJob.buildMessage(TunnelId replyTunnelId, RouterInfo replyGateway, long expiration)` Build the database search message, but unlike the normal searches, we're more explicit in what we /dont/ want.

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` `TunnelGateway.Pending.getToTunnel()` may be null
`TunnelId` `TunnelCreatorConfig.getReceiveTunnelId(int hop)` retrieve the tunnelId that the given hop receives messages on.
`TunnelId` `TunnelCreatorConfig.getSendTunnelId(int hop)` retrieve the tunnelId that the given hop sends messages on.
`TunnelId` `HopConfig.getReceiveTunnel()`
`TunnelId` `HopConfig.getSendTunnel()`
`TunnelId` `FragmentedMessage.getTargetTunnel()`

Methods in net.i2p.router.tunnel with parameters of type TunnelId
`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` `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` `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` `OutboundMessageDistributor.distribute(I2NPMessage msg, Hash target, TunnelId tunnel)`
`void` `OutboundMessageDistributor.distribute(I2NPMessage msg, RouterInfo target, TunnelId tunnel)`
`void` `InboundMessageDistributor.distribute(I2NPMessage msg, Hash target, TunnelId tunnel)`
`void` `HopConfig.setReceiveTunnelId(TunnelId id)`
`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

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)`

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

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