private IEnumerable <Expression> __concurrentshave(int client, CancellationToken __cancellation, Action <object> __success, Action <Exception> __failure) { { var __expr6_var = new __expr6 { Start = (___expr) => { var __expr = (__expr6)___expr; Task.Delay((int)((rand(1, 2)) * 1000)).ContinueWith(__task => { __enter(() => __expr.__op6(true, null, null), (__ex) => __expr.__op6(false, null, __ex)); } ); __expr.__op6(null, false, null); } , End = (__expr) => { __enter(() => __advance(__expr.Continuator), __failure); } }; yield return(__expr6_var); if (__expr6_var.Failure != null) { throw __expr6_var.Failure; } } { __dispatch("shave"); if (__success != null) { __success(null); } yield break; } }
private IEnumerable <Expression> __concurrentreindeer(Reindeer r, CancellationToken __cancellation, Action <object> __success, Action <Exception> __failure) { _reindeer.Add(r); if (readyToDeliver()) { //in case we're meeting with elves if (_busy) { var __expr5_var = new __expr5 { Start = (___expr) => { var __expr = (__expr5)___expr; __advance((__concurrentcancelMeeting(__cancellation, (__res) => { __expr.__op9(true, null, null); } , (__ex) => { __expr.__op9(false, null, __ex); } )).GetEnumerator()); } , End = (__expr) => { __enter(() => __advance(__expr.Continuator), __failure); } , __start5 = (___expr) => { var __expr = (__expr5)___expr; __enter(() => { __listen("meetingCanceled", () => { __expr.__op9(null, true, null); } ); } , __failure); } }; yield return(__expr5_var); if (__expr5_var.Failure != null) { throw __expr5_var.Failure; } } //christmas! _busy = true; Console.WriteLine("Santa: Off to deliver toys!"); { var __expr6_var = new __expr6 { Start = (___expr) => { var __expr = (__expr6)___expr; Task.Delay((int)((rand(5, 10)) * 1000)).ContinueWith(__task => { __enter(() => __expr.__op10(true, null, null), (__ex) => __expr.__op10(false, null, __ex)); } ); __expr.__op10(null, false, null); } , End = (__expr) => { __enter(() => __advance(__expr.Continuator), __failure); } }; yield return(__expr6_var); if (__expr6_var.Failure != null) { throw __expr6_var.Failure; } } Console.WriteLine("Santa: Merry Christmas, enjoy the toys!"); //is over foreach (var rd in _reindeer) { rd.unharness(); } _reindeer.Clear(); _busy = false; App.Stop(); } { __dispatch("reindeer"); if (__success != null) { __success(null); } yield break; } }