net.i2p.data.i2np

## Class DeliveryStatusMessage

- java.lang.Object
- - net.i2p.data.DataStructureImpl
  - - net.i2p.data.i2np.I2NPMessageImpl
    - - net.i2p.data.i2np.DeliveryStatusMessage

All Implemented Interfaces:
  DataStructure, I2NPMessage

    public class DeliveryStatusMessage
    extends I2NPMessageImpl

Defines the message sent back in reply to a message when requested, containing the private ack id.

Author:
  jrandom

### Nested Class Summary

### Nested classes/interfaces inherited from class net.i2p.data.i2np.I2NPMessageImpl

`I2NPMessageImpl.Builder`

### Field Summary

Fields
`static int` `MESSAGE_TYPE`

### Fields inherited from class net.i2p.data.i2np.I2NPMessageImpl

`_context, CHECKSUM_LENGTH, DEFAULT_EXPIRATION_MS`

### Fields inherited from interface net.i2p.data.i2np.I2NPMessage

`MAX_ID_VALUE, MAX_SIZE`

### Constructor Summary

Constructors
Constructor and Description
`DeliveryStatusMessage(I2PAppContext context)`

### Method Summary

Methods
`protected int` `calculateWrittenLength()` calculate the message body's length (not including the header and footer
`boolean` `equals(Object object)`
`long` `getArrival()`
`long` `getMessageId()`
`int` `getType()` Return the unique identifier for this type of I2NP message, as defined in the I2NP spec
`int` `hashCode()`
`void` `readMessage(byte[] data, int offset, int dataSize, int type)` Read the body into the data structures, after the initial type byte and the uniqueId / expiration, using the current class's format as defined by the I2NP specification
`void` `setArrival(long arrival)`
`void` `setMessageId(long id)`
`String` `toString()`
`protected int` `writeMessageBody(byte[] out, int curIndex)` write the message body to the output array, starting at the given index

### Methods inherited from class net.i2p.data.i2np.I2NPMessageImpl

`createMessage, fromRawByteArray, getMessageExpiration, getMessageSize, getRawMessageSize, getUniqueId, readBytes, readBytes, readBytes, readMessage, registerBuilder, setMessageExpiration, setUniqueId, toByteArray, toByteArray, toRawByteArray, writeBytes`

### Methods inherited from class net.i2p.data.DataStructureImpl

`calculateHash, fromBase64, fromByteArray, read, toBase64`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface net.i2p.data.DataStructure

`calculateHash, fromBase64, fromByteArray, toBase64`

### Field Detail

#### MESSAGE_TYPE

    public static final int MESSAGE_TYPE

See Also:
  Constant Field Values

### Constructor Detail

#### DeliveryStatusMessage

    public DeliveryStatusMessage(I2PAppContext context)

### Method Detail

#### getMessageId

    public long getMessageId()

#### setMessageId

    public void setMessageId(long id)

#### getArrival

    public long getArrival()

#### setArrival

    public void setArrival(long arrival)

#### readMessage

    public void readMessage(byte[] data,
                   int offset,
                   int dataSize,
                   int type)
                     throws I2NPMessageException,
                            IOException

Description copied from interface: `I2NPMessage`
Read the body into the data structures, after the initial type byte and the uniqueId / expiration, using the current class's format as defined by the I2NP specification

Parameters:
  `data` - data to read from
  `offset` - where to start in the data array
  `dataSize` - how long into the data to read
  `type` - I2NP message type
Throws:
  `I2NPMessageException` - if the stream doesn't contain a valid message that this class can read.
  `IOException` - if there is a problem reading from the stream

#### calculateWrittenLength

    protected int calculateWrittenLength()

calculate the message body's length (not including the header and footer

Specified by:
  `calculateWrittenLength` in class `I2NPMessageImpl`

#### writeMessageBody

    protected int writeMessageBody(byte[] out,
                       int curIndex)
                            throws I2NPMessageException

write the message body to the output array, starting at the given index

Specified by:
  `writeMessageBody` in class `I2NPMessageImpl`
Returns:
  the index into the array after the last byte written
Throws:
  `I2NPMessageException`

#### getType

    public int getType()

Description copied from interface: `I2NPMessage`
Return the unique identifier for this type of I2NP message, as defined in the I2NP spec

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### equals

    public boolean equals(Object object)

Overrides:
  `equals` in class `Object`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`