Package io.tarantool.driver.core
Class RequestFutureManager
- java.lang.Object
-
- io.tarantool.driver.core.RequestFutureManager
-
- All Implemented Interfaces:
AutoCloseable
public class RequestFutureManager extends Object implements AutoCloseable
Keeps track of submitted requests, finishing them by timeout and allowing asynchronous request processing
-
-
Constructor Summary
Constructors Constructor Description RequestFutureManager(TarantoolClientConfig config, ScheduledExecutorService timeoutScheduler)Basic constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()TarantoolRequestMetadatagetRequest(Long requestId)Get a request me instance bound to the passed request ID<T> CompletableFuture<T>submitRequest(TarantoolRequest request, int requestTimeout, MessagePackValueMapper resultMapper)Submit a request ID for tracking.<T> CompletableFuture<T>submitRequest(TarantoolRequest request, MessagePackValueMapper resultMapper)Submit a request ID for tracking.
-
-
-
Constructor Detail
-
RequestFutureManager
public RequestFutureManager(TarantoolClientConfig config, ScheduledExecutorService timeoutScheduler)
Basic constructor.- Parameters:
config- tarantool client configurationtimeoutScheduler- scheduled executor for handling request timeouts
-
-
Method Detail
-
submitRequest
public <T> CompletableFuture<T> submitRequest(TarantoolRequest request, MessagePackValueMapper resultMapper)
Submit a request ID for tracking. Provides aCompletableFuturefor tracking the request completion. The request timeout is taken from the client configuration- Type Parameters:
T- target response body type- Parameters:
request- request to Tarantool serverresultMapper- result message entity-to-object mapper- Returns:
CompletableFuturethat completes when a response is received from Tarantool server
-
submitRequest
public <T> CompletableFuture<T> submitRequest(TarantoolRequest request, int requestTimeout, MessagePackValueMapper resultMapper)
Submit a request ID for tracking. Provides aCompletableFuturefor tracking the request completion. The request timeout is taken from the client configuration- Type Parameters:
T- target response body type- Parameters:
request- request to Tarantool serverrequestTimeout- timeout after which the request will be automatically failed, millisecondsresultMapper- result message entity-to-object mapper- Returns:
CompletableFuturethat completes when a response is received from Tarantool server
-
getRequest
public TarantoolRequestMetadata getRequest(Long requestId)
Get a request me instance bound to the passed request ID- Parameters:
requestId- ID of a request to Tarantool server (sync ID)- Returns:
CompletableFuturethat completes when a response is received from Tarantool server
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable
-
-