Package | Description |
---|---|
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.message |
Creates and parses garlic messages.
|
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 |
---|---|
TunnelInfo |
TunnelManagerFacade.getTunnelInfo(TunnelId id)
Deprecated.
unused
|
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.getTunnelInfo(TunnelId id)
Deprecated.
unused
|
TunnelInfo |
DummyTunnelManagerFacade.selectInboundExploratoryTunnel(Hash closestTo) |
TunnelInfo |
DummyTunnelManagerFacade.selectInboundTunnel() |
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) Map<OutboundCache.HashPair,TunnelInfo> |
OutboundCache.backloggedTunnelCache |
(package private) Map<OutboundCache.HashPair,TunnelInfo> |
OutboundCache.tunnelCache
Use the same outbound tunnel as we did for the same destination previously,
if possible, to keep the streaming lib happy
Use two caches - although a cache of a list of tunnels per dest might be
more elegant.
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
OutboundCache.clearCaches(OutboundCache.HashPair hashPair,
Lease lease,
TunnelInfo inTunnel,
TunnelInfo outTunnel)
Called on failure to give us a better chance of success next time.
|
(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)
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
|
Modifier and Type | Class and Description |
---|---|
(package private) class |
PooledTunnelCreatorConfig
Data about a tunnel we created
|
Modifier and Type | Method and Description |
---|---|
TunnelInfo |
TunnelPool.getTunnel(TunnelId gatewayId) |
TunnelInfo |
AliasedTunnelPool.getTunnel(TunnelId gatewayId) |
TunnelInfo |
TunnelPoolManager.getTunnelInfo(TunnelId id)
Deprecated.
unused
|
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 |
TunnelPool.selectTunnel()
Pull a random tunnel out of the pool.
|
(package private) TunnelInfo |
AliasedTunnelPool.selectTunnel() |
(package private) TunnelInfo |
TunnelPool.selectTunnel(Hash closestTo)
Return the tunnel from the pool that is XOR-closet to the target.
|
(package private) TunnelInfo |
AliasedTunnelPool.selectTunnel(Hash closestTo) |
Modifier and Type | Method and Description |
---|---|
List<TunnelInfo> |
TunnelPool.listTunnels()
Return a list of tunnels in the pool
|
List<TunnelInfo> |
AliasedTunnelPool.listTunnels() |
Modifier and Type | Method and Description |
---|---|
(package private) void |
TunnelPool.addTunnel(TunnelInfo info)
Add to the pool.
|
(package private) void |
AliasedTunnelPool.addTunnel(TunnelInfo info) |
boolean |
TunnelPoolManager.isValidTunnel(Hash client,
TunnelInfo tunnel) |
(package private) void |
TunnelPool.removeTunnel(TunnelInfo info)
Remove from the pool.
|
(package private) void |
AliasedTunnelPool.removeTunnel(TunnelInfo info) |
void |
PooledTunnelCreatorConfig.setPairedTunnel(TunnelInfo tunnel)
Deprecated.
Fix memory leaks caused by references if you need to use pairedTunnel
|
(package private) void |
TunnelPool.tunnelFailed(TunnelInfo cfg)
Remove the tunnel and blame all the peers (not necessarily equally).
|
(package private) void |
AliasedTunnelPool.tunnelFailed(TunnelInfo cfg) |
(package private) void |
TunnelPool.tunnelFailed(TunnelInfo cfg,
Hash blamePeer)
Remove the tunnel and blame only one peer.
|
(package private) void |
AliasedTunnelPool.tunnelFailed(TunnelInfo cfg,
Hash blamePeer) |