Package net.i2p.data.i2np
Class DatabaseSearchReplyMessage
- java.lang.Object
-
- net.i2p.data.i2np.I2NPMessageImpl
-
- net.i2p.data.i2np.FastI2NPMessageImpl
-
- net.i2p.data.i2np.DatabaseSearchReplyMessage
-
- All Implemented Interfaces:
I2NPMessage
public class DatabaseSearchReplyMessage extends FastI2NPMessageImpl
Defines the message a router sends to another router in response to a search (DatabaseFindNearest or DatabaseLookup) when it doesn't have the value, specifying what routers it would search.- Author:
- jrandom
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.i2p.data.i2np.I2NPMessageImpl
I2NPMessageImpl.Builder
-
-
Field Summary
Fields Modifier and Type Field Description static intMESSAGE_TYPE-
Fields inherited from class net.i2p.data.i2np.FastI2NPMessageImpl
_checksum, _hasChecksum
-
Fields inherited from class net.i2p.data.i2np.I2NPMessageImpl
_context, _expiration, _log, CHECKSUM_LENGTH, DEFAULT_EXPIRATION_MS, HEADER_LENGTH
-
Fields inherited from interface net.i2p.data.i2np.I2NPMessage
MAX_ID_VALUE, MAX_SIZE
-
-
Constructor Summary
Constructors Constructor Description DatabaseSearchReplyMessage(I2PAppContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddReply(Hash peer)protected intcalculateWrittenLength()calculate the message body's length (not including the header and footerbooleanequals(Object object)HashgetFromHash()intgetNumReplies()HashgetReply(int index)HashgetSearchKey()Defines the key being searched forintgetType()Return the unique identifier for this type of I2NP message, as defined in the I2NP specinthashCode()voidreadMessage(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 specificationvoidsetFromHash(Hash from)voidsetSearchKey(Hash key)StringtoString()protected intwriteMessageBody(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, toByteArray, toByteArrayWithSavedChecksum
-
Methods inherited from class net.i2p.data.i2np.I2NPMessageImpl
createMessage, fromRawByteArray, fromRawByteArrayNTCP2, getMessageExpiration, getMessageSize, getRawMessageSize, getUniqueId, readBytes, readBytes, readMessage, registerBuilder, setMessageExpiration, setUniqueId, toByteArray, toByteArray, toRawByteArray, toRawByteArrayNTCP2, writeBytes
-
-
-
-
Field Detail
-
MESSAGE_TYPE
public static final int MESSAGE_TYPE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DatabaseSearchReplyMessage
public DatabaseSearchReplyMessage(I2PAppContext context)
-
-
Method Detail
-
getSearchKey
public Hash getSearchKey()
Defines the key being searched for
-
setSearchKey
public void setSearchKey(Hash key)
- Throws:
IllegalStateException- if key previously set, to protect saved checksum
-
getNumReplies
public int getNumReplies()
-
getReply
public Hash getReply(int index)
-
addReply
public void addReply(Hash peer)
-
getFromHash
public Hash getFromHash()
-
setFromHash
public void setFromHash(Hash from)
-
readMessage
public void readMessage(byte[] data, int offset, int dataSize, int type) throws I2NPMessageExceptionDescription copied from interface:I2NPMessageRead 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- Parameters:
data- data to read fromoffset- where to start in the data arraydataSize- how long into the data to readtype- I2NP message type- Throws:
I2NPMessageException- if the stream doesn't contain a valid message that this class can read.
-
calculateWrittenLength
protected int calculateWrittenLength()
calculate the message body's length (not including the header and footer- Specified by:
calculateWrittenLengthin classI2NPMessageImpl
-
writeMessageBody
protected int writeMessageBody(byte[] out, int curIndex) throws I2NPMessageExceptionwrite the message body to the output array, starting at the given index- Specified by:
writeMessageBodyin classI2NPMessageImpl- Returns:
- the index into the array after the last byte written (NOT the length)
- Throws:
I2NPMessageException
-
getType
public int getType()
Description copied from interface:I2NPMessageReturn the unique identifier for this type of I2NP message, as defined in the I2NP spec
-
-