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 int
MESSAGE_TYPE
-
Constructor Summary
Constructors Constructor Description MessagePayloadMessage()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
doReadMessage(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)long
getMessageId()
Payload
getPayload()
long
getSessionId()
int
getType()
Return the unique identifier for this type of message, as specified in the network specification document under #ClientAccessLayerMessagesSessionId
sessionId()
Return the SessionId for this message.void
setMessageId(long id)
void
setPayload(Payload payload)
void
setSessionId(long id)
String
toString()
void
writeMessage(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 Detail
-
MESSAGE_TYPE
public static final int MESSAGE_TYPE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getSessionId
public long getSessionId()
-
sessionId
public SessionId sessionId()
Return the SessionId for this message.- Specified by:
sessionId
in interfaceI2CPMessage
- Overrides:
sessionId
in 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
public Payload getPayload()
-
setPayload
public void setPayload(Payload payload)
-
doReadMessage
protected void doReadMessage(InputStream in, int size) throws I2CPMessageException, IOException
Description copied from class:I2CPMessageImpl
Read in the payload part of the message (after the initial 4 byte size and 1 byte type)- Specified by:
doReadMessage
in classI2CPMessageImpl
- Parameters:
in
- InputStreamsize
- payload size- Throws:
I2CPMessageException
IOException
-
doWriteMessage
protected byte[] doWriteMessage() throws I2CPMessageException, IOException
Description copied from class:I2CPMessageImpl
Write out the payload part of the message (not including the 4 byte size and 1 byte type)- Specified by:
doWriteMessage
in classI2CPMessageImpl
- Returns:
- byte array
- Throws:
UnsupportedOperationException
- alwaysI2CPMessageException
IOException
-
writeMessage
public void writeMessage(OutputStream out) throws I2CPMessageException, IOException
Write out the full message to the stream, including the 4 byte size and 1 byte type header.- Specified by:
writeMessage
in interfaceI2CPMessage
- Overrides:
writeMessage
in classI2CPMessageImpl
- Parameters:
out
- OutputStream- Throws:
IOException
I2CPMessageException
- if the current object doesn't have sufficient data to write a properly formatted message.
-
getType
public int getType()
Description copied from interface:I2CPMessage
Return 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
-
-