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
the 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 the Invisible Internet Network Protocol (I2NP).
|
net.i2p.router |
The I2P router application handles the I2P network communication.
|
net.i2p.router.dummy |
Dummy versions of things for testing.
|
net.i2p.router.networkdb |
A couple of classes, but most things are in kademlia.
|
net.i2p.router.networkdb.kademlia |
The network database, including implementation of floodfills.
|
net.i2p.router.tunnel |
All the work of managing locally created and participating tunnels,
creating and handling tunnel messages, and their encryption.
|
net.i2p.router.tunnel.pool |
Tunnel creation, tunnel build message handling.
|
Modifier and Type | Method and Description |
---|---|
TunnelId |
Lease.getTunnelId()
Tunnel on the gateway to communicate with
|
Modifier and Type | Method and Description |
---|---|
void |
Lease.setTunnelId(TunnelId id)
Configure the tunnel on the gateway to communicate with
|
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 |
DatabaseStoreMessage.getReplyTunnel() |
TunnelId |
DatabaseLookupMessage.getReplyTunnel()
Contains the tunnel ID a reply should be sent to
|
TunnelId |
DeliveryInstructions.getTunnelId()
default null
|
TunnelId |
TunnelGatewayMessage.getTunnelId() |
TunnelId |
TunnelDataMessage.getTunnelIdObj() |
Modifier and Type | Method and Description |
---|---|
void |
DatabaseStoreMessage.setReplyTunnel(TunnelId id) |
void |
DatabaseLookupMessage.setReplyTunnel(TunnelId replyTunnel) |
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
|
TunnelInfo |
TunnelManagerFacade.getTunnelInfo(TunnelId id)
Deprecated.
unused
|
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 |
---|---|
TunnelInfo |
DummyTunnelManagerFacade.getTunnelInfo(TunnelId id)
Deprecated.
unused
|
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)
Build the database search message, but unlike the normal searches, we're more explicit in
what we /dont/ want.
|
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 |
LookupThrottler.shouldThrottle(Hash key,
TunnelId id)
increments before checking
|
(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 |
HopConfig.getReceiveTunnel() |
TunnelId |
TunnelCreatorConfig.getReceiveTunnelId(int hop)
retrieve the tunnelId that the given hop receives messages on.
|
TunnelId |
HopConfig.getSendTunnel()
what is the next tunnel 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 |
ThrottledPumpedTunnelGateway.add(I2NPMessage msg,
Hash toRouter,
TunnelId toTunnel)
Possibly drop a message due to bandwidth before adding it to the preprocessor queue.
|
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 |
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)
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 |
InboundMessageDistributor.distribute(I2NPMessage msg,
Hash target,
TunnelId tunnel) |
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) |
Constructor and Description |
---|
OutboundGatewayMessage(I2NPMessage message,
Hash toRouter,
TunnelId toTunnel) |
PendingGatewayMessage(I2NPMessage message,
Hash toRouter,
TunnelId toTunnel) |
Modifier and Type | Method and Description |
---|---|
TunnelInfo |
TunnelPool.getTunnel(TunnelId gatewayId) |
TunnelInfo |
AliasedTunnelPool.getTunnel(TunnelId gatewayId) |
TunnelInfo |
TunnelPoolManager.getTunnelInfo(TunnelId id)
Deprecated.
unused
|