Class TunnelGatewayMessage

  • All Implemented Interfaces:
    I2NPMessage

    public class TunnelGatewayMessage
    extends FastI2NPMessageImpl
    Defines the message sent between one tunnel's endpoint and another's gateway. format: { tunnelId, sizeof(i2npMessage.toByteArray()), i2npMessage.toByteArray() }
    • Constructor Detail

      • TunnelGatewayMessage

        public TunnelGatewayMessage​(I2PAppContext context)
    • Method Detail

      • getTunnelId

        public TunnelId getTunnelId()
      • getMessage

        public I2NPMessage getMessage()
        Warning, at the IBGW, where the message was read in, this will be an UnknownI2NPMessage. If you need a real message class, use UnknownI2NPMessage.convert(). Note that if you change the expiration on the embedded message it will mess up the checksum of this message, so don't do that.
      • 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.
      • 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