Uses of Interface
net.i2p.data.i2cp.I2CPMessage
Package
Description
Implements the base I2P SDK for developing applications that communicate
through I2P.
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).
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.
Implements the router side of the I2CP interface,
which is the API for applications to send and receive data through the router.
-
Uses of I2CPMessage in net.i2p.client.impl
Modifier and TypeMethodDescriptionvoid
ClientWriterRunner.addMessage
(I2CPMessage msg) Add this message to the writer's queue.void
BWLimitsMessageHandler.handleMessage
(I2CPMessage message, I2PSessionImpl session) void
DestReplyMessageHandler.handleMessage
(I2CPMessage message, I2PSessionImpl session) void
DisconnectMessageHandler.handleMessage
(I2CPMessage message, I2PSessionImpl session) void
HostReplyMessageHandler.handleMessage
(I2CPMessage message, I2PSessionImpl session) void
I2CPMessageHandler.handleMessage
(I2CPMessage message, I2PSessionImpl session) void
MessagePayloadMessageHandler.handleMessage
(I2CPMessage message, I2PSessionImpl session) void
MessageStatusMessageHandler.handleMessage
(I2CPMessage message, I2PSessionImpl session) void
RequestLeaseSetMessageHandler.handleMessage
(I2CPMessage message, I2PSessionImpl session) void
RequestVariableLeaseSetMessageHandler.handleMessage
(I2CPMessage message, I2PSessionImpl session) void
SessionStatusMessageHandler.handleMessage
(I2CPMessage message, I2PSessionImpl session) void
SetDateMessageHandler.handleMessage
(I2CPMessage message, I2PSessionImpl session) void
I2PSessionImpl.messageReceived
(I2CPMessageReader reader, I2CPMessage message) The I2CPMessageEventListener callback.(package private) void
I2PSessionImpl.sendMessage
(I2CPMessage message) Deliver an I2CP message to the router As of 0.9.3, may block for several seconds if the write queue to the router is full(package private) void
SubSession.sendMessage
(I2CPMessage message) Deliver an I2CP message to the router May block for several seconds if the write queue to the router is full(package private) void
I2PSessionImpl.sendMessage_unchecked
(I2CPMessage message) Deliver an I2CP message to the router.(package private) void
SubSession.sendMessage_unchecked
(I2CPMessage message) Deliver an I2CP message to the router. -
Uses of I2CPMessage in net.i2p.data.i2cp
Modifier and TypeClassDescriptionclass
Tell the other side the limitsclass
Advise the router that the endpoint is blinded.class
Like CreateLeaseSetMessage, but supports both old and new LeaseSet types, including LS2, Meta, and Encrypted.class
Defines the message a client sends to a router when authorizing the LeaseSetclass
Defines the message a client sends to a router when establishing a new session.class
Request the router look up the dest for a hashclass
Response to DestLookupMessage.class
Defines the message a client sends to a router when destroying existing session.class
Defines the message a client sends to a router when destroying existing session.class
Request the router tells us the current bw limitsclass
Request the other side to send us what they think the current time is.class
Request the router look up the dest for a hash or a host.class
Response to HostLookupMessage.class
Defines the base message implementation.class
Defines the payload message a router sends to the clientclass
Defines the message a router sends to a client about a single message.class
Defines the message a client sends to a router when asking the router to start sending a message to it.class
Defines the message a client sends to a router when asking the router to start sending a message to it.class
Defines the message a client sends to a router when updating the config on an existing session.class
Defines the message a client sends to a router when asking the router what its address visibility isclass
Defines the message a router sends to a client to request that a leaseset be created and signed.class
Defines the message a router sends to a client to request that a leaseset be created and signed.class
Same as SendMessageMessage, but with an expiration to be passed to the router As of 0.8.4, retrofitted to use DateAndFlags.class
Defines the message a client sends to a router to ask it to deliver a new messageclass
Defines the message a router sends to a client indicating the status of the session.class
Tell the other side what time it is.Modifier and TypeMethodDescriptionstatic I2CPMessage
I2CPMessageHandler.readMessage
(InputStream in) Read an I2CPMessage from the stream and return the fully populated object.Modifier and TypeMethodDescriptionvoid
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.internal
Modifier and TypeClassDescriptionclass
For marking end-of-queues in a standard manner.Modifier and TypeMethodDescriptionabstract I2CPMessage
I2CPMessageQueue.poll()
Receive a message, nonblocking.abstract I2CPMessage
I2CPMessageQueue.take()
Receive a message, blocking until one is available.Modifier and TypeMethodDescriptionabstract boolean
I2CPMessageQueue.offer
(I2CPMessage msg) Send a message, nonblocking.abstract boolean
I2CPMessageQueue.offer
(I2CPMessage msg, long timeout) Send a message, blocking.abstract void
I2CPMessageQueue.put
(I2CPMessage msg) Send a message, blocking until space is available. -
Uses of I2CPMessage in net.i2p.router.client
Modifier and TypeMethodDescriptionI2CPMessageQueueImpl.poll()
Receive a message, nonblockingI2CPMessageQueueImpl.take()
Receive a message, blocking until one is availableModifier and TypeMethodDescriptionvoid
ClientWriterRunner.addMessage
(I2CPMessage msg) Add this message to the writer's queue Nonblocking, throws exception if queue is full(package private) void
ClientConnectionRunner.doSend
(I2CPMessage msg) Actually send the I2CPMessage to the peer through the socket(package private) void
QueuedClientConnectionRunner.doSend
(I2CPMessage msg) Actually send the I2CPMessage to the client.void
ClientMessageEventListener.messageReceived
(I2CPMessageReader reader, I2CPMessage message) Handle an incoming message and dispatch it to the appropriate handlerboolean
I2CPMessageQueueImpl.offer
(I2CPMessage msg) Send a message, nonblockingboolean
I2CPMessageQueueImpl.offer
(I2CPMessage msg, long timeout) Send a message, blocking.void
I2CPMessageQueueImpl.put
(I2CPMessage msg) Send a message, blocking until space is available(package private) void
ClientConnectionRunner.writeMessage
(I2CPMessage msg) Not thread-safe.(package private) void
QueuedClientConnectionRunner.writeMessage
(I2CPMessage msg) In super(), doSend queues it to the writer thread and the writer thread calls writeMessage() to write to the output stream.ModifierConstructorDescription