internal static void EnqueueInternal(MessageFiberBase fiber, Action continuation) { var newTail = NodePool <ActionMessageNode> .Pop(); newTail.Message = continuation; fiber.EnqueueInternal(newTail); }
public void EnqueueAction(Action action) { var newTail = NodePool <ActionMessageNode> .Pop(); newTail.Message = action; EnqueueInternal(newTail); }
public override void Post(SendOrPostCallback d, object state) { var newTail = NodePool <ContextPostMessageNode> .Pop(); newTail.Delegate = d; newTail.State = state; m_Fiber.EnqueueInternal(newTail); }
public Task EnqueueTask(Task task) { var newTail = NodePool <TaskMessageNode> .Pop(); newTail.Message = task; EnqueueInternal(newTail); return(task); }