Decrement by 1, return current¶
Atomically decrements by one the current value and returns the updated (current) value of the counter. Multiple concurrent client requests are guaranteed to return unique updated value.
// *******************************************
// synchronous methods
// *******************************************
// Backendless.Counters approach
public int Backendless.Counters.DecrementAndGet( String counterName );
public T Backendless.Counters.DecrementAndGet<T>( String counterName );
// IAtomic approach
IAtomic<T> counter = Backendless.Counters.Of<T>( String counterName );
public T counter.DecrementAndGet();
// *******************************************
// asynchronous methods
// *******************************************
// Backendless.Counters approach
public void Backendless.Counters.DecrementAndGet<T>( String counterName, AsyncCallback<T> callback );
// IAtomic approach
IAtomic<T> counter = Backendless.Counters.Of<T>( String counterName );
public void counter.DecrementAndGet( AsyncCallback<T> callback );
where:
Argument | Description |
---|---|
counterName |
name of the counter to decrement. |
T |
numeric type for the counter values. Can be an instance of byte , short , int , float , long and double . |
callback |
the callback used for asynchronous calls to indicate that the operation has either successfully completed or resulted in error. |
Example¶
AsyncCallback<int> callback = new AsyncCallback<int>(
result =>
{
System.Console.WriteLine( "[ASYNC] current counter value is - " + result );
},
fault =>
{
System.Console.WriteLine( "Error - " + fault );
} );
Backendless.Counters.DecrementAndGet( "my counter", callback );
IAtomic<int> myCounter = Backendless.Counters.Of<int>( "my counter" );
int counter = myCounter.DecrementAndGet();
System.Console.WriteLine( "[SYNC] current counter value through IAtomic is - " + counter );
counter = Backendless.Counters.DecrementAndGet( "my counter" );
System.Console.WriteLine( "[SYNC] current counter value is - " + counter );
long longCounter = Backendless.Counters.DecrementAndGet<long>( "my counter" );
System.Console.WriteLine( "[SYNC] current counter value is - " + longCounter );
Codeless Reference¶
where:
Argument | Description |
---|---|
counter name |
Name of the counter whose value must be decremented. |
return current value |
When this box is checked, the operation returns the current value of the counter. |
Returns the current value of the counter.
Consider the following counter:
The example below decrements the value of the "CarsParkingLot"
by 1
. This operation returns 9
, since the return current value
box is checked.
The result of this operation will look as shown below after the Codeless logic runs: