Class Datagram3


  • public class Datagram3
    extends Object
    Class for creating and loading I2P repliable datagrams version 3. Ref: Proposal 163
      +----+----+----+----+----+----+----+----+
      |                                       |
      +            fromHash                   +
      |                                       |
      +                                       +
      |                                       |
      +----+----+----+----+----+----+----+----+
      |  flags  |     options (optional)      |
      +----+----+                             +
      ~                                       ~
      ~                                       ~
      +----+----+----+----+----+----+----+----+
      |                                       |
      ~            payload                    ~
      ~                                       ~
      |                                       |
      +----+----+----+----+----+----+----+----+
    
    Since:
    0.9.66
    • Method Detail

      • make

        public static byte[] make​(I2PAppContext ctx,
                                  I2PSession session,
                                  byte[] payload)
                           throws DataFormatException
        Make a repliable I2P datagram3 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,
                                  Properties options)
                           throws DataFormatException
        Make a repliable I2P datagram3 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 Hash getSender()
        Get the sender of an I2P repliable datagram (previously loaded with the load() method)
        Returns:
        The Hash of 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