| Package | Description |
|---|---|
| net.i2p.client.impl | Internal implementation of the I2P client SDK, providing the client
side of the I2CP protocol for applications communicating through I2P. |
| net.i2p.data.i2cp | The Invisible Internet Client Protocol (I2CP) allows applications simplified access to I2P network without requiring them to deal with the issues involved with the Invisible Internet Network Protocol (I2NP). |
| net.i2p.internal | Internal communication interfaces for router and client within
same JVM, using queues instead of socket-based I2CP. |
| net.i2p.router.client | Router-side implementation of the I2CP (I2P Client Protocol) interface for application integration. |
| Modifier and Type | Method and Description |
|---|---|
void | ClientWriterRunner.addMessage(I2CPMessage msg)Add this message to the writer's queue. |
void | HostReplyMessageHandler.handleMessage(I2CPMessage message,
I2PSessionImpl session)handleMessage. |
void | SessionStatusMessageHandler.handleMessage(I2CPMessage message,
I2PSessionImpl session)handleMessage. |
void | DisconnectMessageHandler.handleMessage(I2CPMessage message,
I2PSessionImpl session) |
void | RequestVariableLeaseSetMessageHandler.handleMessage(I2CPMessage message,
I2PSessionImpl session)handleMessage. |
void | BWLimitsMessageHandler.handleMessage(I2CPMessage message,
I2PSessionImpl session) |
void | DestReplyMessageHandler.handleMessage(I2CPMessage message,
I2PSessionImpl session) |
void | I2CPMessageHandler.handleMessage(I2CPMessage message,
I2PSessionImpl session)Handle an I2CP message. |
void | RequestLeaseSetMessageHandler.handleMessage(I2CPMessage message,
I2PSessionImpl session)handleMessage. |
void | SetDateMessageHandler.handleMessage(I2CPMessage message,
I2PSessionImpl session)handleMessage. |
void | MessageStatusMessageHandler.handleMessage(I2CPMessage message,
I2PSessionImpl session)handleMessage. |
void | MessagePayloadMessageHandler.handleMessage(I2CPMessage message,
I2PSessionImpl session)handleMessage. |
void | I2PSessionImpl.messageReceived(I2CPMessageReader reader,
I2CPMessage message)The I2CPMessageEventListener callback. |
(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. |
(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 |
| Modifier and Type | Class and Description |
|---|---|
class | BandwidthLimitsMessageTell the other side the limits |
class | BlindingInfoMessageAdvise the router that the endpoint is blinded. |
class | CreateLeaseSet2MessageLike CreateLeaseSetMessage, but supports both old and new
LeaseSet types, including LS2, Meta, and Encrypted. |
class | CreateLeaseSetMessageDefines the message a client sends to a router when authorizing
the LeaseSet |
class | CreateSessionMessageDefines the message a client sends to a router when establishing a new
session. |
class | DestLookupMessageRequest the router look up the dest for a hash |
class | DestReplyMessageResponse to DestLookupMessage. |
class | DestroySessionMessageDefines the message a client sends to a router when destroying
existing session. |
class | DisconnectMessageDefines the message a client sends to a router when destroying
existing session. |
class | GetBandwidthLimitsMessageRequest the router tells us the current bw limits |
class | GetDateMessageRequest the other side to send us what they think the current time is. |
class | HostLookupMessageRequest the router look up the dest for a hash
or a host. |
class | HostReplyMessageResponse to HostLookupMessage. |
class | I2CPMessageImplDefines the base message implementation. |
class | MessagePayloadMessageDefines the payload message a router sends to the client |
class | MessageStatusMessageDefines the message a router sends to a client about a single message. |
class | ReceiveMessageBeginMessageDefines the message a client sends to a router when asking the
router to start sending a message to it. |
class | ReceiveMessageEndMessageDefines the message a client sends to a router when asking the
router to start sending a message to it. |
class | ReconfigureSessionMessageMessage to reconfigure an I2CP session. |
class | ReportAbuseMessageDefines the message a client sends to a router when asking the
router what its address visibility is |
class | RequestLeaseSetMessageDefines the message a router sends to a client to request that
a leaseset be created and signed. |
class | RequestVariableLeaseSetMessageDefines the message a router sends to a client to request that
a leaseset be created and signed. |
class | SendMessageExpiresMessageSame as SendMessageMessage, but with an expiration to be passed to the router
As of 0.8.4, retrofitted to use DateAndFlags. |
class | SendMessageMessageDefines the message a client sends to a router to ask it to deliver
a new message |
class | SessionStatusMessageDefines the message a router sends to a client indicating the
status of the session. |
class | SetDateMessageTell the other side what time it is. |
| Modifier and Type | Method and Description |
|---|---|
static I2CPMessage | I2CPMessageHandler.readMessage(InputStream in)Read an I2CPMessage from the stream and return the fully populated object. |
| Modifier and Type | Method and Description |
|---|---|
void | I2CPMessageReader.I2CPMessageEventListener.messageReceived(I2CPMessageReader reader,
I2CPMessage message)Notify the listener that a message has been received from the given
reader |
| Modifier and Type | Class and Description |
|---|---|
class | PoisonI2CPMessageFor marking end-of-queues in a standard manner. |
| Modifier and Type | Method and Description |
|---|---|
abstract I2CPMessage | I2CPMessageQueue.poll()Receive a message, nonblocking. |
abstract I2CPMessage | I2CPMessageQueue.take()Receive a message, blocking until one is available. |
| Modifier and Type | Method and Description |
|---|---|
abstract 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. |
| Modifier and Type | Method and Description |
|---|---|
I2CPMessage | I2CPMessageQueueImpl.poll()Receive a message, non-blocking |
I2CPMessage | I2CPMessageQueueImpl.take()Receive a message, blocking until one is available |
| Modifier and Type | Method and Description |
|---|---|
void | 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 handler |
boolean | I2CPMessageQueueImpl.offer(I2CPMessage msg)Send a message, nonblocking |
boolean | 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. |
| Constructor and Description |
|---|
I2CPMessageQueueImpl(BlockingQueue<I2CPMessage> in,
BlockingQueue<I2CPMessage> out) |
I2CPMessageQueueImpl(BlockingQueue<I2CPMessage> in,
BlockingQueue<I2CPMessage> out) |