net.i2p.data.i2np
Class GarlicClove

java.lang.Object
  extended by net.i2p.data.DataStructureImpl
      extended by 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:
Serialized Form

Constructor Summary
GarlicClove(I2PAppContext context)
           
 
Method Summary
 boolean equals(Object obj)
           
 int estimateSize()
           
 Certificate getCertificate()
           
 long getCloveId()
           
 I2NPMessage getData()
           
 Date getExpiration()
           
 DeliveryInstructions getInstructions()
           
 int hashCode()
           
 int readBytes(byte[] source, int offset)
           
 void readBytes(InputStream in)
          Deprecated. unused, use byte array method to avoid copying
 void setCertificate(Certificate cert)
           
 void setCloveId(long id)
           
 void setData(I2NPMessage msg)
           
 void setExpiration(Date exp)
           
 void setInstructions(DeliveryInstructions instr)
           
 byte[] toByteArray()
           
 String toString()
           
 void writeBytes(OutputStream out)
          Deprecated. unused, use byte array method to avoid copying
 
Methods inherited from class net.i2p.data.DataStructureImpl
calculateHash, fromBase64, fromByteArray, read, toBase64
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GarlicClove

public GarlicClove(I2PAppContext context)
Method Detail

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 Date getExpiration()

setExpiration

public void setExpiration(Date exp)

getCertificate

public Certificate getCertificate()

setCertificate

public void setCertificate(Certificate cert)

readBytes

public void readBytes(InputStream in)
               throws DataFormatException,
                      IOException
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
DataFormatException - if the data is improperly formatted
IOException - if there was a problem reading the stream

readBytes

public int readBytes(byte[] source,
                     int offset)
              throws DataFormatException
Throws:
DataFormatException

writeBytes

public void writeBytes(OutputStream out)
                throws DataFormatException,
                       IOException
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
DataFormatException - if the data was incomplete or not yet ready to be written
IOException - if there was a problem writing to the stream

toByteArray

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

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