public class SendMessageMessage extends I2CPMessageImpl
Modifier and Type | Field and Description |
---|---|
protected Destination |
_destination |
protected long |
_nonce |
protected Payload |
_payload |
protected SessionId |
_sessionId |
static int |
MESSAGE_TYPE |
Constructor and Description |
---|
SendMessageMessage()
For reading.
|
SendMessageMessage(SessionId sessID,
Destination dest,
Payload payload,
long nonce)
For writing
|
Modifier and Type | Method and 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)
|
Destination |
getDestination() |
long |
getNonce() |
Payload |
getPayload() |
SessionId |
getSessionId() |
int |
getType()
Return the unique identifier for this type of message, as specified in the
network specification document under #ClientAccessLayerMessages
|
void |
readMessage(InputStream in,
int length,
int type)
Read the body into the data structures
|
SessionId |
sessionId()
Return the SessionId for this message.
|
void |
setDestination(Destination destination)
Deprecated.
use 4-arg constructor
|
void |
setNonce(long nonce)
Deprecated.
use 4-arg constructor
|
void |
setPayload(Payload payload)
Deprecated.
use 4-arg constructor
|
void |
setSessionId(SessionId id)
Deprecated.
use 4-arg constructor
|
String |
toString() |
void |
writeMessage(OutputStream out)
Write out the full message to the stream, including the 4 byte size and 1
byte type header.
|
readBytes, readMessage, writeBytes
public static final int MESSAGE_TYPE
protected SessionId _sessionId
protected Destination _destination
protected Payload _payload
protected long _nonce
public SendMessageMessage()
public SendMessageMessage(SessionId sessID, Destination dest, Payload payload, long nonce)
public SessionId getSessionId()
public SessionId sessionId()
sessionId
in interface I2CPMessage
sessionId
in class I2CPMessageImpl
@Deprecated public void setSessionId(SessionId id)
public Destination getDestination()
@Deprecated public void setDestination(Destination destination)
public Payload getPayload()
@Deprecated public void setPayload(Payload payload)
public long getNonce()
@Deprecated public void setNonce(long nonce)
nonce
- 0 to 0xffffffffprotected void doReadMessage(InputStream in, int size) throws I2CPMessageException, IOException
I2CPMessageImpl
doReadMessage
in class I2CPMessageImpl
in
- InputStreamsize
- payload sizeI2CPMessageException
IOException
public void readMessage(InputStream in, int length, int type) throws I2CPMessageException, IOException
readMessage
in interface I2CPMessage
readMessage
in class I2CPMessageImpl
in
- stream to read fromlength
- number of bytes in the message payloadtype
- type of message (should equal getType())IOException
I2CPMessageException
- if the stream doesn't contain a valid message
that this class can read.protected byte[] doWriteMessage() throws I2CPMessageException, IOException
I2CPMessageImpl
doWriteMessage
in class I2CPMessageImpl
UnsupportedOperationException
- alwaysI2CPMessageException
IOException
public void writeMessage(OutputStream out) throws I2CPMessageException, IOException
writeMessage
in interface I2CPMessage
writeMessage
in class I2CPMessageImpl
out
- OutputStreamIOException
I2CPMessageException
- if the current object doesn't have sufficient data
to write a properly formatted message.public int getType()
I2CPMessage