public async Task <bool> BeginEvaluationAsync(IReadOnlyList <IRContext> contexts, IRExpressionEvaluator evaluator, CancellationToken ct) { var evaluation = new RSessionEvaluation(contexts, evaluator, ct); if (_tcs.TrySetResult(evaluation)) { await evaluation.Task; } return(evaluation.IsMutating); }
public Task BeginEvaluationAsync(IReadOnlyList <IRContext> contexts, IRExpressionEvaluator evaluator, CancellationToken ct) { var evaluation = new RSessionEvaluation(contexts, evaluator, ct); return(_tcs.TrySetResult(evaluation) ? evaluation.Task : System.Threading.Tasks.Task.CompletedTask); }
public Task BeginEvaluationAsync(IReadOnlyList<IRContext> contexts, IRExpressionEvaluator evaluator, CancellationToken ct) { var evaluation = new RSessionEvaluation(contexts, evaluator, ct); return _tcs.TrySetResult(evaluation) ? evaluation.Task : System.Threading.Tasks.Task.CompletedTask; }