Class GarlicClove

java.lang.Object
net.i2p.data.DataStructureImpl
net.i2p.data.i2np.GarlicClove
All Implemented Interfaces:
Serializable, DataStructure

public class GarlicClove extends DataStructureImpl
Contains one deliverable message encrypted to a router along with instructions and a certificate 'paying for' the delivery. Note that certificates are always the null certificate at this time, others are unimplemented.
Author:
jrandom
See Also:
  • Constructor Details

  • Method Details

    • getInstructions

      public DeliveryInstructions getInstructions()
    • setInstructions

      public void setInstructions(DeliveryInstructions instr)
    • getData

      public I2NPMessage getData()
    • setData

      public void setData(I2NPMessage msg)
    • getCloveId

      public long getCloveId()
    • setCloveId

      public void setCloveId(long id)
    • getExpiration

      public long getExpiration()
    • setExpiration

      public void setExpiration(long exp)
    • getCertificate

      public Certificate getCertificate()
    • setCertificate

      public void setCertificate(Certificate cert)
    • readBytes

      @Deprecated public void readBytes(InputStream in)
      Deprecated.
      unused, use byte array method to avoid copying
      Description copied from interface: DataStructure
      Load up the current object with data from the given stream. Data loaded this way must match the I2P data structure specification. Warning - many classes will throw IllegalStateException if data is already set.
      Parameters:
      in - stream to read from
      Throws:
      UnsupportedOperationException - always
    • readBytes

      public int readBytes(byte[] source, int offset) throws DataFormatException
      Returns:
      length read
      Throws:
      DataFormatException
    • readBytesRatchet

      public void readBytesRatchet(byte[] source, int offset, int len) throws DataFormatException
      Short format for ECIES-Ratchet, saves 22 bytes. NTCP2-style header, no ID, no separate expiration, no cert.
      Throws:
      DataFormatException
      Since:
      0.9.44
    • writeBytes

      @Deprecated public void writeBytes(OutputStream out)
      Deprecated.
      unused, use byte array method to avoid copying
      Description copied from interface: DataStructure
      Write out the data structure to the stream, using the format defined in the I2P data structure specification.
      Parameters:
      out - stream to write to
      Throws:
      UnsupportedOperationException - always
    • toByteArray

      public byte[] toByteArray()
      Specified by:
      toByteArray in interface DataStructure
      Overrides:
      toByteArray in class DataStructureImpl
      Returns:
      may be null if data is not set
    • writeBytesRatchet

      public int writeBytesRatchet(byte[] tgt, int offset)
      Short format for ECIES-Ratchet, saves 22 bytes. NTCP2-style header, no ID, no separate expiration, no cert.
      Returns:
      new offset
      Since:
      0.9.44
    • getSizeRatchet

      public int getSizeRatchet()
      Since:
      0.9.44
    • estimateSize

      public int estimateSize()
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object