Package net.i2p.data
Class Payload
- java.lang.Object
-
- net.i2p.data.DataStructureImpl
-
- net.i2p.data.Payload
-
- All Implemented Interfaces:
Serializable,DataStructure
public class Payload extends DataStructureImpl
Defines the actual payload of a message being delivered, including the standard encryption wrapping, as defined by the I2P data structure spec. This is used mostly in I2CP, where we used to do end-to-end encryption. Since we don't any more, you probably just want to use the get/set EncryptedData methods.- Author:
- jrandom
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Payload()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object object)byte[]getEncryptedData()the real dataintgetSize()byte[]getUnencryptedData()Retrieve the unencrypted body of the message.inthashCode()voidreadBytes(InputStream in)Load up the current object with data from the given stream.voidsetEncryptedData(byte[] data)the real datavoidsetUnencryptedData(byte[] data)Populate the message body with data.StringtoString()intwriteBytes(byte[] target, int offset)voidwriteBytes(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, toByteArray
-
-
-
-
Method Detail
-
getUnencryptedData
public byte[] getUnencryptedData()
Retrieve the unencrypted body of the message. Deprecated. Unless you are doing encryption, use getEncryptedData() instead.- Returns:
- body of the message, or null if the message has either not been decrypted yet or if the hash is not correct
-
setUnencryptedData
public void setUnencryptedData(byte[] data)
Populate the message body with data. This does not automatically encrypt yet. Deprecated. Unless you are doing encryption, use setEncryptedData() instead.- Throws:
IllegalArgumentException- if bigger than 64KB
-
getEncryptedData
public byte[] getEncryptedData()
the real data
-
setEncryptedData
public void setEncryptedData(byte[] data)
the real data- Throws:
IllegalArgumentException- if bigger than 64KB
-
getSize
public int getSize()
-
readBytes
public void readBytes(InputStream in) throws DataFormatException, IOException
Description copied from interface:DataStructureLoad 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:
DataFormatException- if the data is improperly formattedIOException- if there was a problem reading the stream
-
writeBytes
public void writeBytes(OutputStream out) throws DataFormatException, IOException
Description copied from interface:DataStructureWrite 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 writtenIOException- if there was a problem writing to the stream
-
writeBytes
public int writeBytes(byte[] target, int offset)- Returns:
- the written length (NOT the new offset)
-
-