/// <summary> /// Schedules a task. /// </summary> /// <param name="tag"></param> /// <param name="action"></param> /// <returns></returns> public static ITaskQueue <TTaskInfo> Schedule <TTaskInfo>(this ITaskQueue <TTaskInfo> source, string tag, Action <TaskInfo, CancellationToken> action) where TTaskInfo : TaskInfo { var taskInfo = new TaskInfo(source, async(q, ct) => action(q, ct), tag); return((ITaskQueue <TTaskInfo>)source.Schedule(taskInfo)); }
/// <summary> /// Schedules a task. /// </summary> /// <param name="tag"></param> /// <param name="task"></param> /// <returns></returns> public static ITaskQueue <TTaskInfo> Schedule <TTaskInfo>(this ITaskQueue <TTaskInfo> source, string tag, Task task) where TTaskInfo : TaskInfo { var taskInfo = new TaskInfo(source, async(q, ct) => await task); return((ITaskQueue <TTaskInfo>)source.Schedule(taskInfo)); }
/// <summary> /// Schedules a task. /// </summary> /// <param name="tag"></param> /// <param name="action"></param> /// <returns></returns> public static ITaskQueue <TTaskInfo> Schedule <TTaskInfo>(this ITaskQueue <TTaskInfo> source, string tag, Func <TaskInfo, CancellationToken, Task> action) where TTaskInfo : TaskInfo { var taskInfo = new TaskInfo(source, action, tag); return((ITaskQueue <TTaskInfo>)source.Schedule(taskInfo)); }