Serializable
, DataStructure
, I2NPMessage
public class TunnelGatewayMessage extends FastI2NPMessageImpl
I2NPMessageImpl.Builder
Modifier and Type | Field | Description |
---|---|---|
static int |
MESSAGE_TYPE |
_checksum, _hasChecksum
MAX_ID_VALUE, MAX_SIZE
_context, _expiration, _log, _uniqueId, CHECKSUM_LENGTH, DEFAULT_EXPIRATION_MS, HEADER_LENGTH
Constructor | Description |
---|---|
TunnelGatewayMessage(I2PAppContext context) |
Modifier and Type | Method | Description |
---|---|---|
protected int |
calculateWrittenLength() |
calculate the message body's length (not including the header and footer
|
boolean |
equals(Object object) |
|
I2NPMessage |
getMessage() |
Warning, at the IBGW, where the message was read in,
this will be an UnknownI2NPMessage.
|
TunnelId |
getTunnelId() |
|
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 |
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.
|
void |
setMessage(I2NPMessage msg) |
|
void |
setTunnelId(TunnelId id) |
|
String |
toString() |
|
protected int |
writeMessageBody(byte[] out,
int curIndex) |
write the message body to the output array, starting at the given index
|
calculateHash, fromBase64, fromByteArray, toBase64
calculateHash, fromBase64, fromByteArray, read, toBase64
readBytes, readBytes, readBytes, toByteArray, toByteArrayWithSavedChecksum, writeBytes
createMessage, fromRawByteArray, fromRawByteArrayNTCP2, getMessageExpiration, getMessageSize, getRawMessageSize, getUniqueId, readBytes, registerBuilder, setMessageExpiration, setUniqueId, toByteArray, toRawByteArray
public static final int MESSAGE_TYPE
public TunnelGatewayMessage(I2PAppContext context)
public TunnelId getTunnelId()
public void setTunnelId(TunnelId id)
IllegalStateException
- if id previously set, to protect saved checksumpublic I2NPMessage getMessage()
public void setMessage(I2NPMessage msg)
IllegalStateException
- if msg previously set, to protect saved checksumprotected int calculateWrittenLength()
I2NPMessageImpl
calculateWrittenLength
in class I2NPMessageImpl
protected int writeMessageBody(byte[] out, int curIndex) throws I2NPMessageException
writeMessageBody
in class I2NPMessageImpl
I2NPMessageException
public 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.public void readMessage(byte[] data, int offset, int dataSize, int type, I2NPMessageHandler handler) throws I2NPMessageException
readMessage
in interface I2NPMessage
readMessage
in class I2NPMessageImpl
handler
- unused, may be nullI2NPMessageException
public int getType()
I2NPMessage