| Package | Description |
|---|---|
| net.i2p.router |
The I2P router application handles I2P network communication.
|
| net.i2p.router.dummy |
Dummy implementations and stub classes for testing purposes.
|
| net.i2p.router.message |
Garlic message creation, parsing, and source routing for I2P communications.
|
| 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 | Method and Description |
|---|---|
TunnelInfo |
TunnelManagerFacade.selectInboundExploratoryTunnel(Hash closestTo)
Pick the inbound exploratory tunnel with the gateway closest to the given hash.
|
TunnelInfo |
TunnelManagerFacade.selectInboundTunnel()
Pick a random inbound exploratory tunnel
|
TunnelInfo |
TunnelManagerFacade.selectInboundTunnel(Hash destination)
Pick a random inbound tunnel from the given destination's pool
|
TunnelInfo |
TunnelManagerFacade.selectInboundTunnel(Hash destination,
Hash closestTo)
Pick the inbound tunnel with the gateway closest to the given hash
from the given destination's pool.
|
TunnelInfo |
TunnelManagerFacade.selectOutboundExploratoryTunnel(Hash closestTo)
Pick the outbound exploratory tunnel with the endpoint closest to the given hash.
|
TunnelInfo |
TunnelManagerFacade.selectOutboundTunnel()
Pick a random outbound exploratory tunnel
|
TunnelInfo |
TunnelManagerFacade.selectOutboundTunnel(Hash destination)
Pick a random outbound tunnel from the given destination's pool
|
TunnelInfo |
TunnelManagerFacade.selectOutboundTunnel(Hash destination,
Hash closestTo)
Pick the outbound tunnel with the endpoint closest to the given hash
from the given destination's pool.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
TunnelManagerFacade.isValidTunnel(Hash client,
TunnelInfo tunnel)
Is a tunnel a valid member of the pool?
|
void |
MessageHistory.tunnelJoined(String state,
TunnelInfo tunnel)
The local router has joined the given tunnel operating in the given state.
|
void |
MessageHistory.tunnelValid(TunnelInfo tunnel,
long timeToTest)
Note that we have reason to believe that the given tunnel is valid, since we could do something
through it in the given amount of time
|
| Modifier and Type | Method and Description |
|---|---|
TunnelInfo |
DummyTunnelManagerFacade.selectInboundExploratoryTunnel(Hash closestTo) |
TunnelInfo |
DummyTunnelManagerFacade.selectInboundTunnel()
Deprecated.
unused
|
TunnelInfo |
DummyTunnelManagerFacade.selectInboundTunnel(Hash destination) |
TunnelInfo |
DummyTunnelManagerFacade.selectInboundTunnel(Hash destination,
Hash closestTo) |
TunnelInfo |
DummyTunnelManagerFacade.selectOutboundExploratoryTunnel(Hash closestTo) |
TunnelInfo |
DummyTunnelManagerFacade.selectOutboundTunnel() |
TunnelInfo |
DummyTunnelManagerFacade.selectOutboundTunnel(Hash destination) |
TunnelInfo |
DummyTunnelManagerFacade.selectOutboundTunnel(Hash destination,
Hash closestTo) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
DummyTunnelManagerFacade.isValidTunnel(Hash client,
TunnelInfo tunnel) |
| Modifier and Type | Field and Description |
|---|---|
(package private) ConcurrentHashMap<OutboundCache.HashPair,TunnelInfo> |
OutboundCache.backloggedTunnelCache
Cache for backlogged tunnels per source-destination pair.
|
(package private) ConcurrentHashMap<OutboundCache.HashPair,TunnelInfo> |
OutboundCache.tunnelCache
Cache for outbound tunnels per source-destination pair.
|
| Modifier and Type | Method and Description |
|---|---|
(package private) void |
OutboundCache.clearCaches(OutboundCache.HashPair hashPair,
Lease lease,
TunnelInfo inTunnel,
TunnelInfo outTunnel)
Clears cache entries related to the provided key and elements upon failure,
allowing retries with fresh associations.
|
(package private) static GarlicMessage |
OutboundClientMessageJobHelper.createGarlicMessage(RouterContext ctx,
long replyToken,
long expiration,
PublicKey recipientPK,
PayloadGarlicConfig dataClove,
Hash from,
Destination dest,
TunnelInfo replyTunnel,
int tagsToSendOverride,
int lowTagsOverride,
SessionKey wrappedKey,
Set<SessionTag> wrappedTags,
boolean requireAck,
LeaseSet bundledReplyLeaseSet,
ReplyCallback callback)
Allow the app to specify the data clove directly, which enables OutboundClientMessage to resend the
same payload (including expiration and unique id) in different garlics (down different tunnels)
This is called from OCMOSJ
|
| Constructor and Description |
|---|
SearchUpdateReplyFoundJob(RouterContext context,
RouterInfo peer,
SearchState state,
KademliaNetworkDatabaseFacade facade,
SearchJob job,
TunnelInfo outTunnel,
TunnelInfo replyTunnel) |
| Modifier and Type | Class and Description |
|---|---|
class |
TunnelCreatorConfig
Coordinate the info that the tunnel creator keeps track of, including what
peers are in the tunnel and what their configuration is
See PooledTunnelCreatorConfig for the non-abstract class
|
| Modifier and Type | Class and Description |
|---|---|
class |
PooledTunnelCreatorConfig
Data about a tunnel we created
|
| Modifier and Type | Method and Description |
|---|---|
TunnelInfo |
AliasedTunnelPool.getTunnel(TunnelId gatewayId) |
TunnelInfo |
TunnelPool.getTunnel(TunnelId gatewayId)
Get a tunnel by its gateway tunnel ID.
|
TunnelInfo |
TunnelPoolManager.selectInboundExploratoryTunnel(Hash closestTo)
Pick the inbound exploratory tunnel with the gateway closest to the given hash.
|
TunnelInfo |
TunnelPoolManager.selectInboundTunnel()
Pick a random inbound exploratory tunnel.
|
TunnelInfo |
TunnelPoolManager.selectInboundTunnel(Hash destination)
Pick a random inbound tunnel from the given destination's pool.
|
TunnelInfo |
TunnelPoolManager.selectInboundTunnel(Hash destination,
Hash closestTo)
Pick the inbound tunnel with the gateway closest to the given hash
from the given destination's pool.
|
TunnelInfo |
TunnelPoolManager.selectOutboundExploratoryTunnel(Hash closestTo)
Pick the outbound exploratory tunnel with the endpoint closest to the given hash.
|
TunnelInfo |
TunnelPoolManager.selectOutboundTunnel()
Pick a random outbound exploratory tunnel.
|
TunnelInfo |
TunnelPoolManager.selectOutboundTunnel(Hash destination)
Pick a random outbound tunnel from the given destination's pool.
|
TunnelInfo |
TunnelPoolManager.selectOutboundTunnel(Hash destination,
Hash closestTo)
Pick the outbound tunnel with the endpoint closest to the given hash
from the given destination's pool.
|
(package private) TunnelInfo |
AliasedTunnelPool.selectTunnel() |
(package private) TunnelInfo |
TunnelPool.selectTunnel()
Pull a random tunnel out of the pool.
|
(package private) TunnelInfo |
AliasedTunnelPool.selectTunnel(Hash closestTo) |
(package private) TunnelInfo |
TunnelPool.selectTunnel(Hash closestTo)
Return the tunnel from the pool that is XOR-closest to the target.
|
| Modifier and Type | Method and Description |
|---|---|
List<TunnelInfo> |
AliasedTunnelPool.listTunnels() |
List<TunnelInfo> |
TunnelPool.listTunnels()
Return a list of tunnels in the pool
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
AliasedTunnelPool.addTunnel(TunnelInfo info) |
protected void |
TunnelPool.addTunnel(TunnelInfo info)
Add a tunnel to the pool.
|
boolean |
TunnelPoolManager.isValidTunnel(Hash client,
TunnelInfo tunnel) |
(package private) void |
AliasedTunnelPool.removeTunnel(TunnelInfo info) |
(package private) void |
TunnelPool.removeTunnel(TunnelInfo info)
Remove a tunnel from the pool.
|
(package private) void |
AliasedTunnelPool.tunnelFailed(TunnelInfo cfg) |
(package private) void |
TunnelPool.tunnelFailed(TunnelInfo cfg)
Remove tunnel and blame all peers (not necessarily equally).
|
(package private) void |
AliasedTunnelPool.tunnelFailed(TunnelInfo cfg,
Hash blamePeer) |
(package private) void |
TunnelPool.tunnelFailed(TunnelInfo cfg,
Hash blamePeer)
Remove the tunnel and blame only one peer.
|