net.i2p.data.i2cp

## Class DisconnectMessage

- java.lang.Object
- - net.i2p.data.DataStructureImpl
  - - net.i2p.data.i2cp.I2CPMessageImpl
    - - net.i2p.data.i2cp.DisconnectMessage

All Implemented Interfaces:
  DataStructure, I2CPMessage

    public class DisconnectMessage
    extends I2CPMessageImpl

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

Author:
  jrandom

### Field Summary

Fields
`static int` `MESSAGE_TYPE`

### Constructor Summary

Constructors
Constructor and Description
`DisconnectMessage()`

### Method Summary

Methods
`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)
`boolean` `equals(Object object)`
`String` `getReason()`
`int` `getType()` Return the unique identifier for this type of APIMessage, as specified in the network specification document under #ClientAccessLayerMessages
`void` `setReason(String reason)`
`String` `toString()`

### Methods inherited from class net.i2p.data.i2cp.I2CPMessageImpl

`readBytes, readMessage, readMessage, writeBytes, writeMessage`

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

### Constructor Detail

#### DisconnectMessage

    public DisconnectMessage()

### Method Detail

#### getReason

    public String getReason()

#### setReason

    public void setReason(String reason)

#### doReadMessage

    protected void doReadMessage(InputStream in,
                     int size)
                          throws I2CPMessageException,
                                 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`
Parameters:
  `in` - InputStream
  `size` - payload size
Throws:
  `I2CPMessageException`
  `IOException`

#### doWriteMessage

    protected byte[] doWriteMessage()
                             throws I2CPMessageException,
                                    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`
Returns:
  byte array
Throws:
  `I2CPMessageException`
  `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

Returns:
  unique identifier for this type of APIMessage

#### equals

    public boolean equals(Object object)

Overrides:
  `equals` in class `Object`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`