Package net.i2p.data.i2cp
Class MessagePayloadMessage
java.lang.Object
net.i2p.data.i2cp.I2CPMessageImpl
net.i2p.data.i2cp.MessagePayloadMessage
- All Implemented Interfaces:
I2CPMessage
public class MessagePayloadMessage extends I2CPMessageImpl
Defines the payload message a router sends to the client
- Author:
- jrandom
-
Field Summary
Fields Modifier and Type Field Description static intMESSAGE_TYPE -
Constructor Summary
Constructors Constructor Description MessagePayloadMessage() -
Method Summary
Modifier and Type Method Description protected voiddoReadMessage(InputStream in, int size)Read in the payload part of the message (after the initial 4 byte size and 1 byte type)protected byte[]doWriteMessage()Write out the payload part of the message (not including the 4 byte size and 1 byte type)longgetMessageId()PayloadgetPayload()longgetSessionId()intgetType()Return the unique identifier for this type of message, as specified in the network specification document under #ClientAccessLayerMessagesSessionIdsessionId()Return the SessionId for this message.voidsetMessageId(long id)voidsetPayload(Payload payload)voidsetSessionId(long id)StringtoString()voidwriteMessage(OutputStream out)Write out the full message to the stream, including the 4 byte size and 1 byte type header.Methods inherited from class net.i2p.data.i2cp.I2CPMessageImpl
readBytes, readMessage, readMessage, writeBytes
-
Field Details
-
MESSAGE_TYPE
public static final int MESSAGE_TYPE- See Also:
- Constant Field Values
-
-
Constructor Details
-
MessagePayloadMessage
public MessagePayloadMessage()
-
-
Method Details
-
getSessionId
public long getSessionId() -
sessionId
Return the SessionId for this message.- Specified by:
sessionIdin interfaceI2CPMessage- Overrides:
sessionIdin classI2CPMessageImpl- Returns:
- null always. Extending classes with a SessionId must override.
- Since:
- 0.9.21
-
setSessionId
public void setSessionId(long id)- Parameters:
id- 0-65535
-
getMessageId
public long getMessageId() -
setMessageId
public void setMessageId(long id) -
getPayload
-
setPayload
-
doReadMessage
Description copied from class:I2CPMessageImplRead in the payload part of the message (after the initial 4 byte size and 1 byte type)- Specified by:
doReadMessagein classI2CPMessageImpl- Parameters:
in- InputStreamsize- payload size- Throws:
I2CPMessageExceptionIOException
-
doWriteMessage
Description copied from class:I2CPMessageImplWrite out the payload part of the message (not including the 4 byte size and 1 byte type)- Specified by:
doWriteMessagein classI2CPMessageImpl- Returns:
- byte array
- Throws:
UnsupportedOperationException- alwaysI2CPMessageExceptionIOException
-
writeMessage
Write out the full message to the stream, including the 4 byte size and 1 byte type header.- Specified by:
writeMessagein interfaceI2CPMessage- Overrides:
writeMessagein classI2CPMessageImpl- Parameters:
out- OutputStream- Throws:
IOExceptionI2CPMessageException- if the current object doesn't have sufficient data to write a properly formatted message.
-
getType
public int getType()Description copied from interface:I2CPMessageReturn the unique identifier for this type of message, as specified in the network specification document under #ClientAccessLayerMessages- Returns:
- unique identifier for this type of message
-
toString
-