Packages that use I2PSessionException
Package
Description
Interfaces and factories for the base I2P SDK used to develop applications that communicate through I2P.
Internal implementation of the I2P client SDK - the client side of the Invisible Internet Client Protocol (I2CP), separating implementation from the interfaces in
net.i2p.client. Naming service for resolving human-readable names (such as ident.i2p) into I2P destinations, providing a standard interface without JNDI complexity.
API, interfaces, and factory for a TCP-like (reliable, authenticated, in order) set of sockets for communicating over IP-like (unreliable, unauthenticated, unordered) I2P messages.
Implementation of a TCP-like (reliable, authenticated, in order) set of sockets for communicating over the IP-like (unreliable, unauthenticated, unordered) I2P messages.
Common data structures used by the I2P protocols: Destination, LeaseSet, PublicKey, Signature, Certificate and their friends.
Internal communication between a router and a client running in the same JVM, using queues instead of socket-based I2CP (the Invisible Internet Client Protocol), to avoid the serialization and socket overhead.
The I2P router application handles I2P network communication.
Router-side implementation of the Invisible Internet Client Protocol (I2CP): client sessions over plain or TLS sockets, message delivery, and lease and tunnel management on behalf of clients.
The SAM bridge: a simple text protocol server letting applications in any language use I2P streaming and datagram sessions without implementing the Invisible Internet Client Protocol (I2CP).
BitTorrent distributed hash table (DHT) implementation following the Mainline protocol, for trackerless peer discovery.
Uses of I2PSessionException in net.i2p.client
Methods in net.i2p.client that throw I2PSessionExceptionModifier and TypeMethodDescriptionI2PSession.addSubsession(InputStream privateKeyStream, Properties opts) Add a subsession.int[]I2PSession.bandwidthLimits()Current bandwidth limits; blocks until the response arrives.voidI2PSession.connect()Actually connect the session and start receiving/sending messages.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.I2PSimpleClient.createSession(InputStream destKeyStream, Properties options) Create a new session (though do not connect it yet).I2PSimpleClient.createSession(I2PAppContext context, Properties options) Create a new session (though do not connect it yet).voidI2PSession.destroySession()Tear down the session and release any resources.I2PSession.lookupDest(String name) Ask the router to lookup a Destination by host name.I2PSession.lookupDest(String name, long maxWait) Ask the router to lookup a Destination by host name.I2PSession.lookupDest(String name, long maxWait, LookupCallback callback) Lookup a Destination by hostname.I2PSession.lookupDest(Hash h) Lookup a Destination by Hash.I2PSession.lookupDest(Hash h, long maxWait) Lookup a Destination by Hash.I2PSession.lookupDest(Hash h, long maxWait, LookupCallback callback) Lookup a Destination by hash.I2PSession.lookupDest2(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.voidI2PSession.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.voidI2PSession.sendBlindingInfo(BlindData bd) Send blinding info to the router.booleanI2PSession.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.booleanI2PSession.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.booleanI2PSession.sendMessage(Destination dest, byte[] payload, int proto, int fromport, int toport) See I2PSessionMuxedImpl for proto/port details.booleanI2PSession.sendMessage(Destination dest, byte[] payload, int offset, int size, int proto, int fromPort, int toPort, SendMessageOptions options) See I2PSessionMuxedImpl for proto/port details.longI2PSession.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.booleanI2PSession.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.booleanI2PSession.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.booleanI2PSession.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.booleanI2PSession.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.booleanI2PSession.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.booleanI2PSession.sendMessage(Destination dest, byte[] payload, SessionKey keyUsed, Set<SessionTag> tagsSent) End-to-End Crypto is disabled, tags and keys are ignored!Uses of I2PSessionException in net.i2p.client.impl
Methods in net.i2p.client.impl that throw I2PSessionExceptionModifier and TypeMethodDescriptionvoidClientWriterRunner.addMessage(I2CPMessage msg) Add this message to the writer's queue.I2PSessionImpl.addSubsession(InputStream privateKeyStream, Properties opts) Router must be connected or was connected...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.voidI2CPMessageProducer.connect(I2PSessionImpl session) Send all the messages that a client needs to send to a router to establish a new session.voidI2PSessionImpl.connect()Connect to the router and establish a session.voidI2PSimpleSession.connect()Connect to the router and establish a session.voidSubSession.connect()Connect to the router and establish a session.voidI2CPMessageProducer.createLeaseSet(I2PSessionImpl session, LeaseSet leaseSet, SigningPrivateKey signingPriv, List<PrivateKey> privs) In response to a RequestLeaseSet Message from the router, send a CreateLeaseset Message back to the router.private static PayloadI2CPMessageProducer.createPayload(byte[] payload) Create a new payload.I2PClientImpl.createSession(InputStream destKeyStream, Properties options) Create a new session (though do not connect it yet).I2PClientImpl.createSession(I2PAppContext context, InputStream destKeyStream, Properties options) Create a new session (though do not connect it yet).voidI2CPMessageProducer.disconnect(I2PSessionImpl session) Send a message to the router destroying the session, which could be a subsession.I2PSessionImpl.lookupDest(String name) Ask the router to lookup a Destination by host name.I2PSessionImpl.lookupDest(String name, long maxWait) Ask the router to lookup a Destination by host name.I2PSessionImpl.lookupDest(String name, long maxWait, LookupCallback callback) Lookup a Destination by hash.I2PSessionImpl.lookupDest(Hash h) Blocking.I2PSessionImpl.lookupDest(Hash h, long maxWait) Blocking.I2PSessionImpl.lookupDest(Hash h, long maxWait, LookupCallback callback) Lookup a Destination by hostname.SubSession.lookupDest(String name) Ask the router to lookup a Destination by host name.SubSession.lookupDest(String name, long maxWait) Ask the router to lookup a Destination by host name.SubSession.lookupDest(Hash h) Blocking.SubSession.lookupDest(Hash h, long maxWait) Looks up a Destination, blocking up to the given wait for the answer.I2PSessionImpl.lookupDest2(String name, long maxWait) Ask the router to lookup a Destination by host name.private byte[]I2PSessionMuxedImpl.prepPayload(byte[] payload, int offset, int size, int proto, int fromPort, int toPort, SendMessageOptions.GzipOption gzo) Prepare the payload for sending.byte[]I2PSessionImpl.receiveMessage(int msgId) Pull the unencrypted data from the message that we've already prefetched and notified the user that its available.byte[]I2PSessionImpl2.receiveMessage(int msgId) Receive a message from the router, decompressing it unless it was sent uncompressed.voidI2CPMessageProducer.reportAbuse(I2PSessionImpl session, int msgId, int severity) Send an abuse message to the router.voidI2PSessionImpl.reportAbuse(int msgId, int severity) Report abuse with regards to the given messageId.protected booleanI2PSessionImpl2.sendBestEffort(Destination dest, byte[] payload, long expires, int flags) Send a best-effort message with the given flags.protected booleanI2PSessionImpl2.sendBestEffort(Destination dest, byte[] payload, SessionKey keyUsed, Set<SessionTag> tagsSent, long expires) Send a message with best effort delivery.voidI2PSessionImpl.sendBlindingInfo(BlindData bd) Send blinding info to a peer.voidI2CPMessageProducer.sendMessage(I2PSessionImpl session, Destination dest, long nonce, byte[] payload, long expires, int flags) Package up and send the payload to the router for delivery.voidI2CPMessageProducer.sendMessage(I2PSessionImpl session, Destination dest, long nonce, byte[] payload, SendMessageOptions options) Package up and send the payload to the router for delivery.voidI2CPMessageProducer.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.(package private) voidI2PSessionImpl.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.booleanI2PSessionImpl2.sendMessage(Destination dest, byte[] payload) Unused, see MuxedImpl override.booleanI2PSessionImpl2.sendMessage(Destination dest, byte[] payload, int offset, int size) Send an I2CP message.booleanI2PSessionImpl2.sendMessage(Destination dest, byte[] payload, int proto, int fromport, int toport) Send an I2CP message.booleanI2PSessionImpl2.sendMessage(Destination dest, byte[] payload, int offset, int size, int proto, int fromport, int toport, SendMessageOptions options) Send an I2CP message.longI2PSessionImpl2.sendMessage(Destination dest, byte[] payload, int offset, int size, int proto, int fromport, int toport, SendMessageOptions options, SendMessageStatusListener listener) Send an I2CP message.booleanI2PSessionImpl2.sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set<SessionTag> tagsSent) Send a message with session key and tags.booleanI2PSessionImpl2.sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set<SessionTag> tagsSent, int proto, int fromport, int toport) Send an I2CP message.booleanI2PSessionImpl2.sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set<SessionTag> tagsSent, long expires) Unused? See the MuxedImpl override.booleanI2PSessionImpl2.sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set<SessionTag> tagsSent, long expire, int proto, int fromport, int toport) Send an I2CP message.booleanI2PSessionImpl2.sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set<SessionTag> tagsSent, long expire, int proto, int fromport, int toport, int flags) Send an I2CP message.booleanI2PSessionImpl2.sendMessage(Destination dest, byte[] payload, SessionKey keyUsed, Set<SessionTag> tagsSent) Send a message with session key and tags.booleanI2PSessionMuxedImpl.sendMessage(Destination dest, byte[] payload) Send an I2CP message, with the protocol and ports unset.booleanI2PSessionMuxedImpl.sendMessage(Destination dest, byte[] payload, int proto, int fromport, int toport) Send an I2CP message.booleanI2PSessionMuxedImpl.sendMessage(Destination dest, byte[] payload, int offset, int size, int proto, int fromPort, int toPort, SendMessageOptions options) See SendMessageOptions for option details.longI2PSessionMuxedImpl.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.booleanI2PSessionMuxedImpl.sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set<SessionTag> tagsSent, int proto, int fromport, int toport) Send a message with session key and tags.booleanI2PSessionMuxedImpl.sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set<SessionTag> tagsSent, long expires) Send a message with session key and tags.booleanI2PSessionMuxedImpl.sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set<SessionTag> tagsSent, long expires, int proto, int fromPort, int toPort) Send a message with protocol and port information.booleanI2PSessionMuxedImpl.sendMessage(Destination dest, byte[] payload, int offset, int size, SessionKey keyUsed, Set<SessionTag> tagsSent, long expires, int proto, int fromPort, int toPort, int flags) Send a message with protocol, port, and flags.(package private) voidSubSession.sendMessage(I2CPMessage message) Deliver an I2CP message to the router May block for several seconds if the write queue to the router is full.(package private) voidI2PSessionImpl.sendMessage_unchecked(I2CPMessage message) Deliver an I2CP message to the router.(package private) voidSubSession.sendMessage_unchecked(I2CPMessage message) Deliver an I2CP message to the router.protected booleanI2PSessionImpl2.sendNoEffort(Destination dest, byte[] payload, long expires, int flags) Same asI2PSessionImpl2.sendBestEffort(Destination, byte[], SessionKey, Set, long), except we do not expect any MessageStatusMessage responses - not for accepted, or success, or failure.private voidI2PSessionMuxedImpl.sendNoEffort(Destination dest, byte[] payload, SendMessageOptions options) Send a message without expecting a response.voidI2CPMessageProducer.updateTunnels(I2PSessionImpl session, int tunnels) Update number of tunnels.protected voidI2PSessionImpl.verifyOpen()Throws I2PSessionException if uninitialized, closed or closing.private I2PSessionImpl.LookupWaiterI2PSessionImpl.x_lookupDest(String name, long maxWait) Ask the router to lookup a Destination by host name.Constructors in net.i2p.client.impl that throw I2PSessionExceptionModifierConstructorDescriptionprotectedI2PSessionImpl(I2PSessionImpl primary, InputStream destKeyStream, Properties options) For extension by SubSession viaI2PSessionMuxedImpland I2PSessionImpl2.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 routerprotectedI2PSessionImpl2(I2PSessionImpl primary, InputStream destKeyStream, Properties options) For extension bySubSessionvia I2PSessionMuxedImplprotectedI2PSessionImpl2(I2PAppContext ctx, InputStream destKeyStream, Properties options) For extension by I2PSessionMuxedImplprotectedI2PSessionMuxedImpl(I2PSessionImpl primary, InputStream destKeyStream, Properties options) For extension bySubSession.I2PSessionMuxedImpl(I2PAppContext ctx, InputStream destKeyStream, Properties options) Create a new muxed session.I2PSimpleSession(I2PAppContext context, Properties options) Create a new session for doing naming and bandwidth queries only.SubSession(I2PSession primary, InputStream destKeyStream, Properties options) Must be a I2PSessionMuxedImpl.Uses of I2PSessionException in net.i2p.client.naming
Methods in net.i2p.client.naming that throw I2PSessionExceptionModifier and TypeMethodDescription(package private) static DestinationLookupDest.lookupBase32Hash(I2PAppContext ctx, String key) Look up a destination by Base32 hash.private static DestinationLookupDest.lookupHash(I2PAppContext ctx, byte[] h) Look up a destination by hash.(package private) static DestinationLookupDest.lookupHostname(I2PAppContext ctx, String hostname) Any hostname, but this is for long-format b32.Uses of I2PSessionException in net.i2p.client.streaming
Methods in net.i2p.client.streaming with parameters of type I2PSessionExceptionModifier and TypeMethodDescription(package private) static StringI2PSocketManagerFactory.describeSessionFailure(I2PSessionException ise, String threadName) Renders a session-creation failure with enough identity to act on: which thread was doing the work, which stage of session setup was interrupted, and the exception type rather than only its message.(package private) static booleanI2PSocketManagerFactory.isSessionInterrupt(I2PSessionException ise) Whether a session failure was just an interrupt.Methods in net.i2p.client.streaming that throw I2PSessionExceptionModifier and TypeMethodDescriptionI2PSocketManager.addSubsession(InputStream privateKeyStream, Properties opts) For a server, you must call connect() on the returned object.static I2PSocketManagerI2PSocketManagerFactory.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.static I2PSocketManagerI2PSocketManagerFactory.createDisconnectedManager(InputStream myPrivateKeyStream, String i2cpHost, int i2cpPort, Properties opts, IncomingConnectionFilter filter) Create a disconnected socket manager using the destination loaded from the given private key stream, or null for a transient destination.private static I2PSocketManagerI2PSocketManagerFactory.createManager(InputStream myPrivateKeyStream, String i2cpHost, int i2cpPort, Properties opts, boolean connect, IncomingConnectionFilter filter) Create a socket manager using the destination loaded from the given private key stream and connected to the I2CP router on the specified machine on the given port.Uses of I2PSessionException in net.i2p.client.streaming.impl
Methods in net.i2p.client.streaming.impl that throw I2PSessionExceptionModifier and TypeMethodDescriptionI2PSocketManagerFull.addSubsession(InputStream privateKeyStream, Properties opts) For a server, you must callI2PSocketManagerFull.connect(Destination, I2PSocketOptions)on the returned object.private SigTypeI2PSocketManagerFull.getSigType(Properties opts) Sig type from the options, or the default if unset or unsupported.Uses of I2PSessionException in net.i2p.data
Methods in net.i2p.data that throw I2PSessionExceptionModifier and TypeMethodDescriptionPrivateKeyFile.getDestination()If the destination is not set, read it in from the file.PrivateKeyFile.open()Open an I2P session.PrivateKeyFile.open(Properties opts) Open a session with the given options.Constructors in net.i2p.data that throw I2PSessionExceptionModifierConstructorDescriptionRead a PrivateKeyFile from an input stream.Uses of I2PSessionException in net.i2p.internal
Methods in net.i2p.internal that throw I2PSessionExceptionModifier and TypeMethodDescriptionInternalClientManager.connect()Connect to the router, receiving a message queue to talk to the router with.Uses of I2PSessionException in net.i2p.router
Methods in net.i2p.router that throw I2PSessionExceptionModifier and TypeMethodDescriptionvoidClientManagerFacade.registerMetaDest(Destination dest) Declare that we're going to publish a meta LS for this destination.Uses of I2PSessionException in net.i2p.router.client
Methods in net.i2p.router.client that throw I2PSessionExceptionModifier and TypeMethodDescriptionClientManagerFacadeImpl.connect()The InternalClientManager interface.ClientManager.internalConnect()The InternalClientManager interface.voidClientManager.registerMetaDest(Destination dest) Declare that we're going to publish a meta LS for this destination.voidClientManagerFacadeImpl.registerMetaDest(Destination dest) Declare that we're going to publish a meta LS for this destination.Uses of I2PSessionException in net.i2p.sam
Methods in net.i2p.sam that throw I2PSessionExceptionModifier and TypeMethodDescriptionprivate voidSAMv3Handler.instantiateSession(String style, String nick, Properties allProps, Properties props) Create and start the session object for the given style.SAMMessageSess.lookupDest(String name) Lookup a destination through the I2CP session.SAMMessageSession.lookupDest(String name) Lookup a destination through the I2CP session.(package private) static DestinationSAMMessageSession.lookupDest(I2PSession session, String name) Lookup a destination through the I2CP session.SAMStreamSession.lookupDest(String name) Lookup a destination through the I2CP session.booleanSend bytes through a SAM DATAGRAM session.booleanSAMDatagramSession.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.booleanSend bytes through a SAM message-based session.booleanSAMMessageSess.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, with per-message extended options.abstract booleanSend bytes through a SAM message-based session.booleanSend bytes through a SAM RAW session.booleanSAMRawSession.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.booleanSending bytes is not supported in a STREAM or MASTER session; always throws.booleanSAMStreamSession.sendBytes(String s, byte[] b, int pr, int fp, int tp, boolean sendLeaseSet, int sendTags, int tagThreshold, int expiration) Sending bytes is not supported in a STREAM or MASTER session; always throws.protected booleanSAMMessageSession.sendBytesThroughMessageSession(String dest, byte[] data, int proto, int fromPort, int toPort) Actually send bytes through the SAM message-based session I2PSession (er...).protected booleanSAMMessageSession.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.Constructors in net.i2p.sam that throw I2PSessionExceptionModifierConstructorDescriptionSAMDatagramSession(InputStream destStream, Properties props, SAMDatagramReceiver recv) Create a new SAM DATAGRAM session.protectedSAMDatagramSession(String dest, Properties props, SAMDatagramReceiver recv) Create a new SAM DATAGRAM session.protectedSAMDatagramSession(I2PSession sess, Properties props, int listenProtocol, int listenPort, SAMDatagramReceiver recv) Create a new SAM DATAGRAM session on an existing I2P session.protectedSAMMessageSession(InputStream destStream, Properties props) Initialize a new SAM message-based session.protectedSAMMessageSession(String dest, Properties props) Initialize a new SAM message-based session.SAMMessageSessionHandler(InputStream destStream, Properties props) Create a new SAM message-based session handler.SAMRawSession(InputStream destStream, Properties props, SAMRawReceiver recv) Create a new SAM RAW session.protectedSAMRawSession(String dest, Properties props, SAMRawReceiver recv) Create a new SAM RAW session.protectedSAMRawSession(I2PSession sess, Properties props, int listenProtocol, int listenPort, SAMRawReceiver recv) Create a new SAM RAW session on an existing I2P session.SAMv3DatagramSession(String nick, Properties props, SAMv3Handler handler, I2PSession isess, int listenProtocol, int listenPort, SAMv3DatagramServer dgServer) Build a Datagram Session on an existing i2p session registered with the given nicknameSAMv3DatagramSession(String nick, SAMv3DatagramServer dgServer) Build a DatagramSession according to informations registered with the given nicknameSAMv3RawSession(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 nicknameSAMv3RawSession(String nick, SAMv3DatagramServer dgServer) Build a Raw Datagram Session according to information registered with the given nicknameUses of I2PSessionException in org.klomp.snark.dht
Methods in org.klomp.snark.dht that throw I2PSessionExceptionModifier and TypeMethodDescriptionstatic booleanDatagramSender.send(I2PSession session, SendMessageOptions opts, Destination dest, byte[] payload, int fromPort, int toPort, boolean repliable) Send a pre-wrapped datagram payload through the session.