Package | Description |
---|---|
net.i2p.data.i2np |
This package defines the low-level messages sent between routers,
called the Invisible Internet Network Protocol (I2NP).
|
Modifier and Type | Method and Description |
---|---|
I2NPMessage |
UnknownI2NPMessage.convert()
Attempt to convert this message to a known message class.
|
static I2NPMessage |
I2NPMessageImpl.createMessage(I2PAppContext context,
int type)
Yes, this is fairly ugly, but its the only place it ever happens.
|
static I2NPMessage |
I2NPMessageImpl.fromRawByteArray(I2PAppContext ctx,
byte[] buffer,
int offset,
int len,
I2NPMessageHandler handler)
Read the message with a short 5-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 |
FastI2NPMessageImpl.readBytes(byte[] data,
int type,
int offset,
int maxLen)
Ignore, but save, the checksum, to be used later if necessary.
|
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 |
I2NPMessage.readBytes(InputStream in,
int type,
byte[] buffer)
Deprecated.
unused
|
int |
FastI2NPMessageImpl.readBytes(InputStream in,
int type,
byte[] buffer)
Deprecated.
unused
|
int |
I2NPMessageImpl.readBytes(InputStream in,
int type,
byte[] buffer)
Deprecated.
unused
|
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()
|
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 |
DeliveryStatusMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type) |
void |
DatabaseStoreMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type) |
void |
TunnelDataMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type) |
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
|
void |
DatabaseSearchReplyMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type) |
void |
DatabaseLookupMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type) |
void |
VariableTunnelBuildReplyMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type) |
void |
GarlicMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type) |
void |
TunnelBuildMessageBase.readMessage(byte[] data,
int offset,
int dataSize,
int type) |
void |
VariableTunnelBuildMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type) |
void |
TunnelGatewayMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type) |
void |
DataMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type) |
void |
UnknownI2NPMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type) |
void |
I2NPMessage.readMessage(byte[] data,
int offset,
int dataSize,
int type,
I2NPMessageHandler handler) |
void |
I2NPMessageImpl.readMessage(byte[] data,
int offset,
int dataSize,
int type,
I2NPMessageHandler handler) |
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.
|
I2NPMessage |
I2NPMessageHandler.readMessage(InputStream in)
Deprecated.
use the byte array method to avoid an extra copy if you have it
|
protected int |
DeliveryStatusMessage.writeMessageBody(byte[] out,
int curIndex)
write the message body to the output array, starting at the given index
|
protected int |
DatabaseStoreMessage.writeMessageBody(byte[] out,
int curIndex)
write the message body to the output array, starting at the given index
|
protected int |
TunnelDataMessage.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 |
DatabaseLookupMessage.writeMessageBody(byte[] out,
int curIndex) |
protected int |
VariableTunnelBuildReplyMessage.writeMessageBody(byte[] out,
int curIndex) |
protected abstract int |
I2NPMessageImpl.writeMessageBody(byte[] out,
int curIndex)
write the message body to the output array, starting at the given index.
|
protected int |
GarlicMessage.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) |
protected int |
VariableTunnelBuildMessage.writeMessageBody(byte[] out,
int curIndex) |
protected int |
TunnelGatewayMessage.writeMessageBody(byte[] out,
int curIndex)
write the message body to the output array, starting at the given index
|