@Override public void reset() { syncCounter.reset(); }
@Override protected ModelNode invoke(CounterManager counterManager, ModelNode operation) { final String counterName = counterName(operation); final String counterType = counterType(operation); if (counterManager.isDefined(counterName)) { boolean isStrongCounter = ModelKeys.STRONG_COUNTER.equals(counterType); if (isStrongCounter) { StrongCounter strongCounter = counterManager.getStrongCounter(counterName); strongCounter.sync().reset(); } else { WeakCounter weakCounter = counterManager.getWeakCounter(counterName); weakCounter.sync().reset(); } } return new ModelNode(); } }
public void testCompareAndSetBounds(Method method) { CounterManager counterManager = counterManager(0); counterManager.defineCounter(method.getName(), CounterConfiguration.builder(CounterType.BOUNDED_STRONG).lowerBound(-2).upperBound(2).build()); SyncStrongCounter counter = counterManager.getStrongCounter(method.getName()).sync(); assertTrue(counter.compareAndSet(0, 2)); assertEquals(2, counter.getValue()); assertOutOfBoundCompareAndSet(counter, 2, 3); counter.reset(); assertTrue(counter.compareAndSet(0, -2)); assertEquals(-2, counter.getValue()); assertOutOfBoundCompareAndSet(counter, -2, -3); counter.reset(); assertFalse(counter.compareAndSet(1, 3)); assertFalse(counter.compareAndSet(1, -3)); }
public void testCompareAndSwapBounds(Method method) { CounterManager counterManager = counterManager(0); counterManager.defineCounter(method.getName(), CounterConfiguration.builder(CounterType.BOUNDED_STRONG).lowerBound(-2).upperBound(2).build()); SyncStrongCounter counter = counterManager.getStrongCounter(method.getName()).sync(); assertEquals(0, counter.compareAndSwap(0, 2)); assertEquals(2, counter.getValue()); assertOutOfBoundCompareAndSwap(counter, 2, 3); counter.reset(); assertEquals(0, counter.compareAndSwap(0, -2)); assertEquals(-2, counter.getValue()); assertOutOfBoundCompareAndSwap(counter, -2, -3); counter.reset(); assertEquals(0, counter.compareAndSwap(1, 3)); assertEquals(0, counter.compareAndSwap(1, -3)); }