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
Fields Modifier and Type Field Description protected OutgoingDelivery
delivery
protected static AtomicReferenceFieldUpdater<ClientTrackable,DeliveryState>
REMOTEL_DELIVERY_STATE_UPDATER
protected static AtomicIntegerFieldUpdater<ClientTrackable>
REMOTELY_SETTLED_UPDATER
protected SenderType
sender
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description TrackerType
awaitAccepted()
TrackerType
awaitAccepted(long timeout, TimeUnit unit)
TrackerType
awaitSettlement()
TrackerType
awaitSettlement(long timeout, TimeUnit unit)
TrackerType
disposition(DeliveryState state, boolean settle)
boolean
remoteSettled()
DeliveryState
remoteState()
protected abstract TrackerType
self()
TrackerType
settle()
boolean
settled()
ClientFuture<TrackerType>
settlementFuture()
DeliveryState
state()
-
-
-
Field Detail
-
sender
protected final SenderType extends ClientSenderLinkType<?> sender
-
delivery
protected final OutgoingDelivery delivery
-
REMOTELY_SETTLED_UPDATER
protected static final AtomicIntegerFieldUpdater<ClientTrackable> REMOTELY_SETTLED_UPDATER
-
REMOTEL_DELIVERY_STATE_UPDATER
protected static final AtomicReferenceFieldUpdater<ClientTrackable,DeliveryState> REMOTEL_DELIVERY_STATE_UPDATER
-
-
Method Detail
-
self
protected abstract TrackerType self()
-
state
public DeliveryState state()
-
remoteState
public DeliveryState remoteState()
-
remoteSettled
public boolean remoteSettled()
-
disposition
public TrackerType disposition(DeliveryState state, boolean settle) throws ClientException
- Throws:
ClientException
-
settle
public TrackerType settle() throws ClientException
- Throws:
ClientException
-
settled
public boolean settled()
-
settlementFuture
public ClientFuture<TrackerType> settlementFuture()
-
awaitSettlement
public TrackerType awaitSettlement() throws ClientException
- Throws:
ClientException
-
awaitSettlement
public TrackerType awaitSettlement(long timeout, TimeUnit unit) throws ClientException
- Throws:
ClientException
-
awaitAccepted
public TrackerType awaitAccepted() throws ClientException
- Throws:
ClientException
-
awaitAccepted
public TrackerType awaitAccepted(long timeout, TimeUnit unit) throws ClientException
- Throws:
ClientException
-
-