예제 #1
0
        internal void OtherwiseInternal(BasicCompletes continuationCompletes)
        {
            var continuation = new CompletesContinuation(continuationCompletes);

            RegisterFailureContinuation(continuation);
            if (OutcomeKnown.IsSet && HasFailedValue.Get())
            {
                continuation.Run(this);
                RunContinuationsWhenReady(continuationCompletes);
            }
        }
예제 #2
0
 protected abstract void RunContinuationsWhenReady(BasicCompletes completedContinuation);
예제 #3
0
        internal void RecoverInternal(BasicCompletes continuationCompletes)
        {
            var continuation = new CompletesContinuation(continuationCompletes);

            RegisterExceptionContinuation(continuation);
        }
예제 #4
0
        internal void AndThenInternal(BasicCompletes continuationCompletes)
        {
            var continuation = new CompletesContinuation(continuationCompletes);

            AndThenInternal(continuation);
        }
예제 #5
0
 internal void OnResultAvailable(BasicCompletes lastRunContinuation) => RunContinuationsWhenReady(lastRunContinuation);
예제 #6
0
 internal abstract void UpdateFailure(BasicCompletes previousContinuation);
예제 #7
0
 internal abstract bool InnerInvoke(BasicCompletes completedCompletes);