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.
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.
 
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 BucketConfiguration
 
 
 
 
Describes 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 PredictiveOptimization
Optimization 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 AsyncBucketProxy
 
The builder for BucketProxy
 
 
 
 
Intention 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 BlockingBucket
Intent 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