public class TunnelDataMessage extends FastI2NPMessageImpl
I2NPMessageImpl.Builder
Modifier and Type | Field and Description |
---|---|
static int |
DATA_SIZE |
static int |
MESSAGE_TYPE |
_checksum, _hasChecksum
_context, _expiration, _log, _uniqueId, CHECKSUM_LENGTH, DEFAULT_EXPIRATION_MS, HEADER_LENGTH
MAX_ID_VALUE, MAX_SIZE
Constructor and Description |
---|
TunnelDataMessage(I2PAppContext context) |
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() |
long |
getTunnelId() |
TunnelId |
getTunnelIdObj() |
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
|
void |
setData(byte[] data) |
void |
setTunnelId(long id)
(correctly) Invalidates stored checksum
|
void |
setTunnelId(TunnelId id)
(correctly) Invalidates stored checksum
|
byte[] |
toByteArray() |
String |
toString() |
protected int |
writeMessageBody(byte[] out,
int curIndex)
write the message body to the output array, starting at the given index
|
readBytes, readBytes, readBytes, toByteArray, toByteArrayWithSavedChecksum, writeBytes
createMessage, fromRawByteArray, getMessageExpiration, getMessageSize, getRawMessageSize, getUniqueId, readBytes, readMessage, registerBuilder, setMessageExpiration, setUniqueId, toRawByteArray
calculateHash, fromBase64, fromByteArray, read, toBase64
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
calculateHash, fromBase64, fromByteArray, toBase64
public static final int MESSAGE_TYPE
public static final int DATA_SIZE
public TunnelDataMessage(I2PAppContext context)
public long getTunnelId()
public void setTunnelId(long id)
public TunnelId getTunnelIdObj()
public void setTunnelId(TunnelId id)
public byte[] getData()
public void setData(byte[] data)
IllegalStateException
- if data previously set, to protect saved checksumpublic 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 typeI2NPMessageException
- 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) throws I2NPMessageException
writeMessageBody
in class I2NPMessageImpl
I2NPMessageException
public int getType()
I2NPMessage
public byte[] toByteArray()
toByteArray
in interface DataStructure
toByteArray
in class I2NPMessageImpl