Package net.i2p.data
Class Payload
java.lang.Object
net.i2p.data.DataStructureImpl
net.i2p.data.Payload
- All Implemented Interfaces:
Serializable,DataStructure
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:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanbyte[]the real dataintgetSize()byte[]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.toString()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
-
Constructor Details
-
Payload
public Payload()
-
-
Method Details
-
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
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
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)
-
equals
-
hashCode
public int hashCode() -
toString
-