Class ManuallySyncingOptimization

java.lang.Object
io.github.bucket4j.distributed.proxy.optimization.manual.ManuallySyncingOptimization
All Implemented Interfaces:
Optimization

public class ManuallySyncingOptimization extends Object implements Optimization
Optimization that can serve requests locally without synchronization with external storage until explicit call of OptimizationController.syncImmediately().
See Also:
  • Constructor Details

    • ManuallySyncingOptimization

      public ManuallySyncingOptimization()
    • ManuallySyncingOptimization

      public ManuallySyncingOptimization(OptimizationListener listener, TimeMeter timeMeter)
  • Method Details

    • withListener

      public Optimization withListener(OptimizationListener listener)
      Description copied from interface: Optimization
      Specifies the listener for optimization events
      Specified by:
      withListener in interface Optimization
      Parameters:
      listener - the listener for optimization events
      Returns:
      the new instance of Optimization with configured listener
    • apply

      public CommandExecutor apply(CommandExecutor originalExecutor)
      Description copied from interface: Optimization
      Decorates command executor in order to apply optimization strategy.
      Specified by:
      apply in interface Optimization
      Parameters:
      originalExecutor - command executor that need to be optimized
      Returns:
      decorated command executor
    • apply

      public AsyncCommandExecutor apply(AsyncCommandExecutor originalExecutor)
      Description copied from interface: Optimization
      Decorates command executor in order to apply optimization strategy.
      Specified by:
      apply in interface Optimization
      Parameters:
      originalExecutor - command executor that need to be optimized
      Returns:
      decorated command executor