All Classes and Interfaces
Class
Description
The base class for proxy managers that built on top of idea that underlining storage provide transactions and locking.
AbstractJdbcProxyManagerBuilder<K,P extends ProxyManager<K>,B extends AbstractJdbcProxyManagerBuilder<K,P,B>>
Base class for all JDBC proxy-manager builders.
The base class for proxy managers that built on top of idea that underlining storage provide Compare-And-Swap functionality.
AbstractProxyManagerBuilder<K,P extends ProxyManager<K>,B extends AbstractProxyManagerBuilder<K,P,B>>
Base class for all proxy-manager builders.
The base class for proxy managers that built on top of idea that underlining storage provide Compare-And-Swap functionality.
Helper class for batching
Asynchronous analog of
BucketProxy.Describes the set of operations that
AbstractCompareAndSwapBasedProxyManager typically performs in reaction to user request.The optimization controller for
AsyncBucketProxy.The asynchronous equivalent of
ProxyManager.Intent of this interface is to provide the verbose version of
AsyncBucketProxy API.Provides API for bandwidth builder
The final build stage with ability to configure optional parameters of bandwidth, like id or initial tokens
Capacity configuration building stage
Stage is responsible for configuration of refilling speed
Helper class for batching
Optimization that combines independent requests to same bucket into batches in order to reduce request count to remote storage.
Provides blocking API for bucket that allows to use bucket as scheduler.
Specifies the way to block current thread to amount of time required to refill missed number of tokens in the bucket.
Performs rate limiting using algorithm based on top of ideas of Token Bucket.
Interface for listening bucket related events.
Exception which thrown each time when
DefaultBucketProxy found that bucket state has been lost,
and DefaultBucketProxy is unable to repair bucket state or recovery strategy is RecoveryStrategy.THROW_BUCKET_NOT_FOUND_EXCEPTION.Provides a light-weight proxy to bucket which state actually stored in external storage, like in-memory jvm or relational database.
Represents additional options for
ProxyManager such as:
Backward compatibility version, see ClientSideConfig.backwardCompatibleWith(Version) for more details.
Client-side clock, see ClientSideConfig.withClientClock(TimeMeter) for more details.
The builder for
BucketConfigurationDescribes tokens consumed, tokens remaining, time required for token regeneration to occur, and
the current bucket configuration after consumption.
The simple listener that just stores all events as AtomicLong counters and provides getters for them.
Optimization that can serve requests locally without synchronization with external storage until thresholds are not violated.
Describes parameters for
DelayOptimization.Describes the estimation result.
Defines the strategy for request execution.
Code is marked by this annotation is intended to be used strongly by internal code and can be removed at any time without prior notice.
Represents the strategy for choosing time to live for buckets in the cache.
Interface used by particular
ProxyManager implementations to indicate
that they support the manual(triggered by user) removing of expired bucket entries.Represents the bucket inside current JVM.
This builder creates in-memory buckets (
LockFreeBucket).Describes the set of operations that
AbstractLockBasedProxyManager typically performs in reaction to user request.Used by some inheritors of
AbstractLockBasedProxyManager
when it needs to calculate numeric value of locks.Optimization that can serve requests locally without synchronization with external storage until explicit call of
OptimizationController.syncImmediately().Specifies request optimization strategy for
BucketProxy and AsyncBucketProxy.The optimization controller for
BucketProxy.Monitoring listener for applied optimizations
Provides factory methods for all request optimizations that are built-in into Bucket4j library.
Specifies the parameters for quality of distributes consumption rate prediction that are used by
PredictiveOptimizationOptimization that can serve requests locally without synchronization with external storage until thresholds are not violated.
Represents an extension point of Bucket4j library.
Specifies the reaction which should be applied in case of previously saved state of bucket has been lost.
Deprecated.
The builder for
AsyncBucketProxyThe builder for
BucketProxyIntention of this class is to provide wrapper around results returned by any method of
VerboseBucket and AsyncVerboseBucket.Provides the scheduling API for
Bucket.Describes the set of operations that
AbstractSelectForUpdateBasedProxyManager typically performs in reaction to user request.Optimization that can serve requests locally without synchronization with external storage when it detects that there is no tokens in remote storage,
in such case synchronization with storage is being postponed to proposed refill of first token.
Deprecated.
Deprecated.
Defines the strategy of synchronization which need to be applied to prevent data-races in multithreading usage scenario.
An abstraction over time measurement.
Specifies the rules for inheritance of available tokens when
Bucket.replaceConfiguration(BucketConfiguration, TokensInheritanceStrategy) happens.Specifies the way to block current thread to amount of time required to refill missed number of tokens in the bucket.
Verbose API for
BlockingBucketIntent of this interface is to provide the verbose version of
Bucket API.Intention of this class is to provide wrapper around results returned by any method of
VerboseBucket and AsyncVerboseBucket.Describer of internal bucket state
Verbose API for
SchedulingBucket