Package net.i2p.data.i2np
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:
- Serialized Form
-
Constructor Summary
Constructors Constructor Description GarlicClove(I2PAppContext context)
-
Method Summary
Modifier and Type Method Description boolean
equals(Object obj)
int
estimateSize()
Certificate
getCertificate()
long
getCloveId()
I2NPMessage
getData()
long
getExpiration()
DeliveryInstructions
getInstructions()
int
getSizeRatchet()
int
hashCode()
int
readBytes(byte[] source, int offset)
void
readBytes(InputStream in)
Deprecated.unused, use byte array method to avoid copyingvoid
readBytesRatchet(byte[] source, int offset, int len)
Short format for ECIES-Ratchet, saves 22 bytes.void
setCertificate(Certificate cert)
void
setCloveId(long id)
void
setData(I2NPMessage msg)
void
setExpiration(long exp)
void
setInstructions(DeliveryInstructions instr)
byte[]
toByteArray()
String
toString()
void
writeBytes(OutputStream out)
Deprecated.unused, use byte array method to avoid copyingint
writeBytesRatchet(byte[] tgt, int offset)
Short format for ECIES-Ratchet, saves 22 bytes.Methods inherited from class net.i2p.data.DataStructureImpl
calculateHash, fromBase64, fromByteArray, read, toBase64
-
Constructor Details
-
Method Details
-
getInstructions
-
setInstructions
-
getData
-
setData
-
getCloveId
public long getCloveId() -
setCloveId
public void setCloveId(long id) -
getExpiration
public long getExpiration() -
setExpiration
public void setExpiration(long exp) -
getCertificate
-
setCertificate
-
readBytes
Deprecated.unused, use byte array method to avoid copyingDescription 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
- Returns:
- length read
- Throws:
DataFormatException
-
readBytesRatchet
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.unused, use byte array method to avoid copyingDescription 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 interfaceDataStructure
- Overrides:
toByteArray
in classDataStructureImpl
- 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
-
hashCode
public int hashCode() -
toString
-