public interface I2NPMessage| Modifier and Type | Field and Description |
|---|---|
static long | MAX_ID_VALUE4 bytes unsigned |
static int | MAX_SIZENominal limit, actual max is much less. |
| Modifier and Type | Method and Description |
|---|---|
long | getMessageExpiration()Date after which the message should be dropped (and the associated uniqueId forgotten) |
int | getMessageSize()How large the message is, including any checksums, i.e. |
int | getRawMessageSize()How large the raw message is with the short 5 byte header |
int | getType()Return the unique identifier for this type of I2NP message, as defined in
the I2NP spec |
long | getUniqueId()getUniqueId(). |
long | getUniqueId(long msgIDBloomXor)Replay resistant message ID
optionally, the caller may pass a msgIDBloomXor value, and the
return value will be Xor'ed with that value. |
int | 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 | 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 |
void | 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 | readMessage(byte[] data,
int offset,
int dataSize,
int type,
I2NPMessageHandler handler)readMessage. |
void | setMessageExpiration(long exp)exp). |
void | setUniqueId(long id)id). |
byte[] | toByteArray() |
int | toByteArray(byte[] buffer)Write the message to the buffer, returning the new offset (NOT the length). |
int | toByteArray(byte[] buffer,
int off)Write the message to the buffer, returning the new offset (NOT the length). |
int | toRawByteArray(byte[] buffer)Write the message to the buffer, returning the new offset (NOT the length). |
int | toRawByteArrayNTCP2(byte[] buffer,
int off)Write the message to the buffer, returning the new offset (NOT the length). |
static final long MAX_ID_VALUE
static final int MAX_SIZE
long getMessageExpiration()
int getMessageSize()
int getRawMessageSize()
int getType()
long getUniqueId()
long getUniqueId(long msgIDBloomXor)
int readBytes(byte[] data,
int type,
int offset)
throws I2NPMessageExceptiondata - the datatype - I2NP message type. If less than zero, read the type from dataoffset - where to start
starting at type if type is < 0 (16 byte header)
starting at ID if type is >= 0 (15 byte header)I2NPMessageException - if there is no valid messageint readBytes(byte[] data,
int type,
int offset,
int maxLen)
throws I2NPMessageExceptiondata - the data, may or may not include the typetype - I2NP message type. If less than zero, read the type from dataoffset - where to start
starting at type if type is < 0 (16 byte header)
starting at ID if type is >= 0 (15 byte header)maxLen - read no more than this many bytes from data starting at offset, even if it is longer
This includes the type byte only if type < 0I2NPMessageException - if there is no valid messagevoid readMessage(byte[] data,
int offset,
int dataSize,
int type)
throws I2NPMessageExceptiondata - data to read fromoffset - where to start in the data arraydataSize - how long into the data to readtype - I2NP message typeI2NPMessageException - if the stream doesn't contain a valid message
that this class can read.void readMessage(byte[] data,
int offset,
int dataSize,
int type,
I2NPMessageHandler handler)
throws I2NPMessageExceptionI2NPMessageExceptionvoid setMessageExpiration(long exp)
void setUniqueId(long id)
byte[] toByteArray()
int toByteArray(byte[] buffer)
int toByteArray(byte[] buffer,
int off)off - the offset to start writing atint toRawByteArray(byte[] buffer)
int toRawByteArrayNTCP2(byte[] buffer,
int off)off - the offset to start writing at