## Uses of Interface
net.i2p.client.I2PSessionListener

- Packages that use I2PSessionListener
  Package | Description
  --- | ---
  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.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.i2ptunnel.udp |
  net.i2p.sam |

- - ### Uses of I2PSessionListener in net.i2p.BOB

    Classes in net.i2p.BOB that implement I2PSessionListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `UDPIOthread` UDP IO on I2P FIX ME: Untested, and incomplete! I have no personal need to UDP yet, however alot of p2p apps pretty much demand it.

  - ### Uses of I2PSessionListener in net.i2p.client

    Subinterfaces of I2PSessionListener in net.i2p.client
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `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 that implement I2PSessionListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `I2PSessionDemultiplexer` Implement multiplexing with a 1-byte 'protocol' and a two-byte 'port'.

    Fields in net.i2p.client declared as I2PSessionListener
    Modifier and Type | Field and Description
    --- | ---
    `protected I2PSessionListener` | I2PSessionImpl.`_sessionListener` who we send events to

    Methods in net.i2p.client with parameters of type I2PSessionListener
    Modifier and Type | Method and Description
    --- | ---
    `void` | I2PSessionDemultiplexer.`addListener(I2PSessionListener l, int proto, int port)` For those that don't need to hear about the protocol and ports in messageAvailable() (Streaming lib)
    `void` | I2PSession.`addSessionListener(I2PSessionListener lsnr, int proto, int port)` See I2PSessionMuxedImpl for details
    `void` | I2PSessionMuxedImpl.`addSessionListener(I2PSessionListener lsnr, int proto, int port)` Listen on specified protocol and port.
    `void` | I2PSessionImpl2.`addSessionListener(I2PSessionListener lsnr, int proto, int port)`
    `void` | I2PSessionImpl.`setSessionListener(I2PSessionListener lsnr)` configure the listener
    `void` | I2PSession.`setSessionListener(I2PSessionListener lsnr)` Instruct the I2PSession where it should send event notifications
    `void` | I2PSessionMuxedImpl.`setSessionListener(I2PSessionListener lsnr)` listen on all protocols and ports

  - ### Uses of I2PSessionListener in net.i2p.client.streaming

    Classes in net.i2p.client.streaming that implement I2PSessionListener
    Modifier and Type | Class and Description
    --- | ---
    `(package private) class` | `I2PSocketManagerImpl` Deprecated. use I2PSocketManagerFull
    `(package private) class` | `MessageHandler` Receive raw information from the I2PSession and turn it into Packets, if we can.

  - ### Uses of I2PSessionListener in net.i2p.i2ptunnel.udp

    Classes in net.i2p.i2ptunnel.udp that implement I2PSessionListener
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `I2PSource.Listener`

  - ### Uses of I2PSessionListener in net.i2p.sam

    Classes in net.i2p.sam that implement I2PSessionListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SAMMessageSession.SAMMessageSessionHandler` SAM message-based session handler, running in its own thread