示例#1
0
 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;
        }
示例#4
0
        private void OnFutureComplete(IFuture future)
        {
            _futures.Remove(future);
            future.RemoveListener(OnFutureComplete);

            if (_futures.Count > 0)
            {
                return;
            }
            isDone = true;
            wasRun = false;

            CallHandlers();
        }