## Uses of Interface
net.i2p.data.i2cp.I2CPMessage

Packages that use I2CPMessage
net.i2p.client: Implements the base I2P SDK for developing applications that communicate through I2P.
net.i2p.data.i2cp
net.i2p.router.client

Uses of I2CPMessage in net.i2p.client

Methods in net.i2p.client with parameters of type I2CPMessage
`void` `SetDateMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session)`
`void` `SessionStatusMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session)`
`void` `RequestLeaseSetMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session)`
`void` `MessageStatusMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session)`
`void` `MessagePayloadMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session)`
`void` `I2CPMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session)`
`void` `DisconnectMessageHandler.handleMessage(I2CPMessage message, I2PSessionImpl session)`
`void` `I2PSessionImpl.messageReceived(I2CPMessageReader reader, I2CPMessage message)` Recieve notification of some I2CP message and handle it if possible
`(package private) void` `I2PSessionImpl.sendMessage(I2CPMessage message)` Deliver an I2CP message to the router

Uses of I2CPMessage in net.i2p.data.i2cp

Classes in net.i2p.data.i2cp that implement I2CPMessage
`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` `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` `GetDateMessage` Request the other side to send us what they think the current time is
`class` `I2CPMessageImpl` Defines the base message implementation.
`class` `MessagePayloadMessage` Defines the message a client sends to a router to ask it to deliver a new message
`class` `MessageStatusMessage` Defines the message a client sends to a router when destroying existing session.
`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` `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 client sends to a router when destroying existing session.
`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 client sends to a router when destroying existing session.
`class` `SetDateMessage` Tell the other side what time it is

Methods in net.i2p.data.i2cp that return I2CPMessage
`static I2CPMessage` `I2CPMessageHandler.readMessage(java.io.InputStream in)` Read an I2CPMessage from the stream and return the fully populated object.

Methods in net.i2p.data.i2cp with parameters of type I2CPMessage
`void` `I2CPMessageReader.I2CPMessageEventListener.messageReceived(I2CPMessageReader reader, I2CPMessage message)` Notify the listener that a message has been received from the given reader

Uses of I2CPMessage in net.i2p.router.client

Methods in net.i2p.router.client with parameters of type I2CPMessage
`void` `ClientWriterRunner.addMessage(I2CPMessage msg)` Add this message to the writer's queue
`(package private) void` `ClientConnectionRunner.doSend(I2CPMessage msg)` Actually send the I2CPMessage to the peer through the socket
`void` `ClientMessageEventListener.messageReceived(I2CPMessageReader reader, I2CPMessage message)` Handle an incoming message and dispatch it to the appropriate handler
`(package private) void` `ClientConnectionRunner.writeMessage(I2CPMessage msg)`