コード例 #1
0
ファイル: Async.cs プロジェクト: mavnn/Hopac
        ///
        public void Success(X x)
        {
            var xK = this.xK;

            xK.Value = x;
            Worker.ContinueOnThisThread(sr, xK);
        }
コード例 #2
0
ファイル: Async.cs プロジェクト: wallymathieu/Hopac
        ///
        public void Failure(Exception e)
        {
            this.e = e;
            var sr = this.sr;

            if (null != sr)
            {
                goto Continue;
            }
            if (0 == Interlocked.CompareExchange(ref this.state, 1, 0))
            {
                return;
            }
            sr = this.sr;
Continue:
            Worker.ContinueOnThisThread(sr, this);
        }
コード例 #3
0
ファイル: Async.cs プロジェクト: wallymathieu/Hopac
        ///
        public void Success(X x)
        {
            this.x = x;
            var sr = this.sr;

            if (null != sr)
            {
                goto Continue;
            }
            if (0 == Interlocked.CompareExchange(ref this.state, 1, 0))
            {
                return;
            }
            sr = this.sr;
Continue:
            Worker.ContinueOnThisThread(sr, this);
        }
コード例 #4
0
ファイル: Async.cs プロジェクト: wallymathieu/Hopac
        ///
        public void Failure(Exception e)
        {
            var eK = new FailCont <X>(xK, e);
            var sr = this.sr;

            if (null != sr)
            {
                goto Continue;
            }
            this.xK = eK;
            if (0 == Interlocked.CompareExchange(ref this.state, 1, 0))
            {
                return;
            }
            sr = this.sr;
Continue:
            Worker.ContinueOnThisThread(sr, eK);
        }
コード例 #5
0
 internal void Ready()
 {
     Worker.ContinueOnThisThread(sr, this);
 }
コード例 #6
0
 public void Ready()
 {
     Worker.ContinueOnThisThread(this.sr, this);
 }
コード例 #7
0
ファイル: Async.cs プロジェクト: mavnn/Hopac
 ///
 public void Failure(Exception e)
 {
     Worker.ContinueOnThisThread(sr, new FailWork(e, xK));
 }
コード例 #8
0
ファイル: Async.cs プロジェクト: mavnn/Hopac
 ///
 public void Success(X x)
 {
     this.x = x;
     Worker.ContinueOnThisThread(sr, this);
 }