public class MessageStatusMessage extends I2CPMessageImpl
Modifier and Type | Field and Description |
---|---|
static int |
MESSAGE_TYPE |
static int |
STATUS_AVAILABLE
For incoming messages.
|
static int |
STATUS_SEND_ACCEPTED |
static int |
STATUS_SEND_BEST_EFFORT_FAILURE
A probable failure, but we don't know for sure.
|
static int |
STATUS_SEND_BEST_EFFORT_SUCCESS
unused
|
static int |
STATUS_SEND_FAILURE_BAD_LEASESET
We got the far-end leaseset but something strange is wrong with it.
|
static int |
STATUS_SEND_FAILURE_BAD_MESSAGE
The message payload is invalid or zero-length or too big.
|
static int |
STATUS_SEND_FAILURE_BAD_OPTIONS
Something is invalid in the message options, or the expiration
is too far in the future.
|
static int |
STATUS_SEND_FAILURE_BAD_SESSION
The session is invalid or closed.
|
static int |
STATUS_SEND_FAILURE_DESTINATION
Something strange is wrong with the far-end destination.
|
static int |
STATUS_SEND_FAILURE_EXPIRED
Message expired before it could be sent.
|
static int |
STATUS_SEND_FAILURE_EXPIRED_LEASESET
We got the far-end leaseset but it's expired and can't get a new one.
|
static int |
STATUS_SEND_FAILURE_LOCAL
The far-end destination is local but delivery failed for some reason.
|
static int |
STATUS_SEND_FAILURE_LOCAL_LEASESET
Local leaseset problems.
|
static int |
STATUS_SEND_FAILURE_NETWORK
The PC apparently has no network connectivity at all.
|
static int |
STATUS_SEND_FAILURE_NO_LEASESET
Could not find the far-end destination's lease set.
|
static int |
STATUS_SEND_FAILURE_NO_TUNNELS
Local problems - no outbound tunnel to send through,
or no inbound tunnel if a reply is required.
|
static int |
STATUS_SEND_FAILURE_OVERFLOW
Some queue or buffer in the router is full and the message was dropped.
|
static int |
STATUS_SEND_FAILURE_ROUTER
The router is not ready, has shut down, or has major problems.
|
static int |
STATUS_SEND_FAILURE_UNSUPPORTED_ENCRYPTION
The certs or options in the destination or leaseset indicate that
it uses an encryption format that we don't support, so we can't talk to it.
|
static int |
STATUS_SEND_GUARANTEED_FAILURE
Generic failure, specific cause unknown.
|
static int |
STATUS_SEND_GUARANTEED_SUCCESS
Generic success.
|
static int |
STATUS_SEND_SUCCESS_LOCAL
The far-end destination is local and we are pretty darn sure
the delivery succeeded.
|
Constructor and Description |
---|
MessageStatusMessage() |
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)
|
long |
getMessageId()
This is the router's ID for the message
|
long |
getNonce()
This is the client's ID for the message
|
long |
getSessionId() |
long |
getSize() |
int |
getStatus() |
static String |
getStatusString(int status) |
int |
getType()
Return the unique identifier for this type of message, as specified in the
network specification document under #ClientAccessLayerMessages
|
boolean |
isSuccessful()
Is the status code a success status code?
|
static boolean |
isSuccessful(int status)
Is the status code a success status code?
|
SessionId |
sessionId()
Return the SessionId for this message.
|
void |
setMessageId(long id)
This is the router's ID for the message
|
void |
setNonce(long nonce)
This is the client's ID for the message
|
void |
setSessionId(long id) |
void |
setSize(long size) |
void |
setStatus(int status) |
String |
toString() |
void |
writeMessage(OutputStream out)
Override to reduce mem churn
|
readBytes, readMessage, 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
public static final int STATUS_AVAILABLE
public static final int STATUS_SEND_ACCEPTED
public static final int STATUS_SEND_BEST_EFFORT_SUCCESS
public static final int STATUS_SEND_BEST_EFFORT_FAILURE
public static final int STATUS_SEND_GUARANTEED_SUCCESS
public static final int STATUS_SEND_GUARANTEED_FAILURE
public static final int STATUS_SEND_SUCCESS_LOCAL
public static final int STATUS_SEND_FAILURE_LOCAL
public static final int STATUS_SEND_FAILURE_ROUTER
public static final int STATUS_SEND_FAILURE_NETWORK
public static final int STATUS_SEND_FAILURE_BAD_SESSION
public static final int STATUS_SEND_FAILURE_BAD_MESSAGE
public static final int STATUS_SEND_FAILURE_BAD_OPTIONS
public static final int STATUS_SEND_FAILURE_OVERFLOW
public static final int STATUS_SEND_FAILURE_EXPIRED
public static final int STATUS_SEND_FAILURE_LOCAL_LEASESET
public static final int STATUS_SEND_FAILURE_NO_TUNNELS
public static final int STATUS_SEND_FAILURE_UNSUPPORTED_ENCRYPTION
public static final int STATUS_SEND_FAILURE_DESTINATION
public static final int STATUS_SEND_FAILURE_BAD_LEASESET
public static final int STATUS_SEND_FAILURE_EXPIRED_LEASESET
public static final int STATUS_SEND_FAILURE_NO_LEASESET
public long getSessionId()
public SessionId sessionId()
sessionId
in interface I2CPMessage
sessionId
in class I2CPMessageImpl
public void setSessionId(long id)
id
- 0-65535public int getStatus()
public void setStatus(int status)
status
- 0-255public boolean isSuccessful()
public static boolean isSuccessful(int status)
public long getMessageId()
public void setMessageId(long id)
public long getSize()
public void setSize(long size)
public long getNonce()
public void setNonce(long nonce)
public static final String getStatusString(int status)
protected void doReadMessage(InputStream in, int size) throws I2CPMessageException, IOException
I2CPMessageImpl
doReadMessage
in class I2CPMessageImpl
in
- InputStreamsize
- payload sizeI2CPMessageException
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.protected byte[] doWriteMessage() throws I2CPMessageException, IOException
I2CPMessageImpl
doWriteMessage
in class I2CPMessageImpl
I2CPMessageException
IOException
public int getType()
I2CPMessage