Mercurial > pub > ImplabNet
comparison Implab/AbstractPromise.cs @ 156:97fbbf816844 v2
Promises: SignalXXX methods merged into SignalHandler method.
Components: RunnableComponent In progress
author | cin |
---|---|
date | Mon, 15 Feb 2016 04:22:15 +0300 |
parents | 706fccb85524 |
children | 75103928da09 |
comparison
equal
deleted
inserted
replaced
155:037df317f126 | 156:97fbbf816844 |
---|---|
69 } | 69 } |
70 | 70 |
71 | 71 |
72 #region implemented abstract members of AbstractPromise | 72 #region implemented abstract members of AbstractPromise |
73 | 73 |
74 protected override void SignalSuccess(HandlerDescriptor handler) { | 74 protected override void SignalHandler(HandlerDescriptor handler, int signal) { |
75 handler.SignalSuccess(); | 75 switch (signal) { |
76 } | 76 case SUCCEEDED_STATE: |
77 | 77 handler.SignalSuccess(); |
78 protected override void SignalError(HandlerDescriptor handler, Exception error) { | 78 break; |
79 handler.SignalError(error); | 79 case REJECTED_STATE: |
80 } | 80 handler.SignalError(Error); |
81 | 81 break; |
82 protected override void SignalCancelled(HandlerDescriptor handler, Exception reason) { | 82 case CANCELLED_STATE: |
83 handler.SignalCancel(reason); | 83 handler.SignalCancel(CancellationReason); |
84 break; | |
85 default: | |
86 throw new InvalidOperationException(String.Format("Invalid promise signal: {0}", signal)); | |
87 } | |
84 } | 88 } |
85 | 89 |
86 protected override Signal GetResolveSignal() { | 90 protected override Signal GetResolveSignal() { |
87 var signal = new Signal(); | 91 var signal = new Signal(); |
88 On(signal.Set, PromiseEventType.All); | 92 On(signal.Set, PromiseEventType.All); |