## Uses of Class
net.i2p.data.i2np.I2NPMessageException

Packages that use I2NPMessageException
net.i2p.data.i2np
net.i2p.router

Uses of I2NPMessageException in net.i2p.data.i2np

Methods in net.i2p.data.i2np that throw I2NPMessageException
`static I2NPMessage` `I2NPMessageImpl.createMessage(I2PAppContext context, int type)` Yes, this is fairly ugly, but its the only place it ever happens.
`static I2NPMessage` `I2NPMessageImpl.fromRawByteArray(I2PAppContext ctx, byte[] buffer, int offset, int len)`
`static I2NPMessage` `I2NPMessageImpl.fromRawByteArray(I2PAppContext ctx, byte[] buffer, int offset, int len, I2NPMessageHandler handler)`
`int` `I2NPMessageImpl.readBytes(byte[] data, int type, int offset)`
`int` `I2NPMessage.readBytes(byte[] data, int type, int offset)`
`int` `I2NPMessageImpl.readBytes(java.io.InputStream in, int type, byte[] buffer)`
`int` `I2NPMessage.readBytes(java.io.InputStream in, int type, byte[] buffer)` Read the body into the data structures, after the initial type byte, using the current class's format as defined by the I2NP specification
`I2NPMessage` `I2NPMessageHandler.readMessage(byte[] data)` Read an I2NPMessage from the stream and return the fully populated object.
`int` `I2NPMessageHandler.readMessage(byte[] data, int offset)`
`void` `TunnelGatewayMessage.readMessage(byte[] data, int offset, int dataSize, int type)`
`void` `TunnelDataMessage.readMessage(byte[] data, int offset, int dataSize, int type)`
`void` `TunnelCreateStatusMessage.readMessage(byte[] data, int offset, int dataSize, int type)`
`void` `TunnelCreateMessage.readMessage(byte[] data, int offset, int dataSize, int type)`
`void` `TunnelBuildReplyMessage.readMessage(byte[] data, int offset, int dataSize, int type)`
`void` `TunnelBuildMessage.readMessage(byte[] data, int offset, int dataSize, int type)`
`void` `I2NPMessage.readMessage(byte[] data, int offset, int dataSize, int type)` Read the body into the data structures, after the initial type byte and the uniqueId / expiration, using the current class's format as defined by the I2NP specification
`void` `GarlicMessage.readMessage(byte[] data, int offset, int dataSize, int type)`
`void` `DeliveryStatusMessage.readMessage(byte[] data, int offset, int dataSize, int type)`
`void` `DateMessage.readMessage(byte[] data, int offset, int dataSize, int type)`
`void` `DatabaseStoreMessage.readMessage(byte[] data, int offset, int dataSize, int type)`
`void` `DatabaseSearchReplyMessage.readMessage(byte[] data, int offset, int dataSize, int type)`
`void` `DatabaseLookupMessage.readMessage(byte[] data, int offset, int dataSize, int type)`
`void` `DataMessage.readMessage(byte[] data, int offset, int dataSize, int type)`
`void` `TunnelGatewayMessage.readMessage(byte[] data, int offset, int dataSize, int type, I2NPMessageHandler handler)`
`void` `I2NPMessageImpl.readMessage(byte[] data, int offset, int dataSize, int type, I2NPMessageHandler handler)`
`void` `I2NPMessage.readMessage(byte[] data, int offset, int dataSize, int type, I2NPMessageHandler handler)`
`I2NPMessage` `I2NPMessageHandler.readMessage(java.io.InputStream in)` Read an I2NPMessage from the stream and return the fully populated object.
`protected int` `TunnelGatewayMessage.writeMessageBody(byte[] out, int curIndex)` write the message body to the output array, starting at the given index
`protected int` `TunnelDataMessage.writeMessageBody(byte[] out, int curIndex)` write the message body to the output array, starting at the given index
`protected int` `TunnelCreateStatusMessage.writeMessageBody(byte[] out, int curIndex)` write the message body to the output array, starting at the given index
`protected int` `TunnelCreateMessage.writeMessageBody(byte[] data, int offset)` write the message body to the output array, starting at the given index
`protected int` `TunnelBuildReplyMessage.writeMessageBody(byte[] out, int curIndex)`
`protected int` `TunnelBuildMessage.writeMessageBody(byte[] out, int curIndex)`
`protected abstract int` `I2NPMessageImpl.writeMessageBody(byte[] out, int curIndex)` write the message body to the output array, starting at the given index.
`protected int` `GarlicMessage.writeMessageBody(byte[] out, int curIndex)` write the message body to the output array, starting at the given index
`protected int` `DeliveryStatusMessage.writeMessageBody(byte[] out, int curIndex)` write the message body to the output array, starting at the given index
`protected int` `DateMessage.writeMessageBody(byte[] out, int curIndex)` write the message body to the output array, starting at the given index
`protected int` `DatabaseStoreMessage.writeMessageBody(byte[] out, int curIndex)` write the message body to the output array, starting at the given index
`protected int` `DatabaseSearchReplyMessage.writeMessageBody(byte[] out, int curIndex)` write the message body to the output array, starting at the given index
`protected int` `DatabaseLookupMessage.writeMessageBody(byte[] out, int curIndex)`

Uses of I2NPMessageException in net.i2p.router

Methods in net.i2p.router that throw I2NPMessageException
`void` `SSUDemo.FooMessage.readMessage(byte[] data, int offset, int dataSize, int type)`
`protected int` `SSUDemo.FooMessage.writeMessageBody(byte[] out, int curIndex)`