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 boolean
equals(Object object)
byte[]
getEncryptedData()
the real dataint
getSize()
byte[]
getUnencryptedData()
Retrieve the unencrypted body of the message.int
hashCode()
void
readBytes(InputStream in)
Load up the current object with data from the given stream.void
setEncryptedData(byte[] data)
the real datavoid
setUnencryptedData(byte[] data)
Populate the message body with data.String
toString()
int
writeBytes(byte[] target, int offset)
void
writeBytes(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: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:
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: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 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)
-
-