# Uses of Package
net.i2p.data.i2cp

- Packages that use net.i2p.data.i2cp
  Package | Description
  --- | ---
  net.i2p.client.impl | Internal implementation of the I2P client SDK, providing the client side of the I2CP protocol for applications communicating through I2P.
  net.i2p.data.i2cp | The Invisible Internet Client Protocol (I2CP) allows applications simplified access to I2P network without requiring them to deal with the issues involved with the Invisible Internet Network Protocol (I2NP).
  net.i2p.internal | Internal communication interfaces for router and client within same JVM, using queues instead of socket-based I2CP.
  net.i2p.router | The I2P router application handles I2P network communication.
  net.i2p.router.client | Router-side implementation of the I2CP (I2P Client Protocol) interface for application integration.
  net.i2p.router.dummy | Dummy implementations and stub classes for testing purposes.

- Classes in net.i2p.data.i2cp used by net.i2p.client.impl
  Class and Description
  I2CPMessage Defines the base functionality of API messages As of 0.9.48, does NOT extend DataStructure.
  I2CPMessageReader The I2CPMessageReader reads an InputStream (using `I2CPMessageHandler`) and passes out events to a registered listener, where events are either messages being received, exceptions being thrown, or the connection being closed.
  I2CPMessageReader.I2CPMessageEventListener Defines the different events the reader produces while reading the stream
  MessageId Defines the message ID of a message delivered between a router and a client in a particular session.
  MessagePayloadMessage Defines the payload message a router sends to the client
  SessionId Defines the token passed between the router and client to associate messages with a particular session.

- Classes in net.i2p.data.i2cp used by net.i2p.data.i2cp
  Class and Description
  AbuseReason Defines the structure for why abuse was reported either by the client to the router or by the router to the client
  AbuseSeverity Provides a severity level (larger numbers are more severe) in association with a client reporting abusive behavior to the router or the router reporting it to the client
  CreateLeaseSetMessage Defines the message a client sends to a router when authorizing the LeaseSet
  I2CPMessage Defines the base functionality of API messages As of 0.9.48, does NOT extend DataStructure.
  I2CPMessageException Represent an error serializing or deserializing a message
  I2CPMessageImpl Defines the base message implementation.
  I2CPMessageReader The I2CPMessageReader reads an InputStream (using `I2CPMessageHandler`) and passes out events to a registered listener, where events are either messages being received, exceptions being thrown, or the connection being closed.
  I2CPMessageReader.I2CPMessageEventListener Defines the different events the reader produces while reading the stream
  I2CPMessageReader.I2CPMessageReaderRunner
  MessageId Defines the message ID of a message delivered between a router and a client in a particular session.
  SendMessageMessage Defines the message a client sends to a router to ask it to deliver a new message
  SessionConfig Defines the information a client must provide to create a session
  SessionId Defines the token passed between the router and client to associate messages with a particular session.

- Classes in net.i2p.data.i2cp used by net.i2p.internal
  Class and Description
  I2CPMessage Defines the base functionality of API messages As of 0.9.48, does NOT extend DataStructure.
  I2CPMessageException Represent an error serializing or deserializing a message
  I2CPMessageImpl Defines the base message implementation.
  I2CPMessageReader The I2CPMessageReader reads an InputStream (using `I2CPMessageHandler`) and passes out events to a registered listener, where events are either messages being received, exceptions being thrown, or the connection being closed.
  I2CPMessageReader.I2CPMessageEventListener Defines the different events the reader produces while reading the stream
  I2CPMessageReader.I2CPMessageReaderRunner

- Classes in net.i2p.data.i2cp used by net.i2p.router
  Class and Description
  MessageId Defines the message ID of a message delivered between a router and a client in a particular session.
  SessionConfig Defines the information a client must provide to create a session

- Classes in net.i2p.data.i2cp used by net.i2p.router.client
  Class and Description
  CreateLeaseSetMessage Defines the message a client sends to a router when authorizing the LeaseSet
  DestLookupMessage Request the router look up the dest for a hash
  GetBandwidthLimitsMessage Request the router tells us the current bw limits
  HostLookupMessage Request the router look up the dest for a hash or a host.
  I2CPMessage Defines the base functionality of API messages As of 0.9.48, does NOT extend DataStructure.
  I2CPMessageException Represent an error serializing or deserializing a message
  I2CPMessageReader The I2CPMessageReader reads an InputStream (using `I2CPMessageHandler`) and passes out events to a registered listener, where events are either messages being received, exceptions being thrown, or the connection being closed.
  I2CPMessageReader.I2CPMessageEventListener Defines the different events the reader produces while reading the stream
  MessageId Defines the message ID of a message delivered between a router and a client in a particular session.
  SendMessageMessage Defines the message a client sends to a router to ask it to deliver a new message
  SessionConfig Defines the information a client must provide to create a session
  SessionId Defines the token passed between the router and client to associate messages with a particular session.

- Classes in net.i2p.data.i2cp used by net.i2p.router.dummy
  Class and Description
  MessageId Defines the message ID of a message delivered between a router and a client in a particular session.
  SessionConfig Defines the information a client must provide to create a session