net.i2p.data.i2np

## Class DeliveryInstructions

- java.lang.Object
- - net.i2p.data.DataStructureImpl
  - - net.i2p.data.i2np.DeliveryInstructions

- All Implemented Interfaces:
    DataStructure

      public class DeliveryInstructions
      extends DataStructureImpl

  Contains the delivery instructions
  Author:
    jrandom

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `DELIVERY_MODE_DESTINATION`
    `static int` | `DELIVERY_MODE_LOCAL`
    `static int` | `DELIVERY_MODE_ROUTER`
    `static int` | `DELIVERY_MODE_TUNNEL`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DeliveryInstructions()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object obj)`
    `boolean` | `getDelayRequested()`
    `long` | `getDelaySeconds()`
    `int` | `getDeliveryMode()`
    `Hash` | `getDestination()`
    `boolean` | `getEncrypted()`
    `SessionKey` | `getEncryptionKey()`
    `Hash` | `getRouter()`
    `int` | `getSize()`
    `TunnelId` | `getTunnelId()`
    `int` | `hashCode()`
    `int` | `readBytes(byte[] data, int offset)`
    `void` | `readBytes(InputStream in)` Load up the current object with data from the given stream.
    `void` | `setDelayRequested(boolean req)`
    `void` | `setDelaySeconds(long seconds)`
    `void` | `setDeliveryMode(int mode)`
    `void` | `setDestination(Hash dest)`
    `void` | `setEncrypted(boolean encrypted)`
    `void` | `setEncryptionKey(SessionKey key)`
    `void` | `setRouter(Hash router)`
    `void` | `setTunnelId(TunnelId id)`
    `String` | `toString()`
    `int` | `writeBytes(byte[] target, int offset)` return the number of bytes written to the target
    `void` | `writeBytes(OutputStream out)` Write out the data structure to the stream, using the format defined in the I2P data structure specification.

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

      `calculateHash, fromBase64, fromByteArray, read, toBase64, toByteArray`

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

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

- - ### Field Detail

    - #### DELIVERY_MODE_LOCAL

          public static final int DELIVERY_MODE_LOCAL

      See Also:
        Constant Field Values

    - #### DELIVERY_MODE_DESTINATION

          public static final int DELIVERY_MODE_DESTINATION

      See Also:
        Constant Field Values

    - #### DELIVERY_MODE_ROUTER

          public static final int DELIVERY_MODE_ROUTER

      See Also:
        Constant Field Values

    - #### DELIVERY_MODE_TUNNEL

          public static final int DELIVERY_MODE_TUNNEL

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### DeliveryInstructions

          public DeliveryInstructions()

  - ### Method Detail

    - #### getEncrypted

          public boolean getEncrypted()

    - #### setEncrypted

          public void setEncrypted(boolean encrypted)

    - #### getEncryptionKey

          public SessionKey getEncryptionKey()

    - #### setEncryptionKey

          public void setEncryptionKey(SessionKey key)

    - #### getDeliveryMode

          public int getDeliveryMode()

    - #### setDeliveryMode

          public void setDeliveryMode(int mode)

    - #### getDestination

          public Hash getDestination()

    - #### setDestination

          public void setDestination(Hash dest)

    - #### getRouter

          public Hash getRouter()

    - #### setRouter

          public void setRouter(Hash router)

    - #### getTunnelId

          public TunnelId getTunnelId()

    - #### setTunnelId

          public void setTunnelId(TunnelId id)

    - #### getDelayRequested

          public boolean getDelayRequested()

    - #### setDelayRequested

          public void setDelayRequested(boolean req)

    - #### getDelaySeconds

          public long getDelaySeconds()

    - #### setDelaySeconds

          public void setDelaySeconds(long seconds)

    - #### readBytes

          public void readBytes(InputStream in)
                         throws DataFormatException,
                                IOException

      Description copied from interface: `DataStructure`
      Load up the current object with data from the given stream. Data loaded this way must match the I2P data structure specification.
      Parameters:
        `in` - stream to read from
      Throws:
        `DataFormatException` - if the data is improperly formatted
        `IOException` - if there was a problem reading the stream

    - #### readBytes

          public int readBytes(byte[] data,
                      int offset)
                        throws DataFormatException

      Throws:
        `DataFormatException`

    - #### writeBytes

          public void writeBytes(OutputStream out)
                          throws DataFormatException,
                                 IOException

      Description copied from interface: `DataStructure`
      Write out the data structure to the stream, using the format defined in the I2P data structure specification.
      Parameters:
        `out` - stream to write to
      Throws:
        `DataFormatException` - if the data was incomplete or not yet ready to be written
        `IOException` - if there was a problem writing to the stream

    - #### writeBytes

          public int writeBytes(byte[] target,
                       int offset)

      return the number of bytes written to the target

    - #### getSize

          public int getSize()

    - #### equals

          public boolean equals(Object obj)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`