Class ClientNoOpStreamTracker

  • All Implemented Interfaces:
    StreamTracker

    public final class ClientNoOpStreamTracker
    extends java.lang.Object
    implements StreamTracker
    A dummy Tracker instance that always indicates remote settlement and acceptance for StreamSender instances.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      StreamTracker awaitAccepted()
      Waits if necessary for the remote to settle the sent delivery with an Accepted disposition unless it has either already been settled and accepted or the original delivery was sent settled in which case the remote will not send a Disposition back.
      StreamTracker awaitAccepted​(long timeout, java.util.concurrent.TimeUnit unit)
      Waits if necessary for the remote to settle the sent delivery with an Accepted disposition unless it has either already been settled and accepted or the original delivery was sent settled in which case the remote will not send a Disposition back.
      StreamTracker awaitSettlement()
      Waits if necessary for the remote to settle the sent delivery unless it has either already been settled or the original delivery was sent settled in which case the remote will not send a Disposition back.
      StreamTracker awaitSettlement​(long timeout, java.util.concurrent.TimeUnit unit)
      Waits if necessary for the remote to settle the sent delivery unless it has either already been settled or the original delivery was sent settled in which case the remote will not send a Disposition back.
      StreamTracker disposition​(DeliveryState state, boolean settle)
      Updates the DeliveryState, and optionally settle the delivery as well.
      boolean remoteSettled()
      Gets whether the delivery was settled by the remote peer yet.
      DeliveryState remoteState()
      Gets the current remote state for the tracked delivery.
      StreamSender sender()  
      StreamTracker settle()
      Settles the delivery locally, if not auto-settling.
      boolean settled()  
      java.util.concurrent.Future<StreamTracker> settlementFuture()
      Returns a future that can be used to wait for the remote to acknowledge receipt of a sent message by settling it.
      DeliveryState state()
      Gets the current local state for the tracked delivery.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • awaitSettlement

        public StreamTracker awaitSettlement()
                                      throws ClientException
        Description copied from interface: StreamTracker
        Waits if necessary for the remote to settle the sent delivery unless it has either already been settled or the original delivery was sent settled in which case the remote will not send a Disposition back.
        Specified by:
        awaitSettlement in interface StreamTracker
        Returns:
        this Tracker instance.
        Throws:
        ClientException - if an error occurs while awaiting the remote settlement.
      • awaitSettlement

        public StreamTracker awaitSettlement​(long timeout,
                                             java.util.concurrent.TimeUnit unit)
                                      throws ClientException
        Description copied from interface: StreamTracker
        Waits if necessary for the remote to settle the sent delivery unless it has either already been settled or the original delivery was sent settled in which case the remote will not send a Disposition back.
        Specified by:
        awaitSettlement in interface StreamTracker
        Parameters:
        timeout - the maximum time to wait for the remote to settle.
        unit - the time unit of the timeout argument.
        Returns:
        this Tracker instance.
        Throws:
        ClientException - if an error occurs while awaiting the remote settlement.
      • settled

        public boolean settled()
        Specified by:
        settled in interface StreamTracker
        Returns:
        true if the sent message has been locally settled.
      • state

        public DeliveryState state()
        Description copied from interface: StreamTracker
        Gets the current local state for the tracked delivery.
        Specified by:
        state in interface StreamTracker
        Returns:
        the delivery state
      • remoteSettled

        public boolean remoteSettled()
        Description copied from interface: StreamTracker
        Gets whether the delivery was settled by the remote peer yet.
        Specified by:
        remoteSettled in interface StreamTracker
        Returns:
        whether the delivery is remotely settled
      • settlementFuture

        public java.util.concurrent.Future<StreamTracker> settlementFuture()
        Description copied from interface: StreamTracker
        Returns a future that can be used to wait for the remote to acknowledge receipt of a sent message by settling it.
        Specified by:
        settlementFuture in interface StreamTracker
        Returns:
        a Future that can be used to wait on remote settlement.
      • awaitAccepted

        public StreamTracker awaitAccepted​(long timeout,
                                           java.util.concurrent.TimeUnit unit)
                                    throws ClientException
        Description copied from interface: StreamTracker
        Waits if necessary for the remote to settle the sent delivery with an Accepted disposition unless it has either already been settled and accepted or the original delivery was sent settled in which case the remote will not send a Disposition back.
        Specified by:
        awaitAccepted in interface StreamTracker
        Parameters:
        timeout - the maximum time to wait for the remote to settle.
        unit - the time unit of the timeout argument.
        Returns:
        this Tracker instance.
        Throws:
        ClientDeliveryStateException - if the remote sends a disposition other than Accepted.
        ClientException - if an error occurs while awaiting the remote settlement.