Class HostReplyMessage

java.lang.Object
net.i2p.data.i2cp.I2CPMessageImpl
net.i2p.data.i2cp.HostReplyMessage
All Implemented Interfaces:
I2CPMessage

public class HostReplyMessage extends I2CPMessageImpl
Response to HostLookupMessage. Replaces DestReplyMessage.
Since:
0.9.11
  • Field Details

    • MESSAGE_TYPE

      public static final int MESSAGE_TYPE
      See Also:
    • RESULT_SUCCESS

      public static final int RESULT_SUCCESS
      See Also:
    • RESULT_FAILURE

      public static final int RESULT_FAILURE
      generic fail, other codes TBD
      See Also:
    • RESULT_SECRET_REQUIRED

      public static final int RESULT_SECRET_REQUIRED
      Since:
      0.9.41
      See Also:
    • RESULT_KEY_REQUIRED

      public static final int RESULT_KEY_REQUIRED
      Since:
      0.9.41
      See Also:
    • RESULT_SECRET_AND_KEY_REQUIRED

      public static final int RESULT_SECRET_AND_KEY_REQUIRED
      Since:
      0.9.41
      See Also:
    • RESULT_DECRYPTION_FAILURE

      public static final int RESULT_DECRYPTION_FAILURE
      Since:
      0.9.41
      See Also:
  • Constructor Details

    • HostReplyMessage

      public HostReplyMessage()
    • HostReplyMessage

      public HostReplyMessage(SessionId id, Destination d, long reqID)
      A message with RESULT_SUCCESS and a non-null Destination.
      Parameters:
      d - non-null
      reqID - 0 to 2**32 - 1
    • HostReplyMessage

      public HostReplyMessage(SessionId id, int failureCode, long reqID)
      A message with a failure code and no Destination.
      Parameters:
      failureCode - 1-255
      reqID - from the HostLookup 0 to 2**32 - 1
  • Method Details

    • getSessionId

      public SessionId getSessionId()
    • sessionId

      public SessionId sessionId()
      Return the SessionId for this message.
      Specified by:
      sessionId in interface I2CPMessage
      Overrides:
      sessionId in class I2CPMessageImpl
      Returns:
      null always. Extending classes with a SessionId must override.
      Since:
      0.9.21
    • getReqID

      public long getReqID()
      Returns:
      0 to 2**32 - 1
    • getResultCode

      public int getResultCode()
      Returns:
      0 on success, 1-255 on failure
    • getDestination

      public Destination getDestination()
      Returns:
      non-null only if result code is zero
    • doReadMessage

      protected void doReadMessage(InputStream in, int size) throws I2CPMessageException, IOException
      Description copied from class: I2CPMessageImpl
      Read in the payload part of the message (after the initial 4 byte size and 1 byte type)
      Specified by:
      doReadMessage in class I2CPMessageImpl
      Parameters:
      in - InputStream
      size - payload size
      Throws:
      I2CPMessageException
      IOException
    • doWriteMessage

      protected byte[] doWriteMessage() throws I2CPMessageException, IOException
      Description copied from class: I2CPMessageImpl
      Write out the payload part of the message (not including the 4 byte size and 1 byte type)
      Specified by:
      doWriteMessage in class I2CPMessageImpl
      Returns:
      byte array
      Throws:
      I2CPMessageException
      IOException
    • getType

      public int getType()
      Description copied from interface: I2CPMessage
      Return the unique identifier for this type of message, as specified in the network specification document under #ClientAccessLayerMessages
      Returns:
      unique identifier for this type of message
    • toString

      public String toString()
      Overrides:
      toString in class Object