Package 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. The client side of the interface is implemented in net.i2p.client.

  • Class Summary 
    Class Description
    ClientConnectionRunner
    Bridge the router and the client - managing state for a client.
    ClientListenerRunner
    Listen for connections on the specified port, and toss them onto the client manager's set of connections once they are established.
    ClientManager
    Coordinate connections and various tasks
    ClientManagerFacadeImpl
    Base impl of the client facade
    ClientMessageEventListener
    Receive events from the client and handle them accordingly (updating the runner when necessary)
    ClientWriterRunner
    Async writer class so that if a client app hangs, they wont take down the whole router with them (since otherwise the JobQueue would block until the client reads from their i2cp socket, causing all sorts of bad things to happen) For external I2CP connections only.
    CreateSessionJob
    Given an established connection, walk through the process of establishing the lease set.
    I2CPMessageQueueImpl
    Contains the methods to talk to a router or client via I2CP, when both are in the same JVM.
    LeaseRequestState
    Bundle up the data points necessary when asynchronously requesting a lease from a client
    LookupDestJob
    Look up the lease of a hash, to convert it to a Destination for the client.
    MessageReceivedJob
    Async job to notify the client that a new message is available for them, or just send it directly if specified.
    QueuedClientConnectionRunner
    Zero-copy in-JVM.
    ReportAbuseJob
    Async job to send an abuse message to the client
    RequestLeaseSetJob
    Async job to walk the client through generating a lease set.
    SSLClientListenerRunner
    SSL version of ClientListenerRunner