Class BalancedClientFuture<V>
- java.lang.Object
-
- org.apache.qpid.protonj2.client.futures.ClientFuture<V>
-
- org.apache.qpid.protonj2.client.futures.BalancedClientFuture<V>
-
- Type Parameters:
V
- The type that result from completion of this Future
- All Implemented Interfaces:
java.util.concurrent.Future<V>
,AsyncResult<V>
public class BalancedClientFuture<V> extends ClientFuture<V>
A more balanced implementation of a ClientFuture that works better on some platforms such as windows where the thread park and atomic operations used by a more aggressive implementation could result in poor performance.
-
-
Field Summary
-
Fields inherited from class org.apache.qpid.protonj2.client.futures.ClientFuture
CANCELLED, COMPLETING, error, FAILURE, INCOMPLETE, result, STATE_FIELD_UPDATER, SUCCESS, synchronization, waiting
-
-
Constructor Summary
Constructors Constructor Description BalancedClientFuture()
Create a newBalancedClientFuture
instance with no assignedClientSynchronization
.BalancedClientFuture(ClientSynchronization<V> synchronization)
Create a newBalancedClientFuture
instance with the assignedClientSynchronization
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description V
get()
V
get(long amount, java.util.concurrent.TimeUnit unit)
-
Methods inherited from class org.apache.qpid.protonj2.client.futures.ClientFuture
cancel, complete, failed, getResult, getState, isCancelled, isComplete, isDone, isFailed, isNotComplete, tryCancelTask
-
-
-
-
Constructor Detail
-
BalancedClientFuture
public BalancedClientFuture()
Create a newBalancedClientFuture
instance with no assignedClientSynchronization
.
-
BalancedClientFuture
public BalancedClientFuture(ClientSynchronization<V> synchronization)
Create a newBalancedClientFuture
instance with the assignedClientSynchronization
.- Parameters:
synchronization
- theClientSynchronization
that should be notified upon completion of this future.
-
-
Method Detail
-
get
public V get(long amount, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutException
- Specified by:
get
in interfacejava.util.concurrent.Future<V>
- Specified by:
get
in classClientFuture<V>
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
java.util.concurrent.TimeoutException
-
get
public V get() throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
- Specified by:
get
in interfacejava.util.concurrent.Future<V>
- Specified by:
get
in classClientFuture<V>
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
-
-