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(). Warning, will be null after message has been written. 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