AtomicLong¶
-
class
AtomicLong(context, group_id, service_name, proxy_name, object_name)¶ Bases:
hazelcast.proxy.cp.BaseCPProxyAtomicLong is a redundant and highly available distributed counter for 64-bit integers (
longtype in Java).It works on top of the Raft consensus algorithm. It offers linearizability during crash failures and network partitions. It is CP with respect to the CAP principle. If a network partition occurs, it remains available on at most one side of the partition.
AtomicLong implementation does not offer exactly-once / effectively-once execution semantics. It goes with at-least-once execution semantics by default and can cause an API call to be committed multiple times in case of CP member failures. It can be tuned to offer at-most-once execution semantics. Please see fail-on-indeterminate-operation-state server-side setting.
-
add_and_get(delta)¶ Atomically adds the given value to the current value.
- Parameters
delta (int) – The value to add to the current value.
- Returns
- The updated value, the given value added
to the current value
- Return type
-
compare_and_set(expect, update)¶ Atomically sets the value to the given updated value only if the current value equals the expected value.
- Parameters
expect (int) – The expected value.
update (int) – The new value.
- Returns
Trueif successful; orFalseifthe actual value was not equal to the expected value.
- Return type
hazelcast.future.Future[bool]
-
decrement_and_get()¶ Atomically decrements the current value by one.
- Returns
- The updated value, the current value
decremented by one.
- Return type
-
get_and_decrement()¶ Atomically decrements the current value by one.
- Returns
The old value.
- Return type
-
get()¶ Gets the current value.
- Returns
The current value.
- Return type
-
get_and_add(delta)¶ Atomically adds the given value to the current value.
- Parameters
delta (int) – The value to add to the current value.
- Returns
The old value before the add.
- Return type
-
get_and_set(new_value)¶ Atomically sets the given value and returns the old value.
- Parameters
new_value (int) – The new value.
- Returns
The old value.
- Return type
-
increment_and_get()¶ Atomically increments the current value by one.
- Returns
- The updated value, the current value
incremented by one.
- Return type
-
get_and_increment()¶ Atomically increments the current value by one.
- Returns
The old value.
- Return type
-
set(new_value)¶ Atomically sets the given value.
- Parameters
new_value (int) – The new value
- Returns
- Return type
hazelcast.future.Future[None]
-
alter(function)¶ Alters the currently stored value by applying a function on it.
Notes
functionmust be an instance ofIdentifiedDataSerializableorPortablethat has a counterpart that implements thecom.hazelcast.core.IFunctioninterface registered on the server-side with the actual implementation of the function to be applied.- Parameters
function (hazelcast.serialization.api.Portable or hazelcast.serialization.api.IdentifiedDataSerializable) – The function that alters the currently stored value.
- Returns
- Return type
hazelcast.future.Future[None]
-
alter_and_get(function)¶ Alters the currently stored value by applying a function on it and gets the result.
Notes
functionmust be an instance ofIdentifiedDataSerializableorPortablethat has a counterpart that implements thecom.hazelcast.core.IFunctioninterface registered on the server-side with the actual implementation of the function to be applied.- Parameters
function (hazelcast.serialization.api.Portable or hazelcast.serialization.api.IdentifiedDataSerializable) – The function that alters the currently stored value.
- Returns
The new value.
- Return type
-
get_and_alter(function)¶ Alters the currently stored value by applying a function on it on and gets the old value.
Notes
functionmust be an instance ofIdentifiedDataSerializableorPortablethat has a counterpart that implements thecom.hazelcast.core.IFunctioninterface registered on the server-side with the actual implementation of the function to be applied.- Parameters
function (hazelcast.serialization.api.Portable or hazelcast.serialization.api.IdentifiedDataSerializable) – The function that alters the currently stored value.
- Returns
The old value.
- Return type
-
apply(function)¶ Applies a function on the value, the actual stored value will not change.
Notes
functionmust be an instance ofIdentifiedDataSerializableorPortablethat has a counterpart that implements thecom.hazelcast.core.IFunctioninterface registered on the server-side with the actual implementation of the function to be applied.- Parameters
function (hazelcast.serialization.api.Portable or hazelcast.serialization.api.IdentifiedDataSerializable) – The function applied to the currently stored value.
- Returns
The result of the function application.
- Return type
-