## Package net.i2p.data.i2cp

Interface Summary
I2CPMessage: Defines the base functionality of API messages
I2CPMessageReader.I2CPMessageEventListener: Defines the different events the reader produces while reading the stream

Class Summary
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
CreateSessionMessage: Defines the message a client sends to a router when establishing a new session.
DestroySessionMessage: Defines the message a client sends to a router when destroying existing session.
DisconnectMessage: Defines the message a client sends to a router when destroying existing session.
GetDateMessage: Request the other side to send us what they think the current time is
I2CPMessageHandler: Handle messages from the server for the client
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.
MessageId: Defines the message ID of a message delivered between a router and a client in a particular session.
MessagePayloadMessage: Defines the message a client sends to a router to ask it to deliver a new message
MessageStatusMessage: Defines the message a client sends to a router when destroying existing session.
ReceiveMessageBeginMessage: Defines the message a client sends to a router when asking the router to start sending a message to it.
ReceiveMessageEndMessage: Defines the message a client sends to a router when asking the router to start sending a message to it.
ReportAbuseMessage: Defines the message a client sends to a router when asking the router what its address visibility is
RequestLeaseSetMessage: Defines the message a client sends to a router when destroying existing 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.
SessionStatusMessage: Defines the message a client sends to a router when destroying existing session.
SetDateMessage: Tell the other side what time it is

Exception Summary
I2CPMessageException: Represent an error serializing or deserializing an APIMessage