Example #1
0
        public long GetAndSubtract(long delta)
        {
            var targetAddress   = GetCRDTOperationTarget(_emptyAddressList);
            var response        = InvokeAddInternal(-delta, true, _emptyAddressList, null, targetAddress);
            var decodedResponse = PNCounterAddCodec.DecodeResponse(response);

            UpdateObservedReplicaTimestamps(decodedResponse.replicaTimestamps);

            return(decodedResponse.value);
        }
Example #2
0
        public long IncrementAndGet()
        {
            var targetAddress   = GetCRDTOperationTarget(_emptyAddressList);
            var response        = InvokeAddInternal(1, false, _emptyAddressList, null, targetAddress);
            var decodedResponse = PNCounterAddCodec.DecodeResponse(response);

            UpdateObservedReplicaTimestamps(decodedResponse.replicaTimestamps);

            return(decodedResponse.value);
        }