public class UnknownI2NPMessage extends FastI2NPMessageImpl
I2NPMessageImpl.Builder
_checksum, _hasChecksum
_context, _expiration, _log, CHECKSUM_LENGTH, DEFAULT_EXPIRATION_MS, HEADER_LENGTH
MAX_ID_VALUE, MAX_SIZE
Constructor and Description |
---|
UnknownI2NPMessage(I2PAppContext context,
int type) |
Modifier and Type | Method and Description |
---|---|
protected int |
calculateWrittenLength()
calculate the message body's length (not including the header and footer
|
I2NPMessage |
convert()
Attempt to convert this message to a known message class.
|
boolean |
equals(Object object) |
int |
getType()
Note that this returns the "true" type, so that
the IBGW can correctly make drop decisions.
|
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
|
String |
toString() |
protected int |
writeMessageBody(byte[] out,
int curIndex)
write the message body to the output array, starting at the given index
|
readBytes, toByteArray, toByteArrayWithSavedChecksum
createMessage, fromRawByteArray, fromRawByteArrayNTCP2, getMessageExpiration, getMessageSize, getRawMessageSize, getUniqueId, readBytes, readBytes, readMessage, registerBuilder, setMessageExpiration, setUniqueId, toByteArray, toByteArray, toRawByteArray, toRawByteArrayNTCP2, writeBytes
public UnknownI2NPMessage(I2PAppContext context, int type)
type
- 0-255public void readMessage(byte[] data, int offset, int dataSize, int type) throws I2NPMessageException
I2NPMessage
data
- data to read fromoffset
- where to start in the data arraydataSize
- how long into the data to readtype
- I2NP message typeIllegalStateException
- if data previously set, to protect saved checksumI2NPMessageException
- if the stream doesn't contain a valid message
that this class can read.protected int calculateWrittenLength()
calculateWrittenLength
in class I2NPMessageImpl
protected int writeMessageBody(byte[] out, int curIndex)
writeMessageBody
in class I2NPMessageImpl
public int getType()
public I2NPMessage convert() throws I2NPMessageException
I2NPMessageException
- if the conversion fails