## Uses of Class
net.i2p.data.i2cp.I2CPMessageImpl

- Packages that use I2CPMessageImpl
  Package | Description
  --- | ---
  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.

- - ### Uses of I2CPMessageImpl in net.i2p.data.i2cp

    Subclasses of I2CPMessageImpl in net.i2p.data.i2cp
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BandwidthLimitsMessage` Tell the other side the limits
    `class` | `BlindingInfoMessage` Advise the router that the endpoint is blinded.
    `class` | `CreateLeaseSet2Message` Like CreateLeaseSetMessage, but supports both old and new LeaseSet types, including LS2, Meta, and Encrypted.
    `class` | `CreateLeaseSetMessage` Defines the message a client sends to a router when authorizing the LeaseSet
    `class` | `CreateSessionMessage` Defines the message a client sends to a router when establishing a new session.
    `class` | `DestLookupMessage` Request the router look up the dest for a hash
    `class` | `DestReplyMessage` Response to DestLookupMessage.
    `class` | `DestroySessionMessage` Defines the message a client sends to a router when destroying existing session.
    `class` | `DisconnectMessage` Defines the message a client sends to a router when destroying existing session.
    `class` | `GetBandwidthLimitsMessage` Request the router tells us the current bw limits
    `class` | `GetDateMessage` Request the other side to send us what they think the current time is.
    `class` | `HostLookupMessage` Request the router look up the dest for a hash or a host.
    `class` | `HostReplyMessage` Response to HostLookupMessage.
    `class` | `MessagePayloadMessage` Defines the payload message a router sends to the client
    `class` | `MessageStatusMessage` Defines the message a router sends to a client about a single message.
    `class` | `ReceiveMessageBeginMessage` Defines the message a client sends to a router when asking the router to start sending a message to it.
    `class` | `ReceiveMessageEndMessage` Defines the message a client sends to a router when asking the router to start sending a message to it.
    `class` | `ReconfigureSessionMessage` Defines the message a client sends to a router when updating the config on an existing session.
    `class` | `ReportAbuseMessage` Defines the message a client sends to a router when asking the router what its address visibility is
    `class` | `RequestLeaseSetMessage` Defines the message a router sends to a client to request that a leaseset be created and signed.
    `class` | `RequestVariableLeaseSetMessage` Defines the message a router sends to a client to request that a leaseset be created and signed.
    `class` | `SendMessageExpiresMessage` Same as SendMessageMessage, but with an expiration to be passed to the router As of 0.8.4, retrofitted to use DateAndFlags.
    `class` | `SendMessageMessage` Defines the message a client sends to a router to ask it to deliver a new message
    `class` | `SessionStatusMessage` Defines the message a router sends to a client indicating the status of the session.
    `class` | `SetDateMessage` Tell the other side what time it is.

  - ### Uses of I2CPMessageImpl in net.i2p.internal

    Subclasses of I2CPMessageImpl in net.i2p.internal
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PoisonI2CPMessage` For marking end-of-queues in a standard manner.