Ejemplo n.º 1
0
 public void OnCompleted()
 {
     if (ForNextStep)
     {
         Scheduler.QueueWorkItemForNextStep(Continuation);
     }
     else
     {
         Scheduler.QueueWorkItem(Continuation);
     }
 }
Ejemplo n.º 2
0
 void ScheduleNextStepForSchedulable(ISchedulable value)
 {
     if (value is WaitForNextStep)
     {
         _Scheduler.QueueWorkItemForNextStep(_QueueStep);
     }
     else if (value is Yield)
     {
         QueueStep();
     }
     else
     {
         var temp = _Scheduler.Start(value, TaskExecutionPolicy.RunWhileFutureLives);
         SetWakeConditionAndSubscribe(temp, true);
     }
 }
Ejemplo n.º 3
0
 void ISchedulable.Schedule(TaskScheduler scheduler, IFuture future)
 {
     scheduler.QueueWorkItemForNextStep(future.Complete);
 }