Class 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
    • 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 I2NPMessageException
        Description copied from interface: I2NPMessage
        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
        Parameters:
        data - data to read from
        offset - where to start in the data array
        dataSize - how long into the data to read
        type - 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:
        calculateWrittenLength in class I2NPMessageImpl
      • getType

        public int getType()
        Description copied from interface: I2NPMessage
        Return the unique identifier for this type of I2NP message, as defined in the I2NP spec
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object