public void OnNext(FunctionEvent data, long sequence, bool endOfBatch) { switch (_functionStep) { case FunctionStep.One: data.StepOneResult = data.OperandOne + data.OperandTwo; break; case FunctionStep.Two: data.StepTwoResult = data.StepOneResult + 3L; break; case FunctionStep.Three: if ((data.StepTwoResult & 4L) == 4L) { _stepThreeCounter.WriteUnfenced(_stepThreeCounter.ReadUnfenced() + 1); } break; } if (sequence == _iterations - 1) { _mru.Set(); } }
public void OnNext(ValueEvent value, long sequence, bool endOfBatch) { _value.WriteUnfenced(_value.ReadUnfenced() + value.Value); if (sequence == _iterations - 1) { _mru.Set(); } }
public void OnNext(ValueEvent data, long sequence, bool endOfBatch) { _value.WriteUnfenced(_operation.Op(_value.ReadUnfenced(), data.Value)); if (sequence == _iterations - 1) { _latch.Signal(); } }
public void OnNext(MessageEvent _event, long sequence, bool endOfBatch) { _value.WriteUnfenced(_operation.Op(_value.ReadUnfenced(), _event.Value)); //Console.WriteLine("ValueMutationEventHandler::Run() -- Event.Value: {0}", _event.Value); if (sequence >= _max_sequence - 1) { Console.WriteLine("ValueMutationEventHandler::Run() -- Thread: {0} done.", _id); this._latch.Signal(); } }
public void OnNext(FizzBuzzEvent data, long sequence, bool endOfBatch) { switch (_fizzBuzzStep) { case FizzBuzzStep.Fizz: data.Fizz = (data.Value % 3) == 0; break; case FizzBuzzStep.Buzz: data.Buzz = (data.Value % 5) == 0; break; case FizzBuzzStep.FizzBuzz: if (data.Fizz && data.Buzz) { _fizzBuzzCounter.WriteUnfenced(_fizzBuzzCounter.ReadUnfenced() + 1); } break; } if (sequence == _iterations - 1) { _mru.Set(); } }
public void ReadUnfencedReturnsInitialValue() { Assert.AreEqual(InitialValue, _volatile.ReadUnfenced()); }