Package | Description |
---|---|
net.i2p.client |
Interfaces and factories for
the base I2P SDK used to develop applications that communicate
through I2P.
|
net.i2p.client.datagram |
Provides a standard way for reading and writing messages transferred over I2P
so that the recipient has an authenticated mechanism to reply to it.
|
net.i2p.client.impl |
Implements the base I2P SDK for developing applications that communicate
through I2P.
|
net.i2p.client.naming |
Provides a standard way for querying the local naming service to resolve a
name into a
Destination (without the complexity of JNDI). |
net.i2p.client.streaming |
API, interfaces, and factory for a TCP-like (reliable, authenticated, in order) set of sockets for
communicating over the IP-like (unreliable, unauthenticated, unordered) I2P
messages.
|
net.i2p.client.streaming.impl |
Implementation of a TCP-like (reliable, authenticated, in order) set of sockets for
communicating over the IP-like (unreliable, unauthenticated, unordered) I2P
messages.
|
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.i2ptunnel |
Implementation of preconfigured tunnels, both for clients and servers,
and a UI for adding more and editing the configuration.
|
net.i2p.i2ptunnel.socks |
SOCKS 4, 4a, and 5 client tunnels.
|
net.i2p.i2ptunnel.streamr |
Special-purpose client and server tunnels for streaming UDP clients and servers,
generally for audio and video streaming.
|
net.i2p.i2ptunnel.udp |
A small API used by UDP tunnels.
|
net.i2p.i2ptunnel.udpTunnel | |
net.i2p.i2ptunnel.ui |
Classes for configuring tunnels, used externally by Android.
|
net.i2p.i2ptunnel.web |
The UI for adding tunnels and editing their configurations,
implemented as a webapp packaged in i2ptunnel.war.
|
net.i2p.router |
The I2P router application handles the I2P network communication.
|
net.i2p.router.client |
Implements the router side of the I2CP interface,
which is the API for applications to send and receive data through the router.
|
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.pool |
Tunnel creation, tunnel build message handling.
|
net.i2p.sam |
The SAM client API.
|
org.klomp.snark |
I2P version of the snark bittorrent client, imported in 2005 and heavily enhanced
to add a web UI, DHT support, and other features.
|
org.klomp.snark.dht |
Modifier and Type | Method and Description |
---|---|
Destination |
I2PClient.createDestination(OutputStream destKeyStream)
Create a new destination with the default certificate creation properties and store
it, along with the private encryption and signing keys at the specified location
Caller must close stream.
|
Destination |
I2PSimpleClient.createDestination(OutputStream destKeyStream)
Deprecated.
Don't do this
|
Destination |
I2PClient.createDestination(OutputStream destKeyStream,
Certificate cert)
Create a new destination with the given certificate and store it, along with the private
encryption and signing keys at the specified location
Caller must close stream.
|
Destination |
I2PSimpleClient.createDestination(OutputStream destKeyStream,
Certificate cert)
Deprecated.
Don't do this
|
Destination |
I2PClient.createDestination(OutputStream destKeyStream,
SigType type)
Create a destination with the given signature type.
|
Destination |
I2PSimpleClient.createDestination(OutputStream destKeyStream,
SigType type)
Deprecated.
Don't do this
|
Destination |
I2PSession.getMyDestination()
Retrieve the Destination this session serves as the endpoint for.
|
Destination |
I2PSession.lookupDest(Hash h)
Lookup a Destination by Hash.
|
Destination |
I2PSession.lookupDest(Hash h,
long maxWait)
Lookup a Destination by Hash.
|
Destination |
I2PSession.lookupDest(String name)
Ask the router to lookup a Destination by host name.
|
Destination |
I2PSession.lookupDest(String name,
long maxWait)
Ask the router to lookup a Destination by host name.
|
Modifier and Type | Method and Description |
---|---|
boolean |
I2PSession.sendMessage(Destination dest,
byte[] payload)
Send a new message to the given destination, containing the specified
payload, returning true if the router feels confident that the message
was delivered.
|
boolean |
I2PSession.sendMessage(Destination dest,
byte[] payload,
int offset,
int size)
Send a new message to the given destination, containing the specified
payload, returning true if the router feels confident that the message
was delivered.
|
boolean |
I2PSession.sendMessage(Destination dest,
byte[] payload,
int proto,
int fromport,
int toport)
See I2PSessionMuxedImpl for proto/port details.
|
boolean |
I2PSession.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
int proto,
int fromPort,
int toPort,
SendMessageOptions options)
See I2PSessionMuxedImpl for proto/port details.
|
long |
I2PSession.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
int proto,
int fromPort,
int toPort,
SendMessageOptions options,
SendMessageStatusListener listener)
Send a message and request an asynchronous notification of delivery status.
|
boolean |
I2PSession.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
Set<SessionTag> tagsSent)
End-to-End Crypto is disabled, tags and keys are ignored.
|
boolean |
I2PSession.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
Set<SessionTag> tagsSent,
int proto,
int fromPort,
int toPort)
See I2PSessionMuxedImpl for proto/port details.
|
boolean |
I2PSession.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
Set<SessionTag> tagsSent,
long expire)
End-to-End Crypto is disabled, tags and keys are ignored.
|
boolean |
I2PSession.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
Set<SessionTag> tagsSent,
long expire,
int proto,
int fromPort,
int toPort)
See I2PSessionMuxedImpl for proto/port details.
|
boolean |
I2PSession.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
Set<SessionTag> tagsSent,
long expire,
int proto,
int fromPort,
int toPort,
int flags)
See I2PSessionMuxedImpl for proto/port details.
|
boolean |
I2PSession.sendMessage(Destination dest,
byte[] payload,
SessionKey keyUsed,
Set<SessionTag> tagsSent)
End-to-End Crypto is disabled, tags and keys are ignored!
Like sendMessage above, except the key used and the tags sent are exposed to the
application.
|
Modifier and Type | Method and Description |
---|---|
Destination |
I2PDatagramDissector.extractSender()
Extract the sender of an I2P repliable datagram (previously loaded with
the loadI2PDatagram() method), without verifying the datagram signature.
|
Destination |
I2PDatagramDissector.getSender()
Get the sender of an I2P repliable datagram (previously loaded with the
loadI2PDatagram() method), verifying the datagram signature.
|
Modifier and Type | Method and Description |
---|---|
Destination |
I2PClientImpl.createDestination(OutputStream destKeyStream)
Create a destination with a DSA 1024/160 signature type and a null certificate.
|
Destination |
I2PClientImpl.createDestination(OutputStream destKeyStream,
Certificate cert)
Create the destination with the given payload and write it out along with
the PrivateKey and SigningPrivateKey to the destKeyStream
If cert is a KeyCertificate, the signing keypair will be of the specified type.
|
Destination |
I2PClientImpl.createDestination(OutputStream destKeyStream,
SigType type)
Create a destination with the given signature type.
|
Destination |
I2PSessionImpl.getMyDestination()
Retrieve the destination of the session
|
Destination |
I2PSessionImpl.lookupDest(Hash h)
Blocking.
|
Destination |
SubSession.lookupDest(Hash h)
Blocking.
|
Destination |
I2PSessionImpl.lookupDest(Hash h,
long maxWait)
Blocking.
|
Destination |
SubSession.lookupDest(Hash h,
long maxWait)
Blocking.
|
Destination |
I2PSessionImpl.lookupDest(String name)
Ask the router to lookup a Destination by host name.
|
Destination |
SubSession.lookupDest(String name)
Ask the router to lookup a Destination by host name.
|
Destination |
I2PSessionImpl.lookupDest(String name,
long maxWait)
Ask the router to lookup a Destination by host name.
|
Destination |
SubSession.lookupDest(String name,
long maxWait)
Ask the router to lookup a Destination by host name.
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
I2PSessionImpl.destReceived(Destination d)
Called by the message handler
on reception of DestReplyMessage
|
(package private) void |
SubSession.destReceived(Destination d)
Called by the message handler
on reception of DestReplyMessage
This will never happen, as the dest reply message does not contain a session ID.
|
(package private) void |
I2PSessionImpl.destReceived(long nonce,
Destination d)
Called by the message handler
on reception of HostReplyMessage
|
(package private) void |
SubSession.destReceived(long nonce,
Destination d)
Called by the message handler
on reception of HostReplyMessage
|
protected boolean |
I2PSessionImpl2.sendBestEffort(Destination dest,
byte[] payload,
long expires,
int flags)
TODO - Don't need to save MessageState since actuallyWait is false...
|
protected boolean |
I2PSessionImpl2.sendBestEffort(Destination dest,
byte[] payload,
SessionKey keyUsed,
Set<SessionTag> tagsSent,
long expires) |
boolean |
I2PSessionMuxedImpl.sendMessage(Destination dest,
byte[] payload) |
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload)
unused, see MuxedImpl override
|
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
int offset,
int size) |
boolean |
I2PSessionMuxedImpl.sendMessage(Destination dest,
byte[] payload,
int proto,
int fromport,
int toport) |
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
int proto,
int fromport,
int toport) |
boolean |
I2PSessionMuxedImpl.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
int proto,
int fromPort,
int toPort,
SendMessageOptions options)
See SendMessageOptions for option details.
|
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
int proto,
int fromport,
int toport,
SendMessageOptions options) |
long |
I2PSessionMuxedImpl.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
int proto,
int fromPort,
int toPort,
SendMessageOptions options,
SendMessageStatusListener listener)
Send a message and request an asynchronous notification of delivery status.
|
long |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
int proto,
int fromport,
int toport,
SendMessageOptions options,
SendMessageStatusListener listener) |
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
Set<SessionTag> tagsSent) |
boolean |
I2PSessionMuxedImpl.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
Set<SessionTag> tagsSent,
int proto,
int fromport,
int toport) |
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
Set<SessionTag> tagsSent,
int proto,
int fromport,
int toport) |
boolean |
I2PSessionMuxedImpl.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
Set<SessionTag> tagsSent,
long expires) |
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
Set<SessionTag> tagsSent,
long expires)
Unused? see MuxedImpl override
|
boolean |
I2PSessionMuxedImpl.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
Set<SessionTag> tagsSent,
long expires,
int proto,
int fromPort,
int toPort) |
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
Set<SessionTag> tagsSent,
long expire,
int proto,
int fromport,
int toport) |
boolean |
I2PSessionMuxedImpl.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
Set<SessionTag> tagsSent,
long expires,
int proto,
int fromPort,
int toPort,
int flags) |
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
Set<SessionTag> tagsSent,
long expire,
int proto,
int fromport,
int toport,
int flags) |
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
SessionKey keyUsed,
Set<SessionTag> tagsSent) |
void |
I2CPMessageProducer.sendMessage(I2PSessionImpl session,
Destination dest,
long nonce,
byte[] payload,
long expires,
int flags)
Package up and send the payload to the router for delivery
|
void |
I2CPMessageProducer.sendMessage(I2PSessionImpl session,
Destination dest,
long nonce,
byte[] payload,
SendMessageOptions options)
Package up and send the payload to the router for delivery
|
void |
I2CPMessageProducer.sendMessage(I2PSessionImpl session,
Destination dest,
long nonce,
byte[] payload,
SessionTag tag,
SessionKey key,
Set<SessionTag> tags,
SessionKey newKey,
long expires)
Package up and send the payload to the router for delivery
|
protected boolean |
I2PSessionImpl2.sendNoEffort(Destination dest,
byte[] payload,
long expires,
int flags)
Same as sendBestEffort(), except we do not expect any MessageStatusMessage responses -
not for accepted, or success, or failure.
|
Modifier and Type | Method and Description |
---|---|
protected static Destination |
DummyNamingService.getCache(String s) |
Destination |
NamingService.lookup(Hash hash,
int timeout)
Same as lookupBase32() but with the SHA256 Hash precalculated
This implementation returns null.
|
Destination |
EepGetAndAddNamingService.lookup(String hostname)
Deprecated.
|
Destination |
NamingService.lookup(String hostname)
Look up a host name.
|
Destination |
MetaNamingService.lookup(String hostname,
Properties lookupOptions,
Properties storedOptions) |
Destination |
EepGetNamingService.lookup(String hostname,
Properties lookupOptions,
Properties storedOptions) |
Destination |
HostsTxtNamingService.lookup(String hostname,
Properties lookupOptions,
Properties storedOptions) |
Destination |
DummyNamingService.lookup(String hostname,
Properties lookupOptions,
Properties storedOptions) |
abstract Destination |
NamingService.lookup(String hostname,
Properties lookupOptions,
Properties storedOptions)
Same as lookup(hostname) but with in and out options
Note that whether this (and lookup(hostname)) resolve Base 32 addresses
in the form {52 chars}.b32.i2p is NamingService-specific.
|
Destination |
BlockfileNamingService.lookup(String hostname,
Properties lookupOptions,
Properties storedOptions) |
Destination |
SingleFileNamingService.lookup(String hostname,
Properties lookupOptions,
Properties storedOptions)
Will strip a "www." prefix and retry if lookup fails
|
Destination |
NamingService.lookupBase32(String hostname,
int timeout)
Lookup a Base 32 address.
|
(package private) static Destination |
LookupDest.lookupBase32Hash(I2PAppContext ctx,
String key) |
protected Destination |
NamingService.lookupBase64(String hostname)
If the host name is a valid Base64 encoded destination, return the
decoded Destination.
|
(package private) static Destination |
LookupDest.lookupHash(I2PAppContext ctx,
byte[] h) |
Modifier and Type | Method and Description |
---|---|
Map<String,Destination> |
NamingService.getEntries()
Warning - This obviously brings the whole database into memory,
so use is discouraged.
|
Map<String,Destination> |
MetaNamingService.getEntries(Properties options)
All services aggregated
|
Map<String,Destination> |
NamingService.getEntries(Properties options)
Warning - This will bring the whole database into memory
if options is null, empty, or unsupported, use with caution.
|
Map<String,Destination> |
BlockfileNamingService.getEntries(Properties options) |
Map<String,Destination> |
SingleFileNamingService.getEntries(Properties options) |
List<Destination> |
NamingService.lookupAll(String hostname)
For NamingServices that support multiple Destinations for a single host name,
return all of them.
|
List<Destination> |
NamingService.lookupAll(String hostname,
Properties lookupOptions,
List<Properties> storedOptions)
For NamingServices that support multiple Destinations and Properties for a single host name,
return all of them.
|
List<Destination> |
BlockfileNamingService.lookupAll(String hostname,
Properties lookupOptions,
List<Properties> storedOptions)
Return all of the entries found in the first list found, or in the list
specified in lookupOptions.
|
Modifier and Type | Method and Description |
---|---|
boolean |
NamingService.addDestination(String hostname,
Destination d)
Add a Destination to an existing hostname's entry in the addressbook.
|
boolean |
NamingService.addDestination(String hostname,
Destination d,
Properties options)
Add a Destination to an existing hostname's entry in the addressbook.
|
boolean |
BlockfileNamingService.addDestination(String hostname,
Destination d,
Properties options)
Add a Destination to an existing hostname's entry in the addressbook.
|
void |
NamingServiceListener.entryAdded(NamingService ns,
String hostname,
Destination dest,
Properties options) |
void |
NamingServiceListener.entryChanged(NamingService ns,
String hostname,
Destination dest,
Properties options) |
boolean |
NamingService.put(String hostname,
Destination d)
Add a hostname and Destination to the addressbook.
|
boolean |
MetaNamingService.put(String hostname,
Destination d,
Properties options)
Stores in the last service
|
boolean |
HostsTxtNamingService.put(String hostname,
Destination d,
Properties options) |
boolean |
NamingService.put(String hostname,
Destination d,
Properties options)
Add a hostname and Destination to the addressbook.
|
boolean |
BlockfileNamingService.put(String hostname,
Destination d,
Properties options) |
boolean |
SingleFileNamingService.put(String hostname,
Destination d,
Properties options) |
protected static void |
DummyNamingService.putCache(String s,
Destination d)
Provide basic static caching for all services
|
boolean |
NamingService.putIfAbsent(String hostname,
Destination d)
Add a hostname and Destination to the addressbook.
|
boolean |
MetaNamingService.putIfAbsent(String hostname,
Destination d,
Properties options)
Stores in the last service
|
boolean |
HostsTxtNamingService.putIfAbsent(String hostname,
Destination d,
Properties options) |
boolean |
NamingService.putIfAbsent(String hostname,
Destination d,
Properties options)
Add a hostname and Destination to the addressbook.
|
boolean |
BlockfileNamingService.putIfAbsent(String hostname,
Destination d,
Properties options) |
boolean |
SingleFileNamingService.putIfAbsent(String hostname,
Destination d,
Properties options) |
boolean |
NamingService.remove(String hostname,
Destination d)
Remove a hostname's entry only if it contains the Destination d.
|
boolean |
NamingService.remove(String hostname,
Destination d,
Properties options)
Remove a hostname's entry only if it contains the Destination d.
|
boolean |
BlockfileNamingService.remove(String hostname,
Destination d,
Properties options)
Remove a hostname's entry only if it contains the Destination d.
|
String |
NamingService.reverseLookup(Destination dest)
Reverse lookup a destination
This implementation returns reverseLookup(dest, null).
|
String |
MetaNamingService.reverseLookup(Destination dest,
Properties options) |
String |
NamingService.reverseLookup(Destination d,
Properties options)
Same as reverseLookup(dest) but with options
This implementation returns null.
|
String |
BlockfileNamingService.reverseLookup(Destination d,
Properties options) |
String |
SingleFileNamingService.reverseLookup(Destination dest,
Properties options) |
List<String> |
NamingService.reverseLookupAll(Destination dest)
Reverse lookup a destination
This implementation returns reverseLookupAll(dest, null).
|
List<String> |
NamingService.reverseLookupAll(Destination d,
Properties options)
Same as reverseLookupAll(dest) but with options
This implementation returns the result from reverseLookup, or null.
|
List<String> |
BlockfileNamingService.reverseLookupAll(Destination d,
Properties options) |
boolean |
NamingService.update(String hostname,
Destination d,
Properties options)
Fails if entry did not previously exist.
|
Modifier and Type | Method and Description |
---|---|
boolean |
NamingService.putAll(Map<String,Destination> entries,
Properties options)
Put all the entries, each with the given options.
|
Modifier and Type | Method and Description |
---|---|
Destination |
I2PSocketAddress.getAddress()
Does a naming service lookup to resolve the dest if this was created unresolved
or if the resolution failed in the constructor.
|
Destination |
I2PSocket.getPeerDestination() |
Destination |
I2PSocket.getThisDestination() |
Modifier and Type | Method and Description |
---|---|
I2PSocket |
I2PSocketManager.connect(Destination peer)
Create a new connected socket (block until the socket is created)
|
I2PSocket |
I2PSocketManager.connect(Destination peer,
I2PSocketOptions options)
Create a new connected socket (block until the socket is created)
|
Socket |
I2PSocketManager.connectToSocket(Destination peer)
Like connect() but returns a real Socket, and throws only IOE,
for easier porting of apps.
|
Socket |
I2PSocketManager.connectToSocket(Destination peer,
int timeout)
Like connect() but returns a real Socket, and throws only IOE,
for easier porting of apps.
|
boolean |
I2PSocketManager.ping(Destination peer,
int localPort,
int remotePort,
long timeoutMs)
Ping the specified peer, returning true if they replied to the ping within
the timeout specified, false otherwise.
|
byte[] |
I2PSocketManager.ping(Destination peer,
int localPort,
int remotePort,
long timeoutMs,
byte[] payload)
Ping the specified peer, returning true if they replied to the ping within
the timeout specified, false otherwise.
|
boolean |
I2PSocketManager.ping(Destination peer,
long timeoutMs)
Ping the specified peer, returning true if they replied to the ping within
the timeout specified, false otherwise.
|
Constructor and Description |
---|
I2PSocketAddress(Destination dest,
int port)
Does not do a reverse lookup.
|
Modifier and Type | Field and Description |
---|---|
protected Destination |
Packet._optionFrom |
Modifier and Type | Method and Description |
---|---|
Destination |
Packet.getOptionalFrom()
the sender of the packet (only included if the flag for it is set)
|
Destination |
I2PSocketFull.getPeerDestination() |
Destination |
Connection.getRemotePeer()
who are we talking with
|
Destination |
I2PSocketFull.getThisDestination() |
Destination |
PacketLocal.getTo() |
Modifier and Type | Method and Description |
---|---|
I2PSocket |
I2PSocketManagerFull.connect(Destination peer)
Create a new connected socket.
|
Connection |
ConnectionManager.connect(Destination peer,
ConnectionOptions opts,
I2PSession session)
Build a new connection to the given peer.
|
I2PSocket |
I2PSocketManagerFull.connect(Destination peer,
I2PSocketOptions options)
Create a new connected socket.
|
Socket |
I2PSocketManagerFull.connectToSocket(Destination peer)
Like connect() but returns a real Socket, and throws only IOE,
for easier porting of apps.
|
Socket |
I2PSocketManagerFull.connectToSocket(Destination peer,
int timeout)
Like connect() but returns a real Socket, and throws only IOE,
for easier porting of apps.
|
boolean |
I2PSocketManagerFull.ping(Destination peer,
int localPort,
int remotePort,
long timeoutMs)
Ping the specified peer, returning true if they replied to the ping within
the timeout specified, false otherwise.
|
boolean |
ConnectionManager.ping(Destination peer,
int fromPort,
int toPort,
long timeoutMs)
blocking
|
boolean |
ConnectionManager.ping(Destination peer,
int fromPort,
int toPort,
long timeoutMs,
boolean blocking) |
boolean |
ConnectionManager.ping(Destination peer,
int fromPort,
int toPort,
long timeoutMs,
boolean blocking,
ConnectionManager.PingNotifier notifier) |
byte[] |
I2PSocketManagerFull.ping(Destination peer,
int localPort,
int remotePort,
long timeoutMs,
byte[] payload)
Ping the specified peer, returning true if they replied to the ping within
the timeout specified, false otherwise.
|
byte[] |
ConnectionManager.ping(Destination peer,
int fromPort,
int toPort,
long timeoutMs,
byte[] payload)
blocking
|
boolean |
I2PSocketManagerFull.ping(Destination peer,
long timeoutMs)
Ping the specified peer, returning true if they replied to the ping within
the timeout specified, false otherwise.
|
boolean |
ConnectionManager.ping(Destination peer,
long timeoutMs)
blocking
|
void |
Connection.setRemotePeer(Destination peer) |
boolean |
Packet.verifySignature(I2PAppContext ctx,
Destination from,
byte[] buffer)
Determine whether the signature on the data is valid.
|
Constructor and Description |
---|
PacketLocal(I2PAppContext ctx,
Destination to,
Connection con)
bound to a connection
|
PacketLocal(I2PAppContext ctx,
Destination to,
I2PSession session)
not bound to a connection
|
Modifier and Type | Class and Description |
---|---|
class |
VerifiedDestination
Extend Destination with methods to verify its Certificate.
|
Modifier and Type | Field and Description |
---|---|
protected Destination |
PrivateKeyFile.dest |
Modifier and Type | Method and Description |
---|---|
static Destination |
Destination.create(InputStream in)
Pull from cache or return new
|
Destination |
PrivateKeyFile.createIfAbsent()
Create with the default signature type if nonexistent.
|
Destination |
PrivateKeyFile.createIfAbsent(SigType type)
Create with the specified signature type if nonexistent.
|
Destination |
PrivateKeyFile.getDestination()
If the destination is not set, read it in from the file.
|
Destination |
LeaseSet.getDestination() |
Modifier and Type | Method and Description |
---|---|
void |
PrivateKeyFile.setDestination(Destination d) |
void |
LeaseSet.setDestination(Destination dest) |
static boolean |
PrivateKeyFile.verifySignature(Destination d)
Sample code to verify a 3rd party signature.
|
Constructor and Description |
---|
PrivateKeyFile(File file,
Destination dest,
PrivateKey pk,
SigningPrivateKey spk) |
VerifiedDestination(Destination d)
create from an existing Dest
|
Modifier and Type | Field and Description |
---|---|
protected Destination |
SendMessageMessage._destination |
Modifier and Type | Method and Description |
---|---|
Destination |
DestReplyMessage.getDestination() |
Destination |
HostReplyMessage.getDestination() |
Destination |
SendMessageMessage.getDestination() |
Destination |
SessionConfig.getDestination()
Retrieve the destination for which this session is supposed to connect
|
Modifier and Type | Method and Description |
---|---|
void |
SendMessageMessage.setDestination(Destination destination) |
Constructor and Description |
---|
DestReplyMessage(Destination d) |
HostReplyMessage(SessionId id,
Destination d,
long reqID)
A message with RESULT_SUCCESS and a non-null Destination.
|
SessionConfig(Destination dest) |
Modifier and Type | Field and Description |
---|---|
protected Destination |
I2PTunnelClientBase.dest |
Modifier and Type | Field and Description |
---|---|
protected List<Destination> |
I2PTunnelClient.dests
Deprecated.
why protected? Is anybody using out-of-tree? Protected from the beginning (2004)
|
Modifier and Type | Method and Description |
---|---|
static Destination |
I2PTunnel.destFromName(String name)
Deprecated.
Don't use i2ptunnel for lookup! Use I2PAppContext.getGlobalContext().namingService().lookup(name) from i2p.jar
|
Destination |
TunnelController.getDestination()
Returns null if not running.
|
Modifier and Type | Method and Description |
---|---|
(package private) String |
I2PTunnelIRCServer.cloakDest(Destination d)
(Optionally) append 32 bytes of crap to the destination then return
the first few characters of the hash of the whole thing, + ".i2p".
|
I2PSocket |
I2PTunnelClientBase.createI2PSocket(Destination dest)
Create a new I2PSocket towards to the specified destination,
adding it to the list of connections actually managed by this
tunnel.
|
I2PSocket |
I2PTunnelClientBase.createI2PSocket(Destination dest,
I2PSocketOptions opt)
Create a new I2PSocket towards to the specified destination,
adding it to the list of connections actually managed by this
tunnel.
|
I2PSocket |
I2PTunnelClientBase.createI2PSocket(Destination dest,
int port)
Create a new I2PSocket towards to the specified destination,
adding it to the list of connections actually managed by this
tunnel.
|
Modifier and Type | Method and Description |
---|---|
Destination |
SOCKSHeader.getDestination() |
Destination |
SocketWrapper.getPeerDestination() |
Destination |
SocketWrapper.getThisDestination() |
Modifier and Type | Method and Description |
---|---|
void |
SOCKSUDPPort.send(Destination from,
byte[] data)
May throw RuntimeException from underlying sink
|
void |
SOCKSUDPUnwrapper.send(Destination ignored_from,
byte[] data)
May throw RuntimeException from underlying sink
|
void |
SOCKSUDPWrapper.send(Destination from,
byte[] data)
Use the cached header, which should have the host string and port
May throw RuntimeException from underlying sink
|
void |
ReplyTracker.send(Destination to,
byte[] data)
May throw RuntimeException from underlying sink
|
void |
MultiSink.send(Destination from,
byte[] data)
May throw RuntimeException from underlying sinks
|
Constructor and Description |
---|
SOCKSHeader(Destination dest)
Make a dummy header from a dest,
for those cases where we want to receive unsolicited datagrams.
|
Constructor and Description |
---|
MultiSink(Map<Destination,S> cache) |
ReplyTracker(S reply,
Map<Destination,S> cache) |
SOCKSUDPPort(InetAddress host,
int port,
Map<Destination,SOCKSUDPPort> replyMap) |
SOCKSUDPUnwrapper(Map<Destination,SOCKSHeader> cache) |
SOCKSUDPWrapper(Map<Destination,SOCKSHeader> cache) |
Modifier and Type | Method and Description |
---|---|
void |
MultiSource.add(Destination sink) |
void |
MultiSource.remove(Destination sink) |
void |
MultiSource.send(Destination ignored_from,
byte[] data)
May throw RuntimeException from underlying sinks
|
void |
Subscriber.send(Destination dest,
byte[] data)
Doesn't really "send" anywhere, just subscribes or unsubscribes the destination
|
Modifier and Type | Field and Description |
---|---|
protected Destination |
I2PSink.dest |
Modifier and Type | Method and Description |
---|---|
void |
I2PSink.send(Destination src,
byte[] data) |
void |
Sink.send(Destination src,
byte[] data) |
void |
I2PSinkAnywhere.send(Destination to,
byte[] data) |
void |
UDPSink.send(Destination src,
byte[] data) |
Constructor and Description |
---|
I2PSink(I2PSession sess,
Destination dest) |
I2PSink(I2PSession sess,
Destination dest,
boolean raw) |
Modifier and Type | Method and Description |
---|---|
void |
I2PTunnelUDPServerBase.send(Destination to,
byte[] data)
Sink Methods
|
void |
I2PTunnelUDPClientBase.send(Destination to,
byte[] data)
Sink Methods
|
Modifier and Type | Method and Description |
---|---|
Destination |
GeneralHelper.getAltDestination(int tunnel)
Works even if tunnel is not running.
|
Destination |
GeneralHelper.getDestination(int tunnel)
Works even if tunnel is not running.
|
Modifier and Type | Method and Description |
---|---|
void |
TunnelConfig.setDestination(Destination dest)
This is easier than requiring TunnelConfig to talk to
TunnelControllerGroup and TunnelController.
|
Modifier and Type | Method and Description |
---|---|
protected Destination |
IndexBean.getAltDestination(int tunnel)
Works even if tunnel is not running.
|
protected Destination |
IndexBean.getDestination(int tunnel)
Works even if tunnel is not running.
|
Modifier and Type | Method and Description |
---|---|
Destination |
ClientMessage.getDestination()
Retrieve the destination to which this message is directed.
|
Destination |
ClientMessage.getFromDestination()
Valid for outbound; null for inbound.
|
abstract Destination |
NetworkDatabaseFacade.lookupDestinationLocally(Hash key)
Lookup locally in netDB and in badDest cache
Succeeds even if LS validation failed due to unsupported sig type
|
Modifier and Type | Method and Description |
---|---|
Set<Destination> |
ClientManagerFacade.listClients()
Return the list of locally connected clients
|
Modifier and Type | Method and Description |
---|---|
boolean |
TunnelManagerFacade.addAlias(Destination dest,
ClientTunnelSettings settings,
Destination existingClient)
Add another destination to the same tunnels.
|
void |
TunnelManagerFacade.buildTunnels(Destination client,
ClientTunnelSettings settings)
the client connected (or updated their settings), so make sure we have
the tunnels for them, and whenever necessary, ask them to authorize
leases.
|
abstract SessionConfig |
ClientManagerFacade.getClientSessionConfig(Destination dest)
Return the client's current config, or null if not connected
|
LeaseSetKeys |
KeyManager.getKeys(Destination dest)
client
|
abstract boolean |
ClientManagerFacade.isLocal(Destination dest)
Determine if the destination specified is managed locally.
|
abstract void |
ClientManagerFacade.messageDeliveryStatusUpdate(Destination fromDest,
MessageId id,
long messageNonce,
int status) |
void |
KeyManager.registerKeys(Destination dest,
SigningPrivateKey leaseRevocationPrivateKey,
PrivateKey endpointDecryptionKey)
client
|
void |
TunnelManagerFacade.removeAlias(Destination dest)
Remove another destination to the same tunnels.
|
abstract void |
ClientManagerFacade.reportAbuse(Destination dest,
String reason,
int severity)
Instruct the client (or all clients) that they are under attack.
|
abstract void |
ClientManagerFacade.requestLeaseSet(Destination dest,
LeaseSet set,
long timeout,
Job onCreateJob,
Job onFailedJob)
Request that a particular client authorize the Leases contained in the
LeaseSet, after which the onCreateJob is queued up.
|
LeaseSetKeys |
KeyManager.unregisterKeys(Destination dest)
client
|
Constructor and Description |
---|
ClientMessage(Destination toDest,
Payload payload,
SessionConfig config,
Destination fromDest,
MessageId msgID,
long messageNonce,
long expiration,
int flags)
For outbound (locally originated)
|
LeaseSetKeys(Destination dest,
SigningPrivateKey revocationKey,
PrivateKey decryptionKey) |
Modifier and Type | Method and Description |
---|---|
Destination |
ClientConnectionRunner.getDestination(SessionId id)
Return the dest for the given ID
|
Modifier and Type | Method and Description |
---|---|
(package private) List<Destination> |
ClientConnectionRunner.getDestinations()
Subsession aware.
|
(package private) Set<Destination> |
ClientManager.getRunnerDestinations() |
Set<Destination> |
ClientManager.listClients()
Unsynchronized
|
Set<Destination> |
ClientManagerFacadeImpl.listClients()
Return the list of locally connected clients
|
Modifier and Type | Method and Description |
---|---|
int |
ClientManager.destinationEstablished(ClientConnectionRunner runner,
Destination dest)
Add to the clients list.
|
(package private) void |
ClientManager.distributeMessage(Destination fromDest,
Destination toDest,
Payload payload,
MessageId msgId,
long messageNonce,
long expiration,
int flags)
Distribute message to a local or remote destination.
|
SessionConfig |
ClientManager.getClientSessionConfig(Destination dest)
Return the client's current config, or null if not connected
|
SessionConfig |
ClientManagerFacadeImpl.getClientSessionConfig(Destination dest)
Return the client's current config, or null if not connected
|
(package private) ClientConnectionRunner |
ClientManager.getRunner(Destination dest)
Unsynchronized
|
boolean |
ClientManager.isLocal(Destination dest)
Unsynchronized
|
boolean |
ClientManagerFacadeImpl.isLocal(Destination dest)
Determine if the destination specified is managed locally.
|
void |
ClientManager.messageDeliveryStatusUpdate(Destination fromDest,
MessageId id,
long messageNonce,
int status) |
void |
ClientManagerFacadeImpl.messageDeliveryStatusUpdate(Destination fromDest,
MessageId id,
long messageNonce,
int status) |
(package private) boolean |
ClientConnectionRunner.receiveMessage(Destination toDest,
Destination fromDest,
Payload payload)
Synchronously deliver the message to the current runner
Failure indication is available as of 0.9.29.
|
(package private) boolean |
ClientConnectionRunner.receiveMessage(Hash toHash,
Destination fromDest,
Payload payload)
Synchronously deliver the message to the current runner
Failure indication is available as of 0.9.29.
|
void |
ClientManager.reportAbuse(Destination dest,
String reason,
int severity)
Unused
|
void |
ClientManagerFacadeImpl.reportAbuse(Destination dest,
String reason,
int severity)
Instruct the client (or all clients) that they are under attack.
|
void |
ClientConnectionRunner.reportAbuse(Destination dest,
String reason,
int severity)
Send async abuse message to the client
|
void |
ClientManager.requestLeaseSet(Destination dest,
LeaseSet set,
long timeout,
Job onCreateJob,
Job onFailedJob)
Request that a particular client authorize the Leases contained in the
LeaseSet, after which the onCreateJob is queued up.
|
void |
ClientManagerFacadeImpl.requestLeaseSet(Destination dest,
LeaseSet set,
long timeout,
Job onCreateJob,
Job onFailedJob)
Request that a particular client authorize the Leases contained in the
LeaseSet, after which the onCreateJob is queued up.
|
void |
ClientManager.unregisterSession(SessionId id,
Destination dest)
Remove only the following session.
|
(package private) void |
ClientConnectionRunner.updateMessageDeliveryStatus(Destination dest,
MessageId id,
long messageNonce,
int status)
Send a notification to the client that their message (id specified) was
delivered (or failed delivery)
Note that this sends the Guaranteed status codes, even though we only support best effort.
|
Constructor and Description |
---|
MessageReceivedJob(RouterContext ctx,
ClientConnectionRunner runner,
Destination toDest,
Destination fromDest,
Payload payload,
boolean sendDirect) |
ReportAbuseJob(RouterContext context,
ClientConnectionRunner runner,
Destination dest,
String reason,
int severity) |
Modifier and Type | Method and Description |
---|---|
Destination |
DummyNetworkDatabaseFacade.lookupDestinationLocally(Hash key) |
Modifier and Type | Method and Description |
---|---|
boolean |
DummyTunnelManagerFacade.addAlias(Destination dest,
ClientTunnelSettings settings,
Destination existingClient) |
void |
DummyTunnelManagerFacade.buildTunnels(Destination client,
ClientTunnelSettings settings) |
SessionConfig |
DummyClientManagerFacade.getClientSessionConfig(Destination _dest) |
boolean |
DummyClientManagerFacade.isLocal(Destination dest) |
void |
DummyClientManagerFacade.messageDeliveryStatusUpdate(Destination fromDest,
MessageId id,
long msgNonce,
int status) |
void |
DummyTunnelManagerFacade.removeAlias(Destination dest) |
void |
DummyClientManagerFacade.reportAbuse(Destination dest,
String reason,
int severity) |
void |
DummyClientManagerFacade.requestLeaseSet(Destination dest,
LeaseSet set,
long timeout,
Job onCreateJob,
Job onFailedJob) |
Modifier and Type | Method and Description |
---|---|
(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
|
Modifier and Type | Method and Description |
---|---|
Destination |
NegativeLookupCache.getBadDest(Hash h)
Get an unsupported but cached Destination
|
Destination |
KademliaNetworkDatabaseFacade.lookupDestinationLocally(Hash key)
Lookup locally in netDB and in badDest cache
Succeeds even if LS validation fails due to unsupported sig type, expired, etc.
|
Modifier and Type | Method and Description |
---|---|
void |
NegativeLookupCache.failPermanently(Destination dest)
Negative cache the hash until restart,
but cache the destination.
|
(package private) void |
KademliaNetworkDatabaseFacade.failPermanently(Destination dest)
Negative cache until restart
|
Modifier and Type | Method and Description |
---|---|
boolean |
TunnelPoolManager.addAlias(Destination dest,
ClientTunnelSettings settings,
Destination existingClient)
Add another destination to the same tunnels.
|
void |
TunnelPoolManager.buildTunnels(Destination client,
ClientTunnelSettings settings)
Used only at session startup.
|
void |
TunnelPoolManager.removeAlias(Destination dest)
Remove a destination for the same tunnels as another.
|
Modifier and Type | Method and Description |
---|---|
static Destination |
SAMUtils.getDest(String s)
Resolve the destination from a key or a hostname
|
Destination |
SAMStreamSession.getDestination()
Get the SAM STREAM session Destination.
|
Destination |
SAMMessageSession.getDestination()
Get the SAM message-based session Destination.
|
Destination |
SAMMessageSess.getDestination()
Get the SAM message-based session Destination.
|
Modifier and Type | Method and Description |
---|---|
void |
SAMv3Handler.notifyStreamIncomingConnection(Destination d,
int fromPort,
int toPort) |
void |
SAMStreamReceiver.notifyStreamIncomingConnection(int id,
Destination dest)
Notify about a new incoming connection
|
void |
SAMv1Handler.notifyStreamIncomingConnection(int id,
Destination d) |
static void |
SAMv3Handler.notifyStreamIncomingConnection(SocketChannel client,
Destination d) |
static void |
SAMv3Handler.notifyStreamIncomingConnection(SocketChannel client,
Destination d,
int fromPort,
int toPort) |
void |
SAMDatagramReceiver.receiveDatagramBytes(Destination sender,
byte[] data,
int proto,
int fromPort,
int toPort)
Send a byte array to a SAM client.
|
void |
SAMv3DatagramSession.receiveDatagramBytes(Destination sender,
byte[] data,
int proto,
int fromPort,
int toPort) |
void |
MasterSession.receiveDatagramBytes(Destination sender,
byte[] data,
int proto,
int fromPort,
int toPort) |
void |
SAMv1Handler.receiveDatagramBytes(Destination sender,
byte[] data,
int proto,
int fromPort,
int toPort) |
Modifier and Type | Method and Description |
---|---|
Destination |
PeerID.getAddress()
Get the destination.
|
Destination |
Peer.getDestination() |
(package private) Destination |
I2PSnarkUtil.getDestination(String ip)
Base64 Hash or Hash.i2p or name.i2p using naming service
|
(package private) static Destination |
I2PSnarkUtil.getDestinationFromBase64(String ip)
Base64 only - static (no naming service)
|
(package private) Destination |
I2PSnarkUtil.getMyDestination() |
Constructor and Description |
---|
PeerID(byte[] id,
Destination address) |
Modifier and Type | Method and Description |
---|---|
Destination |
NodeInfo.getDestination() |
Modifier and Type | Method and Description |
---|---|
void |
DHT.ping(Destination dest,
int port)
Ping.
|
void |
KRPC.ping(Destination dest,
int port)
Ping.
|
void |
NodeInfo.setDestination(Destination dest)
This can come in later but the hash must match.
|
Constructor and Description |
---|
NodeInfo(Destination dest,
int port)
With a fake NID used for pings
|
NodeInfo(NID nID,
Destination dest,
int port)
Use this if we have the full destination
|