Class MultiTargetRequest<T>
java.lang.Object
java.util.concurrent.CompletableFuture<T>
org.infinispan.remoting.transport.AbstractRequest<T>
org.infinispan.remoting.transport.impl.ExclusiveTargetRequest<T>
org.infinispan.remoting.transport.impl.MultiTargetRequest<T>
- All Implemented Interfaces:
Callable<Void>,CompletionStage<T>,Future<T>,Request<T>
- Direct Known Subclasses:
StaggeredRequest
Request implementation that waits for responses from multiple target nodes.
- Since:
- 9.1
- Author:
- Dan Berindei
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.concurrent.CompletableFuture
CompletableFuture.AsynchronousCompletionTask -
Field Summary
Fields inherited from class org.infinispan.remoting.transport.AbstractRequest
repository, requestId, responseCollectorFields inherited from interface org.infinispan.remoting.transport.impl.Request
NO_REQUEST_ID -
Constructor Summary
ConstructorsConstructorDescriptionMultiTargetRequest(ResponseCollector<T> responseCollector, long requestId, RequestRepository repository, Collection<Address> targets, Address excluded, JGroupsMetricsManager metricsCollector) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidactualOnResponse(Address sender, Response response) protected voidprotected booleanactualOnView(Set<Address> members) protected RequestTrackergetTarget(int i) protected intMethods inherited from class org.infinispan.remoting.transport.impl.ExclusiveTargetRequest
onNewView, onResponse, onTimeoutMethods inherited from class org.infinispan.remoting.transport.AbstractRequest
call, cancel, cancel, complete, completeExceptionally, getRequestId, getTimeoutMs, setTimeoutMethods inherited from class java.util.concurrent.CompletableFuture
acceptEither, acceptEitherAsync, acceptEitherAsync, allOf, anyOf, applyToEither, applyToEitherAsync, applyToEitherAsync, completeAsync, completeAsync, completedFuture, completedStage, completeOnTimeout, copy, defaultExecutor, delayedExecutor, delayedExecutor, exceptionally, exceptionallyAsync, exceptionallyAsync, exceptionallyCompose, exceptionallyComposeAsync, exceptionallyComposeAsync, failedFuture, failedStage, get, get, getNow, getNumberOfDependents, handle, handleAsync, handleAsync, isCancelled, isCompletedExceptionally, isDone, join, minimalCompletionStage, newIncompleteFuture, obtrudeException, obtrudeValue, orTimeout, runAfterBoth, runAfterBothAsync, runAfterBothAsync, runAfterEither, runAfterEitherAsync, runAfterEitherAsync, runAsync, runAsync, supplyAsync, supplyAsync, thenAccept, thenAcceptAsync, thenAcceptAsync, thenAcceptBoth, thenAcceptBothAsync, thenAcceptBothAsync, thenApply, thenApplyAsync, thenApplyAsync, thenCombine, thenCombineAsync, thenCombineAsync, thenCompose, thenComposeAsync, thenComposeAsync, thenRun, thenRunAsync, thenRunAsync, toCompletableFuture, toString, whenComplete, whenCompleteAsync, whenCompleteAsyncMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.concurrent.CompletionStage
acceptEither, acceptEitherAsync, acceptEitherAsync, applyToEither, applyToEitherAsync, applyToEitherAsync, exceptionally, exceptionallyAsync, exceptionallyAsync, exceptionallyCompose, exceptionallyComposeAsync, exceptionallyComposeAsync, handle, handleAsync, handleAsync, runAfterBoth, runAfterBothAsync, runAfterBothAsync, runAfterEither, runAfterEitherAsync, runAfterEitherAsync, thenAccept, thenAcceptAsync, thenAcceptAsync, thenAcceptBoth, thenAcceptBothAsync, thenAcceptBothAsync, thenApply, thenApplyAsync, thenApplyAsync, thenCombine, thenCombineAsync, thenCombineAsync, thenCompose, thenComposeAsync, thenComposeAsync, thenRun, thenRunAsync, thenRunAsync, toCompletableFuture, whenComplete, whenCompleteAsync, whenCompleteAsync
-
Constructor Details
-
MultiTargetRequest
public MultiTargetRequest(ResponseCollector<T> responseCollector, long requestId, RequestRepository repository, Collection<Address> targets, Address excluded, JGroupsMetricsManager metricsCollector)
-
-
Method Details
-
getTargetsSize
protected int getTargetsSize() -
getTarget
- Returns:
- target
i, ornullif a response was already added for targeti.
-
actualOnResponse
- Specified by:
actualOnResponsein classExclusiveTargetRequest<T>
-
actualOnView
- Specified by:
actualOnViewin classExclusiveTargetRequest<T>
-
actualOnTimeout
protected void actualOnTimeout()- Specified by:
actualOnTimeoutin classExclusiveTargetRequest<T>
-