public class DataMessage extends FastI2NPMessageImpl
I2NPMessageImpl.Builder| Modifier and Type | Field and Description |
|---|---|
static int | MESSAGE_TYPEThe message type identifier. |
_checksum, _hasChecksum_context, _expiration, _log, CHECKSUM_LENGTH, DEFAULT_EXPIRATION_MS, HEADER_LENGTHMAX_ID_VALUE, MAX_SIZE| Constructor and Description |
|---|
DataMessage(I2PAppContext context)Create a new DataMessage. |
| Modifier and Type | Method and Description |
|---|---|
protected int | calculateWrittenLength()calculate the message body's length (not including the header and footer |
boolean | equals(Object object) |
byte[] | getData() |
int | getSize() |
int | getType()Return the unique identifier for this type of I2NP message, as defined in
the I2NP spec |
int | hashCode() |
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 | setData(byte[] data)Set the data payload. |
String | toString() |
protected int | writeMessageBody(byte[] out,
int curIndex)write the message body to the output array, starting at the given index |
readBytes, toByteArray, toByteArrayWithSavedChecksumcreateMessage, fromRawByteArray, fromRawByteArrayNTCP2, getMessageExpiration, getMessageSize, getRawMessageSize, getUniqueId, getUniqueId, readBytes, readMessage, setMessageExpiration, setUniqueId, toByteArray, toByteArray, toRawByteArray, toRawByteArrayNTCP2public static final int MESSAGE_TYPE
public DataMessage(I2PAppContext context)
context - the router contextprotected int calculateWrittenLength()
calculateWrittenLength in class I2NPMessageImplpublic byte[] getData()
public int getSize()
public int getType()
I2NPMessagepublic void readMessage(byte[] data,
int offset,
int dataSize,
int type)
throws I2NPMessageExceptionI2NPMessagedata - 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.public void setData(byte[] data)
data - the dataIllegalStateException - if data previously set, to protect saved checksumprotected int writeMessageBody(byte[] out,
int curIndex)writeMessageBody in class I2NPMessageImpl