Class Datagram2


  • public class Datagram2
    extends Object
    Class for creating and loading I2P repliable datagrams version 2. Ref: Proposal 163
      +----+----+----+----+----+----+----+----+
      |                                       |
      ~            from                       ~
      ~                                       ~
      |                                       |
      +----+----+----+----+----+----+----+----+
      |  flags  |     options (optional)      |
      +----+----+                             +
      ~                                       ~
      ~                                       ~
      +----+----+----+----+----+----+----+----+
      |                                       |
      ~     offline_signature (optional)      ~
      ~   expires, sigtype, pubkey, offsig    ~
      |                                       |
      +----+----+----+----+----+----+----+----+
      |                                       |
      ~            payload                    ~
      ~                                       ~
      |                                       |
      +----+----+----+----+----+----+----+----+
      |                                       |
      ~            signature                  ~
      ~                                       ~
      |                                       |
      +----+----+----+----+----+----+----+----+
    
    Since:
    0.9.66
    • Method Detail

      • make

        public static byte[] make​(I2PAppContext ctx,
                                  I2PSession session,
                                  byte[] payload,
                                  Hash tohash)
                           throws DataFormatException
        Make a repliable I2P datagram2 containing the specified payload.
        Parameters:
        payload - non-null Bytes to be contained in the I2P datagram.
        Returns:
        non-null, throws on all errors
        Throws:
        DataFormatException - if payload is too big
      • make

        public static byte[] make​(I2PAppContext ctx,
                                  I2PSession session,
                                  byte[] payload,
                                  Hash tohash,
                                  Properties options)
                           throws DataFormatException
        Make a repliable I2P datagram2 containing the specified payload.
        Parameters:
        payload - non-null Bytes to be contained in the I2P datagram.
        options - may be null
        Returns:
        non-null, throws on all errors
        Throws:
        DataFormatException - if payload is too big
      • getPayload

        public byte[] getPayload()
        Get the payload carried by an I2P repliable datagram (previously loaded with the load() method)
        Returns:
        A byte array containing the datagram payload
      • getSender

        public Destination getSender()
        Get the sender of an I2P repliable datagram (previously loaded with the load() method)
        Returns:
        The Destination of the I2P repliable datagram sender
      • getOptions

        public Properties getOptions()
        Get the options of an I2P repliable datagram (previously loaded with the load() method), if any
        Returns:
        options or null