Module io.github.bucket4j.core
Interface AsyncProxyManager<K>
-
- Type Parameters:
K- type of primary key
- All Known Implementing Classes:
AsyncProxyManagerView
public interface AsyncProxyManager<K>The asynchronous equivalent ofProxyManager.- See Also:
AsyncBucketProxy,ProxyManager
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description RemoteAsyncBucketBuilder<K>builder()Creates new instance ofRemoteAsyncBucketBuilderdefault AsyncBucketProxygetProxy(K key, Supplier<CompletableFuture<BucketConfiguration>> configurationSupplier)Creates bucket-proxy that configured by default parameters that set on proxy-manager level.CompletableFuture<Optional<BucketConfiguration>>getProxyConfiguration(K key)Asynchronously locates configuration of bucket which actually stored in the underlying storage.CompletableFuture<Void>removeProxy(K key)Asynchronously removes persisted state of bucket from underlying storage.default <K1> AsyncProxyManager<K1>withMapper(Function<? super K1,? extends K> mapper)Returns a proxy object that wraps this AsyncProxyManager such that keys are first mapped using the specified mapping function before being sent to the remote store.
-
-
-
Method Detail
-
getProxy
default AsyncBucketProxy getProxy(K key, Supplier<CompletableFuture<BucketConfiguration>> configurationSupplier)
Creates bucket-proxy that configured by default parameters that set on proxy-manager level.In case if you need to configure something special for bucket like implicit config replacement you should to use
builder()instead of this method.- Parameters:
key- the key that used in external storage to distinguish one bucket from another.configurationSupplier- provider for bucket configuration- Returns:
- new instance of
AsyncBucketProxy
-
builder
RemoteAsyncBucketBuilder<K> builder()
Creates new instance ofRemoteAsyncBucketBuilderUse this method only if you need to create bucket with parameters that can not be specified via
AbstractProxyManagerBuilder, otherwise prefergetProxy(Object, Supplier)- Returns:
- new instance of
RemoteAsyncBucketBuilder
-
removeProxy
CompletableFuture<Void> removeProxy(K key)
Asynchronously removes persisted state of bucket from underlying storage.- Parameters:
key- the primary key of bucket which state need to be removed from underlying storage.- Returns:
- the future that will be completed after deletion
-
getProxyConfiguration
CompletableFuture<Optional<BucketConfiguration>> getProxyConfiguration(K key)
Asynchronously locates configuration of bucket which actually stored in the underlying storage.- Parameters:
key- the unique identifier used to point to the bucket in external storage.- Returns:
- The future that completed by optional surround the configuration or empty optional if bucket with specified key is not stored.
-
withMapper
default <K1> AsyncProxyManager<K1> withMapper(Function<? super K1,? extends K> mapper)
Returns a proxy object that wraps this AsyncProxyManager such that keys are first mapped using the specified mapping function before being sent to the remote store. The returned AsyncProxyManager shares the same underlying store as the original, and keys that map to the same value will share the same remote state.- Type Parameters:
K1- the type of key accepted by returned AsyncProxyManager- Parameters:
mapper- the mapper function to apply to keys- Returns:
- a proxy object that wraps this AsyncProxyManager
-
-