public async Task EquationAsync(string eqn) { var action = new Protos.CalculatorDuplexCallback.Types.Equation { Eqn = eqn, }; var callback = new Protos.CalculatorDuplexCallback { Equation = action }; await _stream.WriteAsync(callback); }
public async Task ResultAsync(double value) { var action = new Protos.CalculatorDuplexCallback.Types.Result { Value = value, }; var callback = new Protos.CalculatorDuplexCallback { Result = action }; await _stream.WriteAsync(callback); }
public void HandleCallback(Protos.CalculatorDuplexCallback callback) { #pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed switch (callback.CallbackCase) { case Protos.CalculatorDuplexCallback.CallbackOneofCase.Result: Task.Run(() => InvokeResultAsync(callback.Result)); break; case Protos.CalculatorDuplexCallback.CallbackOneofCase.Equation: Task.Run(() => InvokeEquationAsync(callback.Equation)); break; } #pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed }