private void defineCounter(CounterManager counterManager, String counterName, int initialValue) { counterManager.defineCounter( counterName, CounterConfiguration.builder( CounterType.UNBOUNDED_STRONG ) .initialValue( initialValue ) .storage( Storage.PERSISTENT ) .build() ); } }
@Override public int hashCode() { int result = (int) (initialValue ^ (initialValue >>> 32)); result = 31 * result + (int) (upperBound ^ (upperBound >>> 32)); result = 31 * result + (int) (lowerBound ^ (lowerBound >>> 32)); result = 31 * result + concurrencyLevel; result = 31 * result + type.hashCode(); result = 31 * result + storage.hashCode(); return result; }
/** * @see StrongCounter#getName() */ @Override public String getName() { return counter.getName(); }
private StrongCounter createCounter(CounterManager counterManager, String counterName, long min, long max) { counterManager.defineCounter(counterName, CounterConfiguration.builder(CounterType.BOUNDED_STRONG).lowerBound(min).upperBound(max).build()); return counterManager.getStrongCounter(counterName); } }
@Override protected WeakTestCounter createCounter(CounterManager counterManager, String counterName, long initialValue) { counterManager.defineCounter(counterName, CounterConfiguration.builder(CounterType.WEAK).initialValue(initialValue).concurrencyLevel(4).build()); return new WeakTestCounter(counterManager.getWeakCounter(counterName)); } }
private void define(CounterManager manager) { //lower bound is ignored if the type is not bounded. manager.defineCounter(name, CounterConfiguration.builder(type).lowerBound(0).storage(storage).build()); }
private long getValue(CounterManager counterManager) { switch (type) { case WEAK: return counterManager.getWeakCounter(name).getValue(); case BOUNDED_STRONG: case UNBOUNDED_STRONG: return counterManager.getStrongCounter(name).sync().getValue(); } throw new IllegalStateException(); } }
private void incrementCounter(CounterManager counterManager) { switch (type) { case UNBOUNDED_STRONG: case BOUNDED_STRONG: counterManager.getStrongCounter(name).sync().incrementAndGet(); break; case WEAK: counterManager.getWeakCounter(name).sync().increment(); break; } }
private static CounterConfiguration fromProperties(Properties properties) { return PropertyFormatter.getInstance().from(properties).build(); }
/** * Atomically decrements the counter and returns the new value * * @return The new value. */ default CompletableFuture<Long> decrementAndGet() { return addAndGet(-1L); }
/** * @see WeakCounter#decrement() */ default void decrement() { add(-1); }
/** * @return the {@link CounterConfiguration} with this configuration. */ public CounterConfiguration build() { return new CounterConfiguration(initialValue, lowerBound, upperBound, concurrencyLevel, type, storage); } }
@Override void define(CounterManager manager, String name) { manager.defineCounter(name, builder(CounterType.BOUNDED_STRONG).initialValue(10).lowerBound(0).upperBound(20).build()); }
@Override void define(CounterManager manager, String name) { manager.defineCounter(name, builder(CounterType.WEAK).initialValue(10).build()); }
private static WeakCounterImpl getCounter(EmbeddedCacheManager manager, String counterName) { CounterManager counterManager = asCounterManager(manager); counterManager .defineCounter(counterName, CounterConfiguration.builder(CounterType.WEAK).concurrencyLevel(128).build()); return (WeakCounterImpl) counterManager.getWeakCounter(counterName); }
@Override protected StrongTestCounter createCounter(CounterManager counterManager, String counterName, long initialValue) { counterManager.defineCounter(counterName, CounterConfiguration.builder(CounterType.BOUNDED_STRONG).lowerBound(Long.MIN_VALUE) .upperBound(Long.MAX_VALUE).initialValue(initialValue).build()); return new StrongTestCounter(counterManager.getStrongCounter(counterName)); }
@Override void define(CounterManager manager, String name) { manager.defineCounter(name, builder(CounterType.UNBOUNDED_STRONG).initialValue(10).build()); }
protected TestCounter createCounter(CounterManager counterManager, String counterName) { counterManager.defineCounter(counterName, CounterConfiguration.builder(CounterType.WEAK).concurrencyLevel(4).build()); return new WeakTestCounter(counterManager.getWeakCounter(counterName)); } }
@Override protected StrongTestCounter createCounter(CounterManager counterManager, String counterName, long initialValue) { counterManager.defineCounter(counterName, CounterConfiguration.builder(CounterType.UNBOUNDED_STRONG).initialValue(initialValue).build()); return new StrongTestCounter(counterManager.getStrongCounter(counterName)); }
@Override protected TestCounter createCounter(CounterManager counterManager, String counterName) { counterManager.defineCounter(counterName, CounterConfiguration.builder(CounterType.UNBOUNDED_STRONG).build()); return new StrongTestCounter(counterManager.getStrongCounter(counterName)); } }