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 OutgoingDeliverydeliveryprotected static AtomicReferenceFieldUpdater<ClientTrackable,DeliveryState>REMOTEL_DELIVERY_STATE_UPDATERprotected static AtomicIntegerFieldUpdater<ClientTrackable>REMOTELY_SETTLED_UPDATERprotected SenderTypesender
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description TrackerTypeawaitAccepted()TrackerTypeawaitAccepted(long timeout, TimeUnit unit)TrackerTypeawaitSettlement()TrackerTypeawaitSettlement(long timeout, TimeUnit unit)TrackerTypedisposition(DeliveryState state, boolean settle)booleanremoteSettled()DeliveryStateremoteState()protected abstract TrackerTypeself()TrackerTypesettle()booleansettled()ClientFuture<TrackerType>settlementFuture()DeliveryStatestate()
-
-
-
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
-
-