public class DatabaseStoreMessage extends FastI2NPMessageImpl
I2NPMessageImpl.Builder| Modifier and Type | Field and Description |
|---|---|
static int | MESSAGE_TYPEMESSAGE_TYPE. |
_checksum, _hasChecksum_context, _expiration, _log, CHECKSUM_LENGTH, DEFAULT_EXPIRATION_MS, HEADER_LENGTHMAX_ID_VALUE, MAX_SIZE| Constructor and Description |
|---|
DatabaseStoreMessage(I2PAppContext context)Creates a new DatabaseStoreMessage. |
| 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)Compares this message to another for equality of all fields. |
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()The gateway to send the reply to, or null if no reply is requested. |
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()The tunnel to send the reply through, or null if no reply is requested. |
int | getType()The message type. |
int | hashCode()Hash code calculated from the message fields. |
void | readMessage(byte[] data,
int offset,
int dataSize,
int type)Reads the message fields from the byte array. |
void | setEntry(DatabaseEntry entry)This also sets the key |
void | setReceivedAsReply()Records that this message was received by searching for it. |
void | setReplyGateway(Hash peer)Assigns the gateway to send the reply to. |
void | setReplyToken(long token)Update the reply token. |
void | setReplyTunnel(TunnelId id)Assigns the tunnel to send the reply through. |
String | toString()String form of the message, suitable for debugging. |
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)
context - the I2P app contextprotected int calculateWrittenLength()
calculateWrittenLength in class I2NPMessageImplIllegalStateException - if the entry is not setpublic boolean equals(Object object)
public DatabaseEntry getEntry()
public Hash getKey()
public boolean getReceivedAsReply()
public Hash getReplyGateway()
public long getReplyToken()
public TunnelId getReplyTunnel()
public int getType()
public int hashCode()
public void readMessage(byte[] data,
int offset,
int dataSize,
int type)
throws I2NPMessageExceptiondata - 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)
entry - the entry to storeIllegalStateException - if data previously set, to protect saved checksumpublic void setReceivedAsReply()
public void setReplyGateway(Hash peer)
peer - the reply gatewaypublic void setReplyToken(long token)
throws IllegalArgumentExceptionIllegalArgumentException - if the token is out of range (min=0, max=I2NPMessage.MAX_ID_VALUE)public void setReplyTunnel(TunnelId id)
id - the reply tunnelpublic String toString()
protected int writeMessageBody(byte[] out,
int curIndex)
throws I2NPMessageExceptionwriteMessageBody in class I2NPMessageImplI2NPMessageException