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() |
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 APIMessage, as specified in the
network specification document under #ClientAccessLayerMessages
|
void |
readMessage(InputStream in,
int length,
int type)
Read the body into the data structures
|
void |
setDestination(Destination destination) |
void |
setNonce(long nonce) |
void |
setPayload(Payload payload) |
void |
setSessionId(SessionId 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.
|
readBytes, readMessage, writeBytes
calculateHash, fromBase64, fromByteArray, read, toBase64, toByteArray
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
calculateHash, fromBase64, fromByteArray, toBase64, toByteArray
public static final int MESSAGE_TYPE
protected SessionId _sessionId
protected Destination _destination
protected Payload _payload
protected long _nonce
public SessionId getSessionId()
public void setSessionId(SessionId id)
public Destination getDestination()
public void setDestination(Destination destination)
public Payload getPayload()
public void setPayload(Payload payload)
public long getNonce()
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