## Uses of Package
net.i2p.client

Packages that use net.i2p.client
net.i2p.BOB: BOB, the Basic Open Bridge, allows TCP applications to talk over I2P.
net.i2p.client: Implements the base I2P SDK for developing 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.streaming: Implements 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.i2ptunnel
net.i2p.i2ptunnel.udp
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
net.i2p.sam

Classes in net.i2p.client used by net.i2p.BOB
I2PSession Define the standard means of sending and receiving messages on the I2P network by using the I2CP (the client protocol).
I2PSessionListener Define a means for the router to asynchronously notify the client that a new message is available or the router is under attack.

Classes in net.i2p.client used by net.i2p.client
ClientWriterRunner 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.
HandlerImpl Base class for handling I2CP messages
I2CPMessageHandler Define a way to handle a particular type of message
I2CPMessageProducer Produce the various messages the session needs to send to the router.
I2PClient Define the standard means of interacting with the I2P system
I2PClientMessageHandlerMap Contains a map of message handlers that a session will want to use
I2PSession Define the standard means of sending and receiving messages on the I2P network by using the I2CP (the client protocol).
I2PSessionException Thrown when there is a problem doing something on the session
I2PSessionImpl Implementation of an I2P session running over TCP.
I2PSessionImpl.AvailabilityNotifier This notifies the client of payload messages.
I2PSessionImpl2 Thread safe implementation of an I2P session running over TCP.
I2PSessionListener Define a means for the router to asynchronously notify the client that a new message is available or the router is under attack.
I2PSessionMuxedListener Define a means for the router to asynchronously notify the client that a new message is available or the router is under attack.

Classes in net.i2p.client used by net.i2p.client.datagram
I2PSession Define the standard means of sending and receiving messages on the I2P network by using the I2CP (the client protocol).

Classes in net.i2p.client used by net.i2p.client.streaming
I2PSession Define the standard means of sending and receiving messages on the I2P network by using the I2CP (the client protocol).
I2PSessionListener Define a means for the router to asynchronously notify the client that a new message is available or the router is under attack.

Classes in net.i2p.client used by net.i2p.data
I2PClient Define the standard means of interacting with the I2P system
I2PSession Define the standard means of sending and receiving messages on the I2P network by using the I2CP (the client protocol).
I2PSessionException Thrown when there is a problem doing something on the session

Classes in net.i2p.client used by net.i2p.i2ptunnel
I2PSession Define the standard means of sending and receiving messages on the I2P network by using the I2CP (the client protocol).

Classes in net.i2p.client used by net.i2p.i2ptunnel.udp
I2PSession Define the standard means of sending and receiving messages on the I2P network by using the I2CP (the client protocol).
I2PSessionListener Define a means for the router to asynchronously notify the client that a new message is available or the router is under attack.

Classes in net.i2p.client used by net.i2p.internal
I2PSessionException Thrown when there is a problem doing something on the session

Classes in net.i2p.client used by net.i2p.router.client
I2PSessionException Thrown when there is a problem doing something on the session

Classes in net.i2p.client used by net.i2p.sam
I2PSession Define the standard means of sending and receiving messages on the I2P network by using the I2CP (the client protocol).
I2PSessionException Thrown when there is a problem doing something on the session
I2PSessionListener Define a means for the router to asynchronously notify the client that a new message is available or the router is under attack.