net.i2p.data.i2cp
Class SendMessageMessage
java.lang.Object
net.i2p.data.DataStructureImpl
net.i2p.data.i2cp.I2CPMessageImpl
net.i2p.data.i2cp.SendMessageMessage
- All Implemented Interfaces:
- DataStructure, I2CPMessage
public class SendMessageMessage
- extends I2CPMessageImpl
Defines the message a client sends to a router to ask it to deliver
a new message
- Author:
- jrandom
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
MESSAGE_TYPE
public static final int MESSAGE_TYPE
- See Also:
- Constant Field Values
SendMessageMessage
public SendMessageMessage()
getSessionId
public SessionId getSessionId()
setSessionId
public void setSessionId(SessionId id)
getDestination
public Destination getDestination()
setDestination
public void setDestination(Destination destination)
getPayload
public Payload getPayload()
setPayload
public void setPayload(Payload payload)
getNonce
public long getNonce()
setNonce
public void setNonce(long nonce)
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
- Throws:
I2CPMessageException
java.io.IOException
readMessage
public void readMessage(java.io.InputStream in,
int length,
int type)
throws I2CPMessageException,
java.io.IOException
- Read the body into the data structures
- Specified by:
readMessage
in interface I2CPMessage
- Overrides:
readMessage
in class I2CPMessageImpl
- Parameters:
in
- stream to read fromlength
- number of bytes in the message payloadtype
- type of message (should equal getType())
- Throws:
I2CPMessageException
- if the stream doesn't contain a valid message
that this class can read.
java.io.IOException
- if there is a problem reading from the stream
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
- 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. Override the parent so we can be more mem efficient
- Specified by:
writeMessage
in interface I2CPMessage
- Overrides:
writeMessage
in class I2CPMessageImpl
- Throws:
I2CPMessageException
- if the current object doesn't have sufficient data
to write a properly formatted message.
java.io.IOException
- if there is a problem writing to the stream
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
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