public class OutboundTunnelBuildReplyMessage extends TunnelBuildReplyMessage
I2NPMessageImpl.Builder
Modifier and Type | Field and Description |
---|---|
static int |
MAX_PLAINTEXT_RECORD_SIZE |
static int |
MESSAGE_TYPE |
static int |
SHORT_RECORD_SIZE |
_records, MAX_RECORD_COUNT, RECORD_COUNT, RECORD_SIZE
_context, _expiration, _log, CHECKSUM_LENGTH, DEFAULT_EXPIRATION_MS, HEADER_LENGTH
MAX_ID_VALUE, MAX_SIZE
Constructor and Description |
---|
OutboundTunnelBuildReplyMessage(I2PAppContext context)
zero record count, will be set with readMessage()
|
OutboundTunnelBuildReplyMessage(I2PAppContext context,
int records) |
Modifier and Type | Method and Description |
---|---|
protected int |
calculateWrittenLength()
calculate the message body's length (not including the header and footer
|
byte[] |
getPlaintextRecord()
Get the data for the plaintext record.
|
int |
getPlaintextSlot()
Get the slot for the plaintext record.
|
int |
getType()
Return the unique identifier for this type of I2NP message, as defined in
the I2NP spec
|
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 |
setPlaintextRecord(int slot,
byte[] data)
Set the slot and data for the plaintext record.
|
String |
toString() |
protected int |
writeMessageBody(byte[] out,
int curIndex)
write the message body to the output array, starting at the given index.
|
getRecord, getRecordCount, setRecord
createMessage, fromRawByteArray, fromRawByteArrayNTCP2, getMessageExpiration, getMessageSize, getRawMessageSize, getUniqueId, readBytes, readBytes, readBytes, readMessage, registerBuilder, setMessageExpiration, setUniqueId, toByteArray, toByteArray, toByteArray, toRawByteArray, toRawByteArrayNTCP2, writeBytes
public static final int MESSAGE_TYPE
public static final int SHORT_RECORD_SIZE
public static final int MAX_PLAINTEXT_RECORD_SIZE
public OutboundTunnelBuildReplyMessage(I2PAppContext context)
public OutboundTunnelBuildReplyMessage(I2PAppContext context, int records)
public void setPlaintextRecord(int slot, byte[] data)
IllegalArgumentException
- on bad slot or data length.public int getPlaintextSlot()
public byte[] getPlaintextRecord()
protected int calculateWrittenLength()
I2NPMessageImpl
calculateWrittenLength
in class TunnelBuildMessageBase
public int getType()
I2NPMessage
getType
in interface I2NPMessage
getType
in class TunnelBuildReplyMessage
public void readMessage(byte[] data, int offset, int dataSize, int type) throws I2NPMessageException
I2NPMessage
readMessage
in interface I2NPMessage
readMessage
in class TunnelBuildMessageBase
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 writeMessageBody(byte[] out, int curIndex) throws I2NPMessageException
I2NPMessageImpl
writeMessageBody
in class TunnelBuildMessageBase
I2NPMessageException
public String toString()
toString
in class TunnelBuildReplyMessage