Package org.onosproject.store.service
Interface AsyncAtomicCounterMap<K>
- 
- All Superinterfaces:
 DistributedPrimitive
public interface AsyncAtomicCounterMap<K> extends DistributedPrimitive
An async atomic counter map dispenses monotonically increasing values associated with key. 
- 
- 
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(K key, long delta)Adds delta to the value currently associated with key, and returns the new value.default AtomicCounterMap<K>asAtomicCounterMap()Returns a newAtomicCounterMapthat is backed by this instance.default AtomicCounterMap<K>asAtomicCounterMap(long timeoutMillis)Returns a newAtomicCounterMapthat is backed by this instance.CompletableFuture<Void>clear()Removes all entries from the map.CompletableFuture<Long>decrementAndGet(K key)Decrements by one the value currently associated with key, and returns the new value.CompletableFuture<Long>get(K key)Returns the value associated with key, or zero if there is no value associated with key.CompletableFuture<Long>getAndAdd(K key, long delta)Adds delta to the value currently associated with key, and returns the old value.CompletableFuture<Long>getAndDecrement(K key)Decrements by one the value currently associated with key, and returns the old value.CompletableFuture<Long>getAndIncrement(K key)Increments by one the value currently associated with key, and returns the old value.CompletableFuture<Long>incrementAndGet(K key)Increments by one the value currently associated with key, and returns the new value.CompletableFuture<Boolean>isEmpty()Returns a boolean indicating whether the map is empty.default DistributedPrimitive.TypeprimitiveType()Returns the type of primitive.CompletableFuture<Long>put(K key, long newValue)Associates ewValue with key in this map, and returns the value previously associated with key, or zero if there was no such value.CompletableFuture<Long>putIfAbsent(K key, long newValue)If key is not already associated with a value or if key is associated with zero, associate it with newValue.CompletableFuture<Long>remove(K key)Removes and returns the value associated with key.CompletableFuture<Boolean>remove(K key, long value)If (key, value) is currently in the map, this method removes it and returns true; otherwise, this method returns false.CompletableFuture<Boolean>replace(K key, long expectedOldValue, long newValue)If (key, expectedOldValue) is currently in the map, this method replaces expectedOldValue with newValue and returns true; otherwise, this method return false.CompletableFuture<Integer>size()Returns the number of entries in the map.- 
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(K key)
Increments by one the value currently associated with key, and returns the new value.- Parameters:
 key- key with which the specified value is to be associated- Returns:
 - incremented value
 
 
- 
decrementAndGet
CompletableFuture<Long> decrementAndGet(K key)
Decrements by one the value currently associated with key, and returns the new value.- Parameters:
 key- key with which the specified value is to be associated- Returns:
 - updated value
 
 
- 
getAndIncrement
CompletableFuture<Long> getAndIncrement(K key)
Increments by one the value currently associated with key, and returns the old value.- Parameters:
 key- key with which the specified value is to be associated- Returns:
 - previous value
 
 
- 
getAndDecrement
CompletableFuture<Long> getAndDecrement(K key)
Decrements by one the value currently associated with key, and returns the old value.- Parameters:
 key- key with which the specified value is to be associated- Returns:
 - previous value
 
 
- 
addAndGet
CompletableFuture<Long> addAndGet(K key, long delta)
Adds delta to the value currently associated with key, and returns the new value.- Parameters:
 key- key with which the specified value is to be associateddelta- the value to add- Returns:
 - updated value
 
 
- 
getAndAdd
CompletableFuture<Long> getAndAdd(K key, long delta)
Adds delta to the value currently associated with key, and returns the old value.- Parameters:
 key- key with which the specified value is to be associateddelta- the value to add- Returns:
 - previous value
 
 
- 
get
CompletableFuture<Long> get(K key)
Returns the value associated with key, or zero if there is no value associated with key.- Parameters:
 key- key with which the specified value is to be associated- Returns:
 - current value
 
 
- 
put
CompletableFuture<Long> put(K key, long newValue)
Associates ewValue with key in this map, and returns the value previously associated with key, or zero if there was no such value.- Parameters:
 key- key with which the specified value is to be associatednewValue- the value to put- Returns:
 - previous value or zero
 
 
- 
putIfAbsent
CompletableFuture<Long> putIfAbsent(K key, long newValue)
If key is not already associated with a value or if key is associated with zero, associate it with newValue. Returns the previous value associated with key, or zero if there was no mapping for key.- Parameters:
 key- key with which the specified value is to be associatednewValue- the value to put- Returns:
 - previous value or zero
 
 
- 
replace
CompletableFuture<Boolean> replace(K key, long expectedOldValue, long newValue)
If (key, expectedOldValue) is currently in the map, this method replaces expectedOldValue with newValue and returns true; otherwise, this method return false. If expectedOldValue is zero, this method will succeed if (key, zero) is currently in the map, or if key is not in the map at all.- Parameters:
 key- key with which the specified value is to be associatedexpectedOldValue- the expected valuenewValue- the value to replace- Returns:
 - true if the value was replaced, false otherwise
 
 
- 
remove
CompletableFuture<Long> remove(K key)
Removes and returns the value associated with key. If key is not in the map, this method has no effect and returns zero.- Parameters:
 key- key with which the specified value is to be associated- Returns:
 - the previous value associated with the specified key or null
 
 
- 
remove
CompletableFuture<Boolean> remove(K key, long value)
If (key, value) is currently in the map, this method removes it and returns true; otherwise, this method returns false.- Parameters:
 key- key with which the specified value is to be associatedvalue- the value to remove- Returns:
 - true if the value was removed, false otherwise
 
 
- 
size
CompletableFuture<Integer> size()
Returns the number of entries in the map.- Returns:
 - the number of entries in the map
 
 
- 
isEmpty
CompletableFuture<Boolean> isEmpty()
Returns a boolean indicating whether the map is empty.- Returns:
 - true if the map is empty, false otherwise
 
 
- 
clear
CompletableFuture<Void> clear()
Removes all entries from the map.- Returns:
 - void
 
 
- 
asAtomicCounterMap
default AtomicCounterMap<K> asAtomicCounterMap()
Returns a newAtomicCounterMapthat is backed by this instance.- Returns:
 - new 
AtomicCounterMapinstance 
 
- 
asAtomicCounterMap
default AtomicCounterMap<K> asAtomicCounterMap(long timeoutMillis)
Returns a newAtomicCounterMapthat is backed by this instance.- Parameters:
 timeoutMillis- timeout duration for the returned ConsistentMap operations- Returns:
 - new 
AtomicCounterMapinstance 
 
 - 
 
 -