| Package | Description |
|---|---|
| net.i2p.data.i2np | This package defines the low-level messages sent between routers,
called Invisible Internet Network Protocol (I2NP). |
| net.i2p.router.transport.ntcp | The NTCP (New TCP) transport for I2P, allowing I2P messages to be passed
over TCP connections. |
| net.i2p.router.transport.udp | The UDP transport (also known as 'SSU' or Secure Semi-reliable UDP transport)
for I2P, allowing I2P messages to be passed over UDP connections. |
| Modifier and Type | Method and Description |
|---|---|
I2NPMessage | UnknownI2NPMessage.convert()Attempt to convert this message to a known message class. |
static I2NPMessage | I2NPMessageImpl.fromRawByteArray(I2PAppContext ctx,
byte[] buffer,
int offset,
int len,
I2NPMessageHandler handler)Read the message with a short 5-byte header. |
static I2NPMessage | I2NPMessageImpl.fromRawByteArrayNTCP2(I2PAppContext ctx,
byte[] buffer,
int offset,
int len,
I2NPMessageHandler handler)Read the message with a short 9-byte header. |
int | I2NPMessage.readBytes(byte[] data,
int type,
int offset)Read the body into the data structures, after the initial type byte, using
the current class's format as defined by the I2NP specification |
int | I2NPMessageImpl.readBytes(byte[] data,
int type,
int offset)Read the header, then read the rest into buffer, then call
readMessage in the implemented message type |
int | I2NPMessage.readBytes(byte[] data,
int type,
int offset,
int maxLen)Read the body into the data structures, after the initial type byte, using
the current class's format as defined by the I2NP specification |
int | I2NPMessageImpl.readBytes(byte[] data,
int type,
int offset,
int maxLen)Set a limit on the max to read from the data buffer, so that
we can use a large buffer but prevent the reader from reading off the end. |
int | FastI2NPMessageImpl.readBytes(byte[] data,
int type,
int offset,
int maxLen)Ignore, but save, the checksum, to be used later if necessary. |
I2NPMessage | I2NPMessageHandler.readMessage(byte[] data)Read an I2NPMessage from the byte array and return the fully populated object. |
int | I2NPMessageHandler.readMessage(byte[] data,
int offset)Result is retreived with lastRead()
4 * @param data the data
4 * @param offset the offset
4 * @return the result
4 * @throws net.i2p.data.i2np.I2NPMessageException on error |
int | I2NPMessageHandler.readMessage(byte[] data,
int offset,
int maxLen)Set a limit on the max to read from the data buffer, so that
we can use a large buffer but prevent the reader from reading off the end. |
void | DatabaseLookupMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type)readMessage. |
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
Implementations must not read more than dataSize,
or throw I2NPMessageException or IndexOutOfBoundsException if they do. |
void | GarlicMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type)readMessage. |
void | DatabaseSearchReplyMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type)readMessage. |
void | VariableTunnelBuildMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type)Parse record count from first byte, then delegate to parent for record data. |
void | TunnelDataMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type)Read and parse the message from raw data into fields |
void | DataMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type) |
void | DeliveryStatusMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type)readMessage. |
void | TunnelBuildMessageBase.readMessage(byte[] data,
int offset,
int dataSize,
int type)readMessage. |
void | ShortTunnelBuildReplyMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type) |
void | ShortTunnelBuildMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type)readMessage. |
void | TunnelGatewayMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type)Read and parse the message from raw data into fields. |
void | VariableTunnelBuildReplyMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type)Parse record count from first byte, then delegate to parent for record data. |
void | DatabaseStoreMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type)readMessage. |
void | UnknownI2NPMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type) |
void | OutboundTunnelBuildReplyMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type)readMessage. |
void | I2NPMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type,
I2NPMessageHandler handler)readMessage. |
void | I2NPMessageImpl.readMessage(byte[] data,
int offset,
int dataSize,
int type,
I2NPMessageHandler handler)readMessage. |
void | TunnelGatewayMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type,
I2NPMessageHandler handler)Note that for efficiency at the IBGW, this does not fully deserialize the included
I2NP Message. |
protected int | DatabaseLookupMessage.writeMessageBody(byte[] out,
int curIndex)writeMessageBody. |
protected int | GarlicMessage.writeMessageBody(byte[] out,
int curIndex)write the message body to the output array, starting at the given index |
protected abstract int | I2NPMessageImpl.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 | VariableTunnelBuildMessage.writeMessageBody(byte[] out,
int curIndex)Write record count byte followed by all encrypted build records. |
protected int | TunnelDataMessage.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 | TunnelBuildMessageBase.writeMessageBody(byte[] out,
int curIndex)writeMessageBody. |
protected int | ShortTunnelBuildReplyMessage.writeMessageBody(byte[] out,
int curIndex) |
protected int | ShortTunnelBuildMessage.writeMessageBody(byte[] out,
int curIndex)writeMessageBody. |
protected int | TunnelGatewayMessage.writeMessageBody(byte[] out,
int curIndex)write the message body to the output array, starting at the given index |
protected int | VariableTunnelBuildReplyMessage.writeMessageBody(byte[] out,
int curIndex)Write record count byte followed by all encrypted build records. |
protected int | DatabaseStoreMessage.writeMessageBody(byte[] out,
int curIndex)write the message body to the output array, starting at the given index |
protected int | OutboundTunnelBuildReplyMessage.writeMessageBody(byte[] out,
int curIndex)writeMessageBody. |
| Modifier and Type | Method and Description |
|---|---|
void | NTCP2Payload.PayloadCallback.gotI2NP(I2NPMessage msg)gotI2NP. |
static int | NTCP2Payload.processPayload(I2PAppContext ctx,
NTCP2Payload.PayloadCallback cb,
byte[] payload,
int off,
int length,
boolean isHandshake)Incoming payload. |
| Modifier and Type | Method and Description |
|---|---|
void | SSU2Payload.PayloadCallback.gotI2NP(I2NPMessage msg)Receive an I2NP message block. |
static int | SSU2Payload.processPayload(I2PAppContext ctx,
SSU2Payload.PayloadCallback cb,
byte[] payload,
int off,
int length,
boolean isHandshake,
RemoteHostId from)Incoming payload. |