Package | Description |
---|---|
net.i2p.client |
Interfaces and factories for
the base I2P SDK used to develop applications that communicate
through I2P.
|
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.internal |
Interface and classes for a router and client
within the same JVM to directly pass I2CP messages using Queues
instead of serialized messages over socket streams.
|
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.sam |
The SAM client API.
|
Modifier and Type | Method and Description |
---|---|
I2PSession |
I2PSession.addSubsession(InputStream privateKeyStream,
Properties opts) |
int[] |
I2PSession.bandwidthLimits()
Get the current bandwidth limits.
|
void |
I2PSession.connect()
Actually connect the session and start receiving/sending messages
|
I2PSession |
I2PSimpleClient.createSession(I2PAppContext context,
Properties options)
Create a new session (though do not connect it yet)
|
I2PSession |
I2PSimpleClient.createSession(InputStream destKeyStream,
Properties options)
Create a new session (though do not connect it yet)
|
I2PSession |
I2PClient.createSession(InputStream destKeyStream,
Properties options)
Create a new client session for the Destination stored at the destKeyStream
using the specified options to both connect to the router, to instruct
the router how to handle the new session, and to configure the end to end
encryption.
|
void |
I2PSession.destroySession()
Tear down the session and release any resources.
|
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.
|
byte[] |
I2PSession.receiveMessage(int msgId)
Receive a message that the router has notified the client about, returning
the payload.
|
void |
I2PSession.reportAbuse(int msgId,
int severity)
Instruct the router that the message received was abusive (including how
abusive on a 1-100 scale) in the hopes the router can do something to
minimize receiving abusive messages like that in the future.
|
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 |
---|---|
void |
ClientWriterRunner.addMessage(I2CPMessage msg)
Add this message to the writer's queue.
|
I2PSession |
I2PSessionImpl.addSubsession(InputStream privateKeyStream,
Properties opts)
Router must be connected or was connected...
|
I2PSession |
SubSession.addSubsession(InputStream destKeyStream,
Properties opts)
Unsupported in a subsession.
|
int[] |
I2PSessionImpl.bandwidthLimits()
Blocking.
|
int[] |
SubSession.bandwidthLimits()
This won't be called, as the reply does not contain a session ID, so
it won't be routed back to us
|
void |
I2PSimpleSession.connect()
Connect to the router and establish a session.
|
void |
I2PSessionImpl.connect()
Connect to the router and establish a session.
|
void |
SubSession.connect()
Connect to the router and establish a session.
|
void |
I2CPMessageProducer.connect(I2PSessionImpl session)
Send all the messages that a client needs to send to a router to establish
a new session.
|
void |
I2CPMessageProducer.createLeaseSet(I2PSessionImpl session,
LeaseSet leaseSet,
SigningPrivateKey signingPriv,
PrivateKey priv)
Create a new signed leaseSet in response to a request to do so and send it
to the router
|
I2PSession |
I2PClientImpl.createSession(I2PAppContext context,
InputStream destKeyStream,
Properties options)
Create a new session (though do not connect it yet)
|
I2PSession |
I2PClientImpl.createSession(InputStream destKeyStream,
Properties options)
Create a new session (though do not connect it yet)
|
void |
I2CPMessageProducer.disconnect(I2PSessionImpl session)
Send messages to the router destroying the session and disconnecting
|
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.
|
byte[] |
I2PSessionImpl2.receiveMessage(int msgId)
pull the unencrypted AND DECOMPRESSED data
|
byte[] |
I2PSessionImpl.receiveMessage(int msgId)
Pull the unencrypted data from the message that we've already prefetched and
notified the user that its available.
|
void |
I2CPMessageProducer.reportAbuse(I2PSessionImpl session,
int msgId,
int severity)
Send an abuse message to the router
|
void |
I2PSessionImpl.reportAbuse(int msgId,
int severity)
Report abuse with regards to the given messageId
|
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) |
(package private) void |
I2PSessionImpl.sendMessage_unchecked(I2CPMessage message)
Deliver an I2CP message to the router.
|
(package private) void |
SubSession.sendMessage_unchecked(I2CPMessage message)
Deliver an I2CP message to the router.
|
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload)
unused, see MuxedImpl override
|
boolean |
I2PSessionMuxedImpl.sendMessage(Destination dest,
byte[] payload) |
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
int offset,
int size) |
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
int proto,
int fromport,
int toport) |
boolean |
I2PSessionMuxedImpl.sendMessage(Destination dest,
byte[] payload,
int proto,
int fromport,
int toport) |
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
int proto,
int fromport,
int toport,
SendMessageOptions options) |
boolean |
I2PSessionMuxedImpl.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
int proto,
int fromPort,
int toPort,
SendMessageOptions options)
See SendMessageOptions for option details.
|
long |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
int proto,
int fromport,
int toport,
SendMessageOptions options,
SendMessageStatusListener listener) |
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.
|
boolean |
I2PSessionImpl2.sendMessage(Destination dest,
byte[] payload,
int offset,
int size,
SessionKey keyUsed,
Set<SessionTag> tagsSent) |
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,
int proto,
int fromport,
int toport) |
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) |
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) |
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 |
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,
SessionKey keyUsed,
Set<SessionTag> tagsSent) |
(package private) void |
I2PSessionImpl.sendMessage(I2CPMessage message)
Deliver an I2CP message to the router
As of 0.9.3, may block for several seconds if the write queue to the router is full
|
(package private) void |
SubSession.sendMessage(I2CPMessage message)
Deliver an I2CP message to the router
May block for several seconds if the write queue to the router is full
|
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.
|
void |
I2CPMessageProducer.updateTunnels(I2PSessionImpl session,
int tunnels)
Update number of tunnels
|
protected void |
I2PSessionImpl.verifyOpen()
Throws I2PSessionException if uninitialized, closed or closing.
|
Constructor and Description |
---|
I2PSessionImpl(I2PAppContext context,
InputStream destKeyStream,
Properties options)
Create a new session, reading the Destination, PrivateKey, and SigningPrivateKey
from the destKeyStream, and using the specified options to connect to the router
As of 0.9.19, defaults in options are honored.
|
I2PSessionImpl(I2PSessionImpl primary,
InputStream destKeyStream,
Properties options) |
I2PSessionImpl2(I2PAppContext ctx,
InputStream destKeyStream,
Properties options)
for extension by I2PSessionMuxedImpl
Create a new session, reading the Destination, PrivateKey, and SigningPrivateKey
from the destKeyStream, and using the specified options to connect to the router
|
I2PSessionImpl2(I2PSessionImpl primary,
InputStream destKeyStream,
Properties options) |
I2PSessionMuxedImpl(I2PAppContext ctx,
InputStream destKeyStream,
Properties options) |
I2PSessionMuxedImpl(I2PSessionImpl primary,
InputStream destKeyStream,
Properties options) |
I2PSimpleSession(I2PAppContext context,
Properties options)
Create a new session for doing naming and bandwidth queries only.
|
SubSession(I2PSession primary,
InputStream destKeyStream,
Properties options) |
Modifier and Type | Method and Description |
---|---|
(package private) static Destination |
LookupDest.lookupBase32Hash(I2PAppContext ctx,
String key) |
(package private) static Destination |
LookupDest.lookupHash(I2PAppContext ctx,
byte[] h) |
static void |
LookupDest.main(String[] args) |
Modifier and Type | Method and Description |
---|---|
I2PSession |
I2PSocketManager.addSubsession(InputStream privateKeyStream,
Properties opts) |
static I2PSocketManager |
I2PSocketManagerFactory.createDisconnectedManager(InputStream myPrivateKeyStream,
String i2cpHost,
int i2cpPort,
Properties opts)
Create a disconnected socket manager using the destination loaded from the given private key
stream, or null for a transient destination.
|
Modifier and Type | Method and Description |
---|---|
I2PSession |
I2PSocketManagerFull.addSubsession(InputStream privateKeyStream,
Properties opts) |
Modifier and Type | Method and Description |
---|---|
Destination |
PrivateKeyFile.getDestination()
If the destination is not set, read it in from the file.
|
I2PSession |
PrivateKeyFile.open() |
I2PSession |
PrivateKeyFile.open(Properties opts) |
Constructor and Description |
---|
PrivateKeyFile(InputStream in)
Can't be used for writing
|
Modifier and Type | Method and Description |
---|---|
I2CPMessageQueue |
InternalClientManager.connect()
Connect to the router, receiving a message queue to talk to the router with.
|
Modifier and Type | Method and Description |
---|---|
I2CPMessageQueue |
ClientManagerFacadeImpl.connect()
The InternalClientManager interface.
|
I2CPMessageQueue |
ClientManager.internalConnect()
The InternalClientManager interface.
|
Modifier and Type | Method and Description |
---|---|
abstract boolean |
SAMMessageSession.sendBytes(String dest,
byte[] data,
int proto,
int fromPort,
int toPort)
Send bytes through a SAM message-based session.
|
boolean |
SAMMessageSess.sendBytes(String dest,
byte[] data,
int proto,
int fromPort,
int toPort)
Send bytes through a SAM message-based session.
|
boolean |
SAMStreamSession.sendBytes(String s,
byte[] b,
int pr,
int fp,
int tp)
Unsupported
|
boolean |
SAMDatagramSession.sendBytes(String dest,
byte[] data,
int proto,
int fromPort,
int toPort)
Send bytes through a SAM DATAGRAM session.
|
boolean |
SAMRawSession.sendBytes(String dest,
byte[] data,
int proto,
int fromPort,
int toPort)
Send bytes through a SAM RAW session.
|
boolean |
SAMMessageSess.sendBytes(String dest,
byte[] data,
int proto,
int fromPort,
int toPort,
boolean sendLeaseSet,
int sendTags,
int tagThreshold,
int expiration)
Send bytes through a SAM message-based session.
|
boolean |
SAMStreamSession.sendBytes(String s,
byte[] b,
int pr,
int fp,
int tp,
boolean sendLeaseSet,
int sendTags,
int tagThreshold,
int expiration)
Unsupported
|
boolean |
SAMDatagramSession.sendBytes(String dest,
byte[] data,
int proto,
int fromPort,
int toPort,
boolean sendLeaseSet,
int sendTags,
int tagThreshold,
int expiration)
Send bytes through a SAM DATAGRAM session.
|
boolean |
SAMRawSession.sendBytes(String dest,
byte[] data,
int proto,
int fromPort,
int toPort,
boolean sendLeaseSet,
int sendTags,
int tagThreshold,
int expiration)
Send bytes through a SAM RAW session.
|
protected boolean |
SAMMessageSession.sendBytesThroughMessageSession(String dest,
byte[] data,
int proto,
int fromPort,
int toPort)
Actually send bytes through the SAM message-based session I2PSession
(er...).
|
protected boolean |
SAMMessageSession.sendBytesThroughMessageSession(String dest,
byte[] data,
int proto,
int fromPort,
int toPort,
boolean sendLeaseSet,
int sendTags,
int tagThreshold,
int expiration)
Actually send bytes through the SAM message-based session I2PSession,
using per-message extended options.
|
Constructor and Description |
---|
SAMDatagramSession(I2PSession sess,
Properties props,
int listenPort,
SAMDatagramReceiver recv)
Create a new SAM DATAGRAM session on an existing I2P session.
|
SAMDatagramSession(InputStream destStream,
Properties props,
SAMDatagramReceiver recv)
Create a new SAM DATAGRAM session.
|
SAMDatagramSession(String dest,
Properties props,
SAMDatagramReceiver recv)
Create a new SAM DATAGRAM session.
|
SAMMessageSession(I2PSession sess,
int listenProtocol,
int listenPort)
Initialize a new SAM message-based session using an existing I2PSession.
|
SAMMessageSession(InputStream destStream,
Properties props)
Initialize a new SAM message-based session.
|
SAMMessageSession(String dest,
Properties props)
Initialize a new SAM message-based session.
|
SAMRawSession(I2PSession sess,
Properties props,
int listenProtocol,
int listenPort,
SAMRawReceiver recv)
Create a new SAM RAW session on an existing I2P session.
|
SAMRawSession(InputStream destStream,
Properties props,
SAMRawReceiver recv)
Create a new SAM RAW session.
|
SAMRawSession(String dest,
Properties props,
SAMRawReceiver recv)
Create a new SAM RAW session.
|
SAMv3DatagramSession(String nick,
Properties props,
SAMv3Handler handler,
I2PSession isess,
int listenPort,
SAMv3DatagramServer dgServer)
Build a Datagram Session on an existing i2p session
registered with the given nickname
Caller MUST call start().
|
SAMv3DatagramSession(String nick,
SAMv3DatagramServer dgServer)
build a DatagramSession according to informations registered
with the given nickname
Caller MUST call start().
|
SAMv3RawSession(String nick,
Properties props,
SAMv3Handler handler,
I2PSession isess,
int listenProtocol,
int listenPort,
SAMv3DatagramServer dgServer)
Build a Raw Session on an existing i2p session
registered with the given nickname
Caller MUST call start().
|
SAMv3RawSession(String nick,
SAMv3DatagramServer dgServer)
Build a Raw Datagram Session according to information
registered with the given nickname
Caller MUST call start().
|