package net.i2p.client.impl
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.
Implements the client side of I2CP; not to be used externally. Subject to change and not part of the public API.
- ClassDescriptionHandle I2CP BW replies from the router.Copied from net.i2p.router.client We need a single thread that writes so we don't have issues with the Piped Streams used in InternalSocket.Handle I2CP dest replies from the router.Handle I2CP disconnect messages from the router.Base class for handling I2CP messages.Handle I2CP dest replies from the router.Define a way to handle a particular type of message.Produce the various messages the session needs to send to the router.Base client implementation.Contains a map of message handlers that a session will want to use.Implement multiplexing with a 1-byte 'protocol' and a two-byte 'port'.For listeners that don't care about proto and ports.Implementation of an I2P session running over TCP.Simple object to wait for lookup replies.Session state enumeration.Thread safe implementation of an I2P session running over TCP.I2PSession with protocol and portsKeep this simple.Create a new session for doing naming and bandwidth queries only.Only map message handlers that we will use.Return value of
I2PSession.lookupDest2(String, long).Handle I2CP MessagePayloadMessages from the router delivering the contents of a message by accepting it, decrypting the payload, adding it to the set of received messages, and telling the router that it has been received correctly.Contains the state of a payload message being sent to a peer.Status of the message being tracked.Handle I2CP MessageStatusMessages from the router.Handle I2CP RequestLeaseSetMessage from the router by granting all leases, using the specified expiration time for each lease.Multiple encryption keys supported, as of 0.9.39, for LS2.Reverse order by enc type.Handle I2CP RequestVariableLeaseSetMessage from the router by granting all leases, retaining the individual expiration time for each lease.Reduce tunnels or shutdown the session on idle if so configured.Handle I2CP SessionStatusMessagese from the router, updating the session as necessary.Handle I2CP time messages from the router.An additional session using another session's connection.