net.i2p.data.i2cp
Class MessagePayloadMessage

java.lang.Object
  extended by net.i2p.data.DataStructureImpl
      extended by net.i2p.data.i2cp.I2CPMessageImpl
          extended by net.i2p.data.i2cp.MessagePayloadMessage
All Implemented Interfaces:
DataStructure, I2CPMessage

public class MessagePayloadMessage
extends I2CPMessageImpl

Defines the payload message a router sends to the client

Author:
jrandom

Field Summary
static int MESSAGE_TYPE
           
 
Constructor Summary
MessagePayloadMessage()
           
 
Method Summary
protected  void doReadMessage(java.io.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)
 boolean equals(java.lang.Object object)
           
 long getMessageId()
           
 Payload getPayload()
           
 long getSessionId()
           
 int getType()
          Return the unique identifier for this type of APIMessage, as specified in the network specification document under #ClientAccessLayerMessages
 void setMessageId(long id)
           
 void setPayload(Payload payload)
           
 void setSessionId(long id)
           
 java.lang.String toString()
           
 void writeMessage(java.io.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
 
Methods inherited from class net.i2p.data.DataStructureImpl
calculateHash, fromBase64, fromByteArray, read, toBase64, toByteArray
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface net.i2p.data.DataStructure
calculateHash, fromBase64, fromByteArray, toBase64, toByteArray
 

Field Detail

MESSAGE_TYPE

public static final int MESSAGE_TYPE
See Also:
Constant Field Values
Constructor Detail

MessagePayloadMessage

public MessagePayloadMessage()
Method Detail

getSessionId

public long getSessionId()

setSessionId

public void setSessionId(long id)

getMessageId

public long getMessageId()

setMessageId

public void setMessageId(long id)

getPayload

public Payload getPayload()

setPayload

public void setPayload(Payload payload)

doReadMessage

protected void doReadMessage(java.io.InputStream in,
                             int size)
                      throws I2CPMessageException,
                             java.io.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 class I2CPMessageImpl
Parameters:
in - InputStream
size - payload size
Throws:
I2CPMessageException
java.io.IOException

doWriteMessage

protected byte[] doWriteMessage()
                         throws I2CPMessageException,
                                java.io.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 class I2CPMessageImpl
Returns:
byte array
Throws:
I2CPMessageException
java.io.IOException

writeMessage

public void writeMessage(java.io.OutputStream out)
                  throws I2CPMessageException,
                         java.io.IOException
Write out the full message to the stream, including the 4 byte size and 1 byte type header.

Specified by:
writeMessage in interface I2CPMessage
Overrides:
writeMessage in class I2CPMessageImpl
Parameters:
out - OutputStream
Throws:
java.io.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 APIMessage, as specified in the network specification document under #ClientAccessLayerMessages

Returns:
unique identifier for this type of APIMessage

equals

public boolean equals(java.lang.Object object)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object