private void RegisterOnResolved_Impl(IFuture f, Delegate handler, bool skipQueueOnMainThread = false) { f.RegisterOnResolved( skipQueueOnMainThread ? OnResolvedDispatcher_SkipQueue : OnResolvedDispatcher, handler ); }
public void Start(IFuture future, ISchedulable task, TaskExecutionPolicy executionPolicy) { using (IsActive) task.Schedule(this, future); switch (executionPolicy) { case TaskExecutionPolicy.RunAsBackgroundTask: future.RegisterOnResolved(BackgroundTaskOnComplete); break; default: break; } }
public void OnCompleted(Action continuation) { Future.RegisterOnResolved(Registration.OnCompleteWithUserData(continuation), Registration); }