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

- Packages that use I2CPMessageException
  Package | Description
  --- | ---
  net.i2p.data.i2cp | The Invisible Internet Client Protocol (I2CP) allows applications simplified access to the I2P network without requiring them to deal with the issues involved with the Invisible Internet Network Protocol (I2NP).
  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 |

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

    Methods in net.i2p.data.i2cp that throw I2CPMessageException
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | DisconnectMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | SessionStatusMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | DestroySessionMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | GetDateMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | DestLookupMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | MessagePayloadMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | ReportAbuseMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | ReconfigureSessionMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | DestReplyMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | CreateLeaseSetMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | SendMessageMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | SetDateMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | BandwidthLimitsMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | MessageStatusMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | ReceiveMessageBeginMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | GetBandwidthLimitsMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | ReceiveMessageEndMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | RequestLeaseSetMessage.`doReadMessage(InputStream in, int size)`
    `protected void` | CreateSessionMessage.`doReadMessage(InputStream in, int size)`
    `protected abstract void` | I2CPMessageImpl.`doReadMessage(InputStream buf, int size)` Read in the payload part of the message (after the initial 4 byte size and 1 byte type)
    `protected byte[]` | DisconnectMessage.`doWriteMessage()`
    `protected byte[]` | SessionStatusMessage.`doWriteMessage()`
    `protected byte[]` | DestroySessionMessage.`doWriteMessage()`
    `protected byte[]` | GetDateMessage.`doWriteMessage()`
    `protected byte[]` | DestLookupMessage.`doWriteMessage()`
    `protected byte[]` | MessagePayloadMessage.`doWriteMessage()`
    `protected byte[]` | ReportAbuseMessage.`doWriteMessage()`
    `protected byte[]` | ReconfigureSessionMessage.`doWriteMessage()`
    `protected byte[]` | DestReplyMessage.`doWriteMessage()`
    `protected byte[]` | CreateLeaseSetMessage.`doWriteMessage()`
    `protected byte[]` | SendMessageMessage.`doWriteMessage()`
    `protected byte[]` | SetDateMessage.`doWriteMessage()`
    `protected byte[]` | BandwidthLimitsMessage.`doWriteMessage()`
    `protected byte[]` | MessageStatusMessage.`doWriteMessage()`
    `protected byte[]` | ReceiveMessageBeginMessage.`doWriteMessage()`
    `protected byte[]` | GetBandwidthLimitsMessage.`doWriteMessage()`
    `protected byte[]` | ReceiveMessageEndMessage.`doWriteMessage()`
    `protected byte[]` | RequestLeaseSetMessage.`doWriteMessage()`
    `protected byte[]` | CreateSessionMessage.`doWriteMessage()`
    `protected abstract byte[]` | I2CPMessageImpl.`doWriteMessage()` Write out the payload part of the message (not including the 4 byte size and 1 byte type)
    `void` | I2CPMessage.`readMessage(InputStream in)` Read the contents from the input stream into the current class's format.
    `static I2CPMessage` | I2CPMessageHandler.`readMessage(InputStream in)` Read an I2CPMessage from the stream and return the fully populated object.
    `void` | I2CPMessageImpl.`readMessage(InputStream in)` Validate the type and size of the message, and then read the message into the data structures.
    `void` | SendMessageMessage.`readMessage(InputStream in, int length, int type)` Read the body into the data structures
    `void` | I2CPMessage.`readMessage(InputStream in, int size, int type)` Read the contents from the input stream into the current class's format.
    `void` | SendMessageExpiresMessage.`readMessage(InputStream in, int length, int type)` Read the body into the data structures
    `void` | I2CPMessageImpl.`readMessage(InputStream in, int length, int type)` Read the body into the data structures
    `void` | MessagePayloadMessage.`writeMessage(OutputStream out)` Write out the full message to the stream, including the 4 byte size and 1 byte type header.
    `void` | SendMessageMessage.`writeMessage(OutputStream out)` Write out the full message to the stream, including the 4 byte size and 1 byte type header.
    `void` | MessageStatusMessage.`writeMessage(OutputStream out)` Override to reduce mem churn
    `void` | I2CPMessage.`writeMessage(OutputStream out)` Write the current message to the output stream as a full message following the specification from the I2CP definition.
    `void` | ReceiveMessageBeginMessage.`writeMessage(OutputStream out)` Override to reduce mem churn
    `void` | SendMessageExpiresMessage.`writeMessage(OutputStream out)` Write out the full message to the stream, including the 4 byte size and 1 byte type header.
    `void` | I2CPMessageImpl.`writeMessage(OutputStream out)` Write out the full message to the stream, including the 4 byte size and 1 byte type header.

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

    Methods in net.i2p.internal that throw I2CPMessageException
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | PoisonI2CPMessage.`doReadMessage(InputStream in, int size)` Deprecated. don't do this
    `protected byte[]` | PoisonI2CPMessage.`doWriteMessage()` Deprecated. don't do this

  - ### Uses of I2CPMessageException in net.i2p.router.client

    Methods in net.i2p.router.client that throw I2CPMessageException
    Modifier and Type | Method and Description
    --- | ---
    `(package private) void` | QueuedClientConnectionRunner.`doSend(I2CPMessage msg)` Actually send the I2CPMessage to the client.
    `(package private) void` | ClientConnectionRunner.`doSend(I2CPMessage msg)` Actually send the I2CPMessage to the peer through the socket