private void InnerRemoveFuture(IFuture future) { if (_futures.TryRemove(future, out _)) { future.RemoveListener(InnerRemoveFuture); } }
private void InnerRemoveFuture(IFuture future) { bool value; if (_futures.TryRemove(future, out value)) { future.RemoveListener(InnerRemoveFuture); } }
protected override void OnComplete() { if (isCancelled) { if (currentFuture != null) { currentFuture.RemoveListener(Next); currentFuture.Cancel(); } } currentFuture = null; enumerator = null; }
private void OnFutureComplete(IFuture future) { _futures.Remove(future); future.RemoveListener(OnFutureComplete); if (_futures.Count > 0) { return; } isDone = true; wasRun = false; CallHandlers(); }