Class ClientTrackable<SenderType extends ClientSenderLinkType<?>,TrackerType>
java.lang.Object
org.apache.qpid.protonj2.client.impl.ClientTrackable<SenderType,TrackerType>
- Type Parameters:
SenderType
- The client sender type that created this trackerTrackerType
- The actual type of tracker that is being implemented
- Direct Known Subclasses:
ClientStreamTracker
,ClientTracker
public abstract class ClientTrackable<SenderType extends ClientSenderLinkType<?>,TrackerType>
extends Object
Base type used to provide some common plumbing for Tracker types
-
Field Summary
Modifier and TypeFieldDescriptionprotected final OutgoingDelivery
protected static final AtomicReferenceFieldUpdater
<ClientTrackable, DeliveryState> protected static final AtomicIntegerFieldUpdater
<ClientTrackable> protected final SenderType
-
Method Summary
Modifier and TypeMethodDescriptionawaitAccepted
(long timeout, TimeUnit unit) awaitSettlement
(long timeout, TimeUnit unit) disposition
(DeliveryState state, boolean settle) boolean
protected abstract TrackerType
self()
settle()
boolean
settled()
state()
-
Field Details
-
sender
-
delivery
-
REMOTELY_SETTLED_UPDATER
-
REMOTEL_DELIVERY_STATE_UPDATER
protected static final AtomicReferenceFieldUpdater<ClientTrackable,DeliveryState> REMOTEL_DELIVERY_STATE_UPDATER
-
-
Method Details
-
self
-
state
-
remoteState
-
remoteSettled
public boolean remoteSettled() -
disposition
- Throws:
ClientException
-
settle
- Throws:
ClientException
-
settled
public boolean settled() -
settlementFuture
-
awaitSettlement
- Throws:
ClientException
-
awaitSettlement
- Throws:
ClientException
-
awaitAccepted
- Throws:
ClientException
-
awaitAccepted
- Throws:
ClientException
-