Package org.jgroups.blocks
Class Request<T>
- java.lang.Object
-
- java.util.concurrent.CompletableFuture<T>
-
- org.jgroups.blocks.Request<T>
-
- All Implemented Interfaces:
java.util.concurrent.CompletionStage<T>,java.util.concurrent.Future<T>
- Direct Known Subclasses:
GroupRequest,UnicastRequest
public abstract class Request<T> extends java.util.concurrent.CompletableFuture<T>Abstract class for a unicast or multicast request- Author:
- Bela Ban
-
-
Field Summary
Fields Modifier and Type Field Description protected RequestCorrelatorcorrprotected RequestOptionsoptionsprotected longreq_idprotected longstart_time
-
Constructor Summary
Constructors Constructor Description Request(RequestCorrelator corr, RequestOptions options)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleancancel(boolean mayInterruptIfRunning)protected voidcorrDone()Texecute(Buffer data, boolean block_for_results)abstract voidreceiveResponse(java.lang.Object response_value, Address sender, boolean is_exception)longrequestId()Request<T>requestId(long req_id)abstract voidsendRequest(Buffer data)RequestsetResponseFilter(RspFilter filter)abstract voidsiteUnreachable(java.lang.String site)java.lang.StringtoString()abstract voidtransportClosed()abstract voidviewChange(View new_view, boolean handle_previous_subgroups)abstract TwaitForCompletion()abstract TwaitForCompletion(long timeout, java.util.concurrent.TimeUnit unit)Blocks until all responses have been received and returns result or throws exception-
Methods inherited from class java.util.concurrent.CompletableFuture
acceptEither, acceptEitherAsync, acceptEitherAsync, allOf, anyOf, applyToEither, applyToEitherAsync, applyToEitherAsync, complete, completeAsync, completeAsync, completedFuture, completedStage, completeExceptionally, completeOnTimeout, copy, defaultExecutor, delayedExecutor, delayedExecutor, exceptionally, 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, whenComplete, whenCompleteAsync, whenCompleteAsync
-
-
-
-
Field Detail
-
req_id
protected long req_id
-
corr
protected final RequestCorrelator corr
-
options
protected final RequestOptions options
-
start_time
protected long start_time
-
-
Constructor Detail
-
Request
public Request(RequestCorrelator corr, RequestOptions options)
-
-
Method Detail
-
requestId
public long requestId()
-
execute
public T execute(Buffer data, boolean block_for_results) throws java.lang.Exception
- Throws:
java.lang.Exception
-
sendRequest
public abstract void sendRequest(Buffer data) throws java.lang.Exception
- Throws:
java.lang.Exception
-
receiveResponse
public abstract void receiveResponse(java.lang.Object response_value, Address sender, boolean is_exception)
-
viewChange
public abstract void viewChange(View new_view, boolean handle_previous_subgroups)
-
siteUnreachable
public abstract void siteUnreachable(java.lang.String site)
-
transportClosed
public abstract void transportClosed()
-
waitForCompletion
public abstract T waitForCompletion(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.Exception
Blocks until all responses have been received and returns result or throws exception- Throws:
java.lang.Exception
-
waitForCompletion
public abstract T waitForCompletion() throws java.lang.Exception
- Throws:
java.lang.Exception
-
cancel
public boolean cancel(boolean mayInterruptIfRunning)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.util.concurrent.CompletableFuture<T>
-
corrDone
protected void corrDone()
-
-