public class DatabaseStoreMessage extends FastI2NPMessageImpl
I2NPMessageImpl.Builder| Modifier and Type | Field and Description |
|---|---|
static int |
MESSAGE_TYPE |
_checksum, _hasChecksum_context, _expiration, _log, CHECKSUM_LENGTH, DEFAULT_EXPIRATION_MS, HEADER_LENGTHMAX_ID_VALUE, MAX_SIZE| Constructor and Description |
|---|
DatabaseStoreMessage(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) |
DatabaseEntry |
getEntry()
Defines the entry in the network database being stored
|
Hash |
getKey()
Defines the key in the network database being stored
|
boolean |
getReceivedAsReply()
If true, we received this by searching for it.
|
Hash |
getReplyGateway() |
long |
getReplyToken()
If a reply is desired, this token specifies the message ID that should
be used for a DeliveryStatusMessage to be sent to the reply tunnel on the
reply gateway.
|
TunnelId |
getReplyTunnel() |
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 |
setEntry(DatabaseEntry entry)
This also sets the key
|
void |
setReceivedAsReply()
set to true
|
void |
setReplyGateway(Hash peer) |
void |
setReplyToken(long token)
Update the reply token.
|
void |
setReplyTunnel(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, toByteArray, toByteArrayWithSavedChecksumcreateMessage, fromRawByteArray, fromRawByteArrayNTCP2, getMessageExpiration, getMessageSize, getRawMessageSize, getUniqueId, getUniqueId, readBytes, readMessage, setMessageExpiration, setUniqueId, toByteArray, toByteArray, toRawByteArray, toRawByteArrayNTCP2public static final int MESSAGE_TYPE
public DatabaseStoreMessage(I2PAppContext context)
protected int calculateWrittenLength()
calculateWrittenLength in class I2NPMessageImplIllegalStateExceptionpublic DatabaseEntry getEntry()
public Hash getKey()
public boolean getReceivedAsReply()
public Hash getReplyGateway()
public long getReplyToken()
public TunnelId getReplyTunnel()
public int getType()
I2NPMessagepublic void readMessage(byte[] data,
int offset,
int dataSize,
int type)
throws I2NPMessageException
I2NPMessagedata - 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 setEntry(DatabaseEntry entry)
IllegalStateException - if data previously set, to protect saved checksumpublic void setReceivedAsReply()
public void setReplyGateway(Hash peer)
public void setReplyToken(long token)
throws IllegalArgumentException
IllegalArgumentException - if the token is out of range (min=0, max=I2NPMessage.MAX_ID_VALUE)public void setReplyTunnel(TunnelId id)
protected int writeMessageBody(byte[] out,
int curIndex)
throws I2NPMessageException
writeMessageBody in class I2NPMessageImplI2NPMessageException