## net.i2p.data.i2cp
Class MessageStatusMessage

    java.lang.Object
      net.i2p.data.DataStructureImpl
          net.i2p.data.i2cp.I2CPMessageImpl
              net.i2p.data.i2cp.MessageStatusMessage

All Implemented Interfaces:
  DataStructure, I2CPMessage

    public class MessageStatusMessage

extends I2CPMessageImpl

Defines the message a client sends to a router when destroying existing session.

Author:
  jrandom

Field Summary
`static int` `MESSAGE_TYPE`
`static int` `STATUS_AVAILABLE`
`static int` `STATUS_SEND_ACCEPTED`
`static int` `STATUS_SEND_BEST_EFFORT_FAILURE`
`static int` `STATUS_SEND_BEST_EFFORT_SUCCESS`
`static int` `STATUS_SEND_GUARANTEED_FAILURE`
`static int` `STATUS_SEND_GUARANTEED_SUCCESS`

Constructor Summary
`MessageStatusMessage()`

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()`
`long` `getNonce()`
`long` `getSessionId()`
`long` `getSize()`
`int` `getStatus()`
`static java.lang.String` `getStatusString(int status)`
`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` `setNonce(long nonce)`
`void` `setSessionId(long id)`
`void` `setSize(long size)`
`void` `setStatus(int status)`
`java.lang.String` `toString()`
`void` `writeMessage(java.io.OutputStream out)` Override to reduce mem churn

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

### STATUS_AVAILABLE

    public static final int STATUS_AVAILABLE

See Also:
  Constant Field Values

### STATUS_SEND_ACCEPTED

    public static final int STATUS_SEND_ACCEPTED

See Also:
  Constant Field Values

### STATUS_SEND_BEST_EFFORT_SUCCESS

    public static final int STATUS_SEND_BEST_EFFORT_SUCCESS

See Also:
  Constant Field Values

### STATUS_SEND_BEST_EFFORT_FAILURE

    public static final int STATUS_SEND_BEST_EFFORT_FAILURE

See Also:
  Constant Field Values

### STATUS_SEND_GUARANTEED_SUCCESS

    public static final int STATUS_SEND_GUARANTEED_SUCCESS

See Also:
  Constant Field Values

### STATUS_SEND_GUARANTEED_FAILURE

    public static final int STATUS_SEND_GUARANTEED_FAILURE

See Also:
  Constant Field Values

Constructor Detail

### MessageStatusMessage

    public MessageStatusMessage()

Method Detail

### getSessionId

    public long getSessionId()

### setSessionId

    public void setSessionId(long id)

### getStatus

    public int getStatus()

### setStatus

    public void setStatus(int status)

### getMessageId

    public long getMessageId()

### setMessageId

    public void setMessageId(long id)

### getSize

    public long getSize()

### setSize

    public void setSize(long size)

### getNonce

    public long getNonce()

### setNonce

    public void setNonce(long nonce)

### getStatusString

    public static final java.lang.String getStatusString(int status)

### 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`

### writeMessage

    public void writeMessage(java.io.OutputStream out)
                      throws I2CPMessageException,
                             java.io.IOException

  Override to reduce mem churn

  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

### 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`

### 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`