public class TunnelGatewayMessage extends FastI2NPMessageImpl
I2NPMessageImpl.Builder
Modifier and Type | Field and Description |
---|---|
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 |
---|
TunnelGatewayMessage(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) |
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
|
readBytes, readBytes, readBytes, toByteArray, toByteArrayWithSavedChecksum, writeBytes
createMessage, fromRawByteArray, getMessageExpiration, getMessageSize, getRawMessageSize, getUniqueId, readBytes, registerBuilder, setMessageExpiration, setUniqueId, toByteArray, 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 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