net.i2p.client

## Class SendMessageOptions

- java.lang.Object
- - net.i2p.data.DataStructureImpl
  - - net.i2p.data.DateAndFlags
    - - net.i2p.client.SendMessageOptions

- All Implemented Interfaces:
    Serializable, DataStructure

      public class SendMessageOptions
      extends DateAndFlags

  Advanced options attached to a single outgoing I2CP message. Note that the packing of options into the 16-bit flags field is is subject to change. Therefore, for now, this is only recommended within RouterContext. Static methods are for OutboundClientMessageOneShotJob to decode the flags field on the router side. GzipOption flags are as of 0.9.36, are client-side only, and are not included in the flags field or sent to the router.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `SendMessageOptions.GzipOption` Overrides i2cp.gzip session option and size threshold for this message only.
    `static class` | `SendMessageOptions.Reliability` Reliability bits 9-10

  - ### Field Summary

    - ### Fields inherited from class net.i2p.data.DateAndFlags

      `_flags`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SendMessageOptions()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `SendMessageOptions.GzipOption` | `getGzip()` Overrides i2cp.gzip session option and size threshold for this message only.
    `SendMessageOptions.Reliability` | `getReliability()` default Reliability.DEFAULT
    `static SendMessageOptions.Reliability` | `getReliability(int flags)` default Reliability.DEFAULT
    `boolean` | `getSendLeaseSet()` default true
    `static boolean` | `getSendLeaseSet(int flags)` default true
    `int` | `getTagsToSend()` If we are low on tags, send this many.
    `static int` | `getTagsToSend(int flags)` If we are low on tags, send this many.
    `int` | `getTagThreshold()` Low tag threshold.
    `static int` | `getTagThreshold(int flags)` Low tag threshold.
    `void` | `setGzip(boolean yes)` Overrides i2cp.gzip session option and size threshold for this message only.
    `void` | `setReliability(SendMessageOptions.Reliability r)` default Reliability.DEFAULT
    `void` | `setSendLeaseSet(boolean yes)` default true
    `void` | `setTagsToSend(int tags)` If we are low on tags, send this many.
    `void` | `setTagThreshold(int tags)` Low tag threshold.

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

      `equals, fromByteArray, getDate, getFlags, getTime, hashCode, readBytes, setDate, setDate, setFlags, toByteArray, toString, writeBytes`

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

      `calculateHash, fromBase64, read, toBase64`

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

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

- - ### Constructor Detail

    - #### SendMessageOptions

          public SendMessageOptions()

  - ### Method Detail

    - #### getGzip

          public SendMessageOptions.GzipOption getGzip()

      Overrides i2cp.gzip session option and size threshold for this message only.
      Returns:
        non-null, DEFAULT unless setGzip() was called

    - #### getReliability

          public SendMessageOptions.Reliability getReliability()

      default Reliability.DEFAULT

    - #### getReliability

          public static SendMessageOptions.Reliability getReliability(int flags)

      default Reliability.DEFAULT

    - #### getSendLeaseSet

          public boolean getSendLeaseSet()

      default true

    - #### getSendLeaseSet

          public static boolean getSendLeaseSet(int flags)

      default true

    - #### getTagsToSend

          public int getTagsToSend()

      If we are low on tags, send this many.
      Returns:
        default 0, meaning unset, use the SKM config (default 40)

    - #### getTagsToSend

          public static int getTagsToSend(int flags)

      If we are low on tags, send this many.
      Returns:
        default 0, meaning unset, use the SKM config (default 40)

    - #### getTagThreshold

          public int getTagThreshold()

      Low tag threshold. If less than this many, send more.
      Returns:
        default 0, meaning unset, use the SKM config (default 30)

    - #### getTagThreshold

          public static int getTagThreshold(int flags)

      Low tag threshold. If less than this many, send more.
      Returns:
        default 0, meaning unset, use the SKM config (default 30)

    - #### setGzip

          public void setGzip(boolean yes)

      Overrides i2cp.gzip session option and size threshold for this message only.

    - #### setReliability

          public void setReliability(SendMessageOptions.Reliability r)

      default Reliability.DEFAULT

    - #### setSendLeaseSet

          public void setSendLeaseSet(boolean yes)

      default true

    - #### setTagsToSend

          public void setTagsToSend(int tags)

      If we are low on tags, send this many. Power of 2 recommended - rounds down. default 0, meaning unset, use the SKM config (default 40)
      Parameters:
        `tags` - 0 or 2 to 128

    - #### setTagThreshold

          public void setTagThreshold(int tags)

      Low tag threshold. If less than this many, send more. Power of 2 recommended - rounds down. default 0, meaning unset, use the SKM config (default 30)
      Parameters:
        `tags` - 0 to 90