Class CompletedOperationCache<K extends OperationKey,R extends Serializable>
- java.lang.Object
-
- org.apache.flink.runtime.rest.handler.async.CompletedOperationCache<K,R>
-
- All Implemented Interfaces:
AutoCloseable,org.apache.flink.util.AutoCloseableAsync
@ThreadSafe public class CompletedOperationCache<K extends OperationKey,R extends Serializable> extends Object implements org.apache.flink.util.AutoCloseableAsync
Cache to manage ongoing operations.The cache allows to register ongoing operations by calling
#registerOngoingOperation(K, CompletableFuture), where theCompletableFuturecontains the operation result. Completed operations will be removed from the cache automatically after a fixed timeout.
-
-
Constructor Summary
Constructors Constructor Description CompletedOperationCache(Duration cacheDuration)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CompletableFuture<Void>closeAsync()booleancontainsOperation(K operationKey)Returns whether this cache contains an operation under the given operation key.Optional<OperationResult<R>>get(K operationKey)Returns an optional containing theOperationResultfor the specified key, or an empty optional if no operation is registered under the key.voidregisterOngoingOperation(K operationKey, CompletableFuture<R> operationResultFuture)Registers an ongoing operation with the cache.
-
-
-
Constructor Detail
-
CompletedOperationCache
public CompletedOperationCache(Duration cacheDuration)
-
-
Method Detail
-
registerOngoingOperation
public void registerOngoingOperation(K operationKey, CompletableFuture<R> operationResultFuture)
Registers an ongoing operation with the cache.- Parameters:
operationResultFuture- A future containing the operation result.- Throws:
IllegalStateException- if the cache is already shutting down
-
containsOperation
public boolean containsOperation(K operationKey)
Returns whether this cache contains an operation under the given operation key.
-
get
public Optional<OperationResult<R>> get(K operationKey)
Returns an optional containing theOperationResultfor the specified key, or an empty optional if no operation is registered under the key.
-
closeAsync
public CompletableFuture<Void> closeAsync()
- Specified by:
closeAsyncin interfaceorg.apache.flink.util.AutoCloseableAsync
-
-