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:
DataStructure

public class GarlicClove
extends DataStructureImpl

Contains one deliverable message encrypted to a router along with instructions and a certificate 'paying for' the delivery.

Author:
jrandom

Constructor Summary
GarlicClove(RouterContext context)
           
 
Method Summary
 boolean equals(java.lang.Object obj)
           
 int estimateSize()
           
 Certificate getCertificate()
           
 long getCloveId()
           
 I2NPMessage getData()
           
 java.util.Date getExpiration()
           
 DeliveryInstructions getInstructions()
           
 int hashCode()
           
 int readBytes(byte[] source, int offset)
           
 void readBytes(java.io.InputStream in)
          Load up the current object with data from the given stream.
 void setCertificate(Certificate cert)
           
 void setCloveId(long id)
           
 void setData(I2NPMessage msg)
           
 void setExpiration(java.util.Date exp)
           
 void setInstructions(DeliveryInstructions instr)
           
 byte[] toByteArray()
           
 java.lang.String toString()
           
 void writeBytes(java.io.OutputStream out)
          Write out the data structure to the stream, using the format defined in the I2P data structure specification.
 
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(RouterContext 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 java.util.Date getExpiration()

setExpiration

public void setExpiration(java.util.Date exp)

getCertificate

public Certificate getCertificate()

setCertificate

public void setCertificate(Certificate cert)

readBytes

public void readBytes(java.io.InputStream in)
               throws DataFormatException,
                      java.io.IOException
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.

Parameters:
in - stream to read from
Throws:
DataFormatException - if the data is improperly formatted
java.io.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(java.io.OutputStream out)
                throws DataFormatException,
                       java.io.IOException
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:
DataFormatException - if the data was incomplete or not yet ready to be written
java.io.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

estimateSize

public int estimateSize()

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object