|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.i2p.data.DataStructureImpl
net.i2p.data.i2np.I2NPMessageImpl
net.i2p.data.i2np.FastI2NPMessageImpl
net.i2p.data.i2np.DatabaseStoreMessage
public class DatabaseStoreMessage
Defines the message a router sends to another router to test the network database reachability, as well as the reply message sent back. TODO: Don't decompress and recompress RouterInfos at the OBEP and IBGW. Could this even change the message length or corrupt things?
Nested Class Summary |
---|
Nested classes/interfaces inherited from class net.i2p.data.i2np.I2NPMessageImpl |
---|
I2NPMessageImpl.Builder |
Field Summary | |
---|---|
static int |
MESSAGE_TYPE
|
Fields inherited from class net.i2p.data.i2np.FastI2NPMessageImpl |
---|
_checksum, _hasChecksum |
Fields inherited from class net.i2p.data.i2np.I2NPMessageImpl |
---|
_context, _expiration, _log, _uniqueId, CHECKSUM_LENGTH, DEFAULT_EXPIRATION_MS, HEADER_LENGTH |
Fields inherited from interface net.i2p.data.i2np.I2NPMessage |
---|
MAX_ID_VALUE, MAX_SIZE |
Constructor Summary | |
---|---|
DatabaseStoreMessage(I2PAppContext context)
|
Method Summary | |
---|---|
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 |
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 |
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 |
Methods inherited from class net.i2p.data.i2np.FastI2NPMessageImpl |
---|
readBytes, readBytes, readBytes, toByteArray, toByteArrayWithSavedChecksum, writeBytes |
Methods inherited from class net.i2p.data.i2np.I2NPMessageImpl |
---|
createMessage, fromRawByteArray, getMessageExpiration, getMessageSize, getRawMessageSize, getUniqueId, readBytes, readMessage, registerBuilder, setMessageExpiration, setUniqueId, toByteArray, toRawByteArray |
Methods inherited from class net.i2p.data.DataStructureImpl |
---|
calculateHash, fromBase64, fromByteArray, read, toBase64 |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface net.i2p.data.DataStructure |
---|
calculateHash, fromBase64, fromByteArray, toBase64 |
Field Detail |
---|
public static final int MESSAGE_TYPE
Constructor Detail |
---|
public DatabaseStoreMessage(I2PAppContext context)
Method Detail |
---|
public Hash getKey()
public DatabaseEntry getEntry()
public void setEntry(DatabaseEntry entry)
IllegalStateException
- if data previously set, to protect saved checksumpublic long getReplyToken()
public void setReplyToken(long token) throws IllegalArgumentException
IllegalArgumentException
- if the token is out of range (min=0, max=I2NPMessage.MAX_ID_VALUE)public TunnelId getReplyTunnel()
public void setReplyTunnel(TunnelId id)
public Hash getReplyGateway()
public void setReplyGateway(Hash peer)
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 type
I2NPMessageException
- if the stream doesn't contain a valid message
that this class can read.protected int calculateWrittenLength()
calculateWrittenLength
in class I2NPMessageImpl
IllegalStateException
protected int writeMessageBody(byte[] out, int curIndex) throws I2NPMessageException
writeMessageBody
in class I2NPMessageImpl
I2NPMessageException
public int getType()
I2NPMessage
public int hashCode()
hashCode
in class Object
public boolean equals(Object object)
equals
in class Object
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |