Class SenderOptions

java.lang.Object
org.apache.qpid.protonj2.client.LinkOptions<SenderOptions>
org.apache.qpid.protonj2.client.SenderOptions
All Implemented Interfaces:
Cloneable

public class SenderOptions extends LinkOptions<SenderOptions> implements Cloneable
Options that control the behavior of a Sender created from them.
  • Constructor Details

    • SenderOptions

      public SenderOptions()
      Create a new SenderOptions instance configured with default configuration settings.
    • SenderOptions

      public SenderOptions(SenderOptions options)
      Create a new SenderOptions instance that copies the configuration from the specified source options.
      Parameters:
      options - The SenderOptions instance whose settings are to be copied into this one.
  • Method Details

    • sendTimeout

      public long sendTimeout()
      Returns:
      the timeout used when awaiting a response from the remote when a resource is message send.
    • sendTimeout

      public SenderOptions sendTimeout(long sendTimeout)
      Configures the timeout used when awaiting a send operation to complete. A send will block if the remote has not granted the Sender or the Session credit to do so, if the send blocks for longer than this timeout the send call will fail with an ClientSendTimedOutException exception to indicate that the send did not complete.
      Parameters:
      sendTimeout - Timeout value in milliseconds to wait for a remote response.
      Returns:
      this SenderOptions instance.
    • sendTimeout

      public SenderOptions sendTimeout(long timeout, TimeUnit units)
      Configures the timeout used when awaiting a send operation to complete. A send will block if the remote has not granted the Sender or the Session credit to do so, if the send blocks for longer than this timeout the send call will fail with an ClientSendTimedOutException exception to indicate that the send did not complete.
      Parameters:
      timeout - Timeout value to wait for a remote response.
      units - The TimeUnit that defines the timeout span.
      Returns:
      this SenderOptions instance.
    • clone

      public SenderOptions clone()
      Overrides:
      clone in class Object
    • copyInto

      protected SenderOptions copyInto(SenderOptions other)
      Copy all options from this SenderOptions instance into the instance provided.
      Parameters:
      other - the target of this copy operation.
      Returns:
      the SenderOptions instance that was given.
    • deliveryTagGeneratorSupplier

      public SenderOptions deliveryTagGeneratorSupplier(Supplier<DeliveryTagGenerator> supplier)
      Configures a Supplier which provides unique instances of DeliveryTagGenerator objects for any Sender created using these options.

      The client sender will use a default DeliveryTagGenerator under normal circumstances and the user is not required to configure a Supplier. In some cases where the user is communicating with a system that requires a specific format of delivery tag this option allows use of a custom generator. The caller is responsible for providing a supplier that will create a unique instance of a tag generator as they are not meant to be shared amongst senders. Once a sender has been created the tag generator it uses cannot be changed so future calls to this method will not affect previously created Sender instances.

      Parameters:
      supplier - The Supplier of DeliveryTagGenerator instances.
      Returns:
      the SenderOptions instance that was given.
    • deliveryTagGeneratorSupplier

      public Supplier<DeliveryTagGenerator> deliveryTagGeneratorSupplier()
      Returns:
      the configured delivery tag Supplier or null if none was set.
    • self

      protected SenderOptions self()
      Specified by:
      self in class LinkOptions<SenderOptions>
      Returns:
      the true derived type instance for use in this class.