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 AtomicCounter
asAtomicCounter()
Returns a newAtomicCounter
that is backed by this instance and with a default operation timeout.default AtomicCounter
asAtomicCounter(long timeoutMillis)
Returns a newAtomicCounter
that 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.Type
primitiveType()
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:DistributedPrimitive
Returns the type of primitive.- Specified by:
primitiveType
in 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 newAtomicCounter
that is backed by this instance.- Parameters:
timeoutMillis
- timeout duration for the returned ConsistentMap operations- Returns:
- new
ConsistentMap
instance
-
asAtomicCounter
default AtomicCounter asAtomicCounter()
Returns a newAtomicCounter
that is backed by this instance and with a default operation timeout.- Returns:
- new
ConsistentMap
instance
-
-