Package org.onosproject.store.service
Interface AsyncAtomicCounter
-
- All Superinterfaces:
DistributedPrimitive
public interface AsyncAtomicCounter extends DistributedPrimitive
An async atomic counter dispenses monotonically increasing values.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.onosproject.store.service.DistributedPrimitive
DistributedPrimitive.Status, DistributedPrimitive.Type
-
-
Field Summary
-
Fields inherited from interface org.onosproject.store.service.DistributedPrimitive
DEFAULT_OPERATION_TIMEOUT_MILLIS
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description CompletableFuture<Long>addAndGet(long delta)Atomically adds the given value to the current value.default AtomicCounterasAtomicCounter()Returns a newAtomicCounterthat is backed by this instance and with a default operation timeout.default AtomicCounterasAtomicCounter(long timeoutMillis)Returns a newAtomicCounterthat is backed by this instance.CompletableFuture<Boolean>compareAndSet(long expectedValue, long updateValue)Atomically sets the given counter to the updated value if the current value is the expected value, otherwise no change occurs.CompletableFuture<Long>get()Returns the current value of the counter without modifying it.CompletableFuture<Long>getAndAdd(long delta)Atomically adds the given value to the current value.CompletableFuture<Long>getAndIncrement()Atomically increment by one the current value.CompletableFuture<Long>incrementAndGet()Atomically increment by one the current value.default DistributedPrimitive.TypeprimitiveType()Returns the type of primitive.CompletableFuture<Void>set(long value)Atomically sets the given value to the current value.-
Methods inherited from interface org.onosproject.store.service.DistributedPrimitive
addStatusChangeListener, applicationId, destroy, name, removeStatusChangeListener, statusChangeListeners
-
-
-
-
Method Detail
-
primitiveType
default DistributedPrimitive.Type primitiveType()
Description copied from interface:DistributedPrimitiveReturns the type of primitive.- Specified by:
primitiveTypein interfaceDistributedPrimitive- Returns:
- primitive type
-
incrementAndGet
CompletableFuture<Long> incrementAndGet()
Atomically increment by one the current value.- Returns:
- updated value
-
getAndIncrement
CompletableFuture<Long> getAndIncrement()
Atomically increment by one the current value.- Returns:
- previous value
-
getAndAdd
CompletableFuture<Long> getAndAdd(long delta)
Atomically adds the given value to the current value.- Parameters:
delta- the value to add- Returns:
- previous value
-
addAndGet
CompletableFuture<Long> addAndGet(long delta)
Atomically adds the given value to the current value.- Parameters:
delta- the value to add- Returns:
- updated value
-
get
CompletableFuture<Long> get()
Returns the current value of the counter without modifying it.- Returns:
- current value
-
set
CompletableFuture<Void> set(long value)
Atomically sets the given value to the current value.- Parameters:
value- new value- Returns:
- future void
-
compareAndSet
CompletableFuture<Boolean> compareAndSet(long expectedValue, long updateValue)
Atomically sets the given counter to the updated value if the current value is the expected value, otherwise no change occurs.- Parameters:
expectedValue- the expected current value of the counterupdateValue- the new value to be set- Returns:
- true if the update occurred and the expected value was equal to the current value, false otherwise
-
asAtomicCounter
default AtomicCounter asAtomicCounter(long timeoutMillis)
Returns a newAtomicCounterthat is backed by this instance.- Parameters:
timeoutMillis- timeout duration for the returned ConsistentMap operations- Returns:
- new
ConsistentMapinstance
-
asAtomicCounter
default AtomicCounter asAtomicCounter()
Returns a newAtomicCounterthat is backed by this instance and with a default operation timeout.- Returns:
- new
ConsistentMapinstance
-
-