| Package | Description |
|---|---|
| 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 I2P network without requiring them to deal with the issues involved with the Invisible Internet Network Protocol (I2NP).
|
| net.i2p.data.i2np |
This package defines the low-level messages sent between routers,
called Invisible Internet Network Protocol (I2NP).
|
| net.i2p.router |
The I2P router application handles I2P network communication.
|
| net.i2p.router.networkdb |
Network database management and coordination for the I2P distributed hash table.
|
| net.i2p.router.networkdb.kademlia |
Kademlia DHT implementation and floodfill router functionality for I2P.
|
| net.i2p.router.tunnel |
Core tunnel management, message processing, and encryption for I2P's anonymous routing system.
|
| net.i2p.router.tunnel.pool |
Tunnel pool management, creation, and peer selection for I2P's anonymous routing system.
|
| Modifier and Type | Field and Description |
|---|---|
protected TunnelId |
Lease._tunnelId |
| Modifier and Type | Method and Description |
|---|---|
TunnelId |
Lease.getTunnelId()
Tunnel on the gateway to communicate with
|
TunnelId |
MetaLease.getTunnelId() |
| Modifier and Type | Method and Description |
|---|---|
void |
Lease.setTunnelId(TunnelId id)
Configure the tunnel on the gateway to communicate with
|
void |
MetaLease.setTunnelId(TunnelId id) |
| Modifier and Type | Method and Description |
|---|---|
TunnelId |
RequestLeaseSetMessage.getTunnelId(int endpoint) |
| Modifier and Type | Method and Description |
|---|---|
void |
RequestLeaseSetMessage.addEndpoint(Hash router,
TunnelId tunnel) |
| Modifier and Type | Method and Description |
|---|---|
TunnelId |
DatabaseLookupMessage.getReplyTunnel()
Contains the tunnel ID a reply should be sent to
|
TunnelId |
DatabaseStoreMessage.getReplyTunnel() |
TunnelId |
DeliveryInstructions.getTunnelId()
default null
|
TunnelId |
TunnelGatewayMessage.getTunnelId() |
TunnelId |
TunnelDataMessage.getTunnelIdObj() |
| Modifier and Type | Method and Description |
|---|---|
void |
DatabaseLookupMessage.setReplyTunnel(TunnelId replyTunnel) |
void |
DatabaseStoreMessage.setReplyTunnel(TunnelId id) |
void |
TunnelDataMessage.setTunnelId(TunnelId id)
(correctly) Invalidates stored checksum
|
void |
DeliveryInstructions.setTunnelId(TunnelId id)
required for TUNNEL
|
void |
TunnelGatewayMessage.setTunnelId(TunnelId id) |
| Modifier and Type | Method and Description |
|---|---|
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.
|
| Modifier and Type | Method and Description |
|---|---|
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
|
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).
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
HandleDatabaseLookupMessageJob.sendClosest(Hash key,
Set<Hash> routerHashes,
Hash toPeer,
TunnelId replyTunnel) |
protected void |
HandleDatabaseLookupMessageJob.sendMessage(I2NPMessage message,
Hash toPeer,
TunnelId replyTunnel) |
| Modifier and Type | Method and Description |
|---|---|
protected I2NPMessage |
ExploreJob.buildMessage(TunnelId replyTunnelId,
Hash replyGateway,
long expiration,
RouterInfo peer)
Builds the database lookup message to send to a peer.
|
protected I2NPMessage |
SearchJob.buildMessage(TunnelId replyTunnelId,
Hash replyGateway,
long expiration,
RouterInfo peer)
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 |
LookupBanHammer.shouldBan(Hash key,
TunnelId id)
Records a lookup request from a requester identified by key and tunnel ID,
and determines whether the requester should be banned based on recent activity.
|
(package private) boolean |
FloodfillNetworkDatabaseFacade.shouldBanLookup(Hash from,
TunnelId id) |
(package private) boolean |
LookupThrottler.shouldThrottle(Hash key,
TunnelId id)
increments and checks throttling
|
(package private) boolean |
FloodfillNetworkDatabaseFacade.shouldThrottleLookup(Hash from,
TunnelId id)
Increments and tests.
|
| Modifier and Type | Field and Description |
|---|---|
protected TunnelId |
PendingGatewayMessage._toTunnel |
| Modifier and Type | Method and Description |
|---|---|
TunnelId |
TunnelDispatcher.getNewIBEPID()
Get a new random receive tunnel ID that isn't a duplicate
|
TunnelId |
TunnelDispatcher.getNewIBZeroHopID()
Get a new random receive tunnel ID that isn't a duplicate (zero hop)
|
TunnelId |
TunnelDispatcher.getNewOBGWID()
Get a new random send tunnel ID that isn't a duplicate
|
TunnelId |
HopConfig.getReceiveTunnel()
What tunnel ID are we receiving on? (null if uninitialized)
|
TunnelId |
TunnelCreatorConfig.getReceiveTunnelId(int hop)
retrieve the tunnelId that the given hop receives messages on.
|
TunnelId |
HopConfig.getSendTunnel()
What is the next tunnel ID we are sending to? (null if endpoint)
|
TunnelId |
TunnelCreatorConfig.getSendTunnelId(int hop)
retrieve the tunnelId that the given hop sends messages on.
|
TunnelId |
FragmentedMessage.getTargetTunnel() |
TunnelId |
PendingGatewayMessage.getToTunnel()
may be null
|
| Modifier and Type | Method and Description |
|---|---|
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 |
PumpedTunnelGateway.add(I2NPMessage msg,
Hash toRouter,
TunnelId toTunnel)
Adds a message to be sent down the tunnel.
|
void |
ThrottledPumpedTunnelGateway.add(I2NPMessage msg,
Hash toRouter,
TunnelId toTunnel)
Adds a message to the inbound gateway after a bandwidth-based drop check.
|
void |
TunnelGateway.add(I2NPMessage msg,
Hash toRouter,
TunnelId toTunnel)
Add a message to be sent down the tunnel, either sending it now (perhaps
coalesced with other pending messages) or after a brief pause (_flushFrequency).
|
void |
TunnelDispatcher.dispatchOutbound(I2NPMessage msg,
TunnelId outboundTunnel,
Hash targetPeer)
Dispatch an outbound message through a tunnel
|
void |
TunnelDispatcher.dispatchOutbound(I2NPMessage msg,
TunnelId outboundTunnel,
TunnelId targetTunnel,
Hash targetPeer) |
void |
InboundMessageDistributor.distribute(I2NPMessage msg,
Hash target,
TunnelId tunnel) |
void |
OutboundMessageDistributor.distribute(I2NPMessage msg,
Hash target,
TunnelId tunnel)
Warning - as of 0.9.63, msg will be an UnknownI2NPMessage,
and must be converted before handling locally.
|
boolean |
TunnelDispatcher.hasOutboundGateway(TunnelId tid) |
boolean |
FragmentedMessage.receive(byte[] payload,
int offset,
int length,
boolean isLast,
Hash toRouter,
TunnelId toTunnel)
Receive the first fragment (#0) 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) |
void |
HopConfig.setSendTunnelId(TunnelId id)
Do not set for endpoint
|
| Constructor and Description |
|---|
OutboundGatewayMessage(I2NPMessage message,
Hash toRouter,
TunnelId toTunnel) |
PendingGatewayMessage(I2NPMessage message,
Hash toRouter,
TunnelId toTunnel) |
| Modifier and Type | Method and Description |
|---|---|
TunnelId |
PooledTunnelCreatorConfig.getPairedGW()
The ID of the gateway of the paired tunnel used to send/receive the build request
|
| Modifier and Type | Method and Description |
|---|---|
TunnelInfo |
AliasedTunnelPool.getTunnel(TunnelId gatewayId) |
TunnelInfo |
TunnelPool.getTunnel(TunnelId gatewayId)
Get a tunnel by its gateway tunnel ID.
|
void |
PooledTunnelCreatorConfig.setPairedGW(TunnelId gw)
The ID of the gateway of the paired tunnel used to send/receive the build request
|