void PostOnTaskCompletion(CompletionPort completionPort, IteratorHandler handler) { SpawnIterator <CompletionPort, IteratorHandler>(completionPort, handler, PostOnTaskCompletionHelper); }
public static void SpawnIterator <T0, T1, T2>(this DispatcherQueue TaskQueue, T0 t0, T1 t1, T2 t2, IteratorHandler <T0, T1, T2> handler) { TaskQueue.Enqueue(new IterativeTask <T0, T1, T2>(t0, t1, t2, handler)); }
IEnumerator <ITask> PostOnTaskCompletionHelper(CompletionPort completionPort, IteratorHandler handler) { yield return(new IterativeTask(handler)); completionPort.Post(true); }
public static void SpawnIterator(this DispatcherQueue TaskQueue, IteratorHandler handler) { TaskQueue.Enqueue(new IterativeTask(handler)); }
public static void SpawnIterator <T0>(this DispatcherQueue TaskQueue, T0 t0, IteratorHandler <T0> handler) { TaskQueue.Enqueue(new IterativeTask <T0>(t0, handler)); }
public static Receiver <T> ReceiveWithIteratorFromPortSet <T>(bool persist, IPortSet portSet, IteratorHandler <T> handler) { return(new Receiver <T>(persist, (IPortReceive)portSet[typeof(T)], null, new IterativeTask <T>(handler))); }
public IterativeTask(IteratorHandler handler) { if (handler == null) throw new ArgumentNullException ("handler"); this.handler = handler; }
public static ITask FromIteratorHandler(IteratorHandler handler) { return(new IterativeTask(handler)); }
public static Receiver <T> ReceiveWithIterator <T>(bool persist, Port <T> port, IteratorHandler <T> handler) { return(new Receiver <T>(persist, port, null, new IterativeTask <T>(handler))); }
public static JoinReceiver JoinedReceiveWithIterator <T0, T1>(bool persist, Port <T0> port0, Port <T1> port1, IteratorHandler <T0, T1> handler) { return(new JoinReceiver(persist, new IterativeTask <T0, T1>(handler), new IPortReceive[] { port0, port1 })); }
public IterativeTask(IteratorHandler handler) { _Handler = handler; _causalityContext = Dispatcher.CloneCausalitiesFromCurrentThread(); }
protected void SpawnIterator <T0, T1, T2>(T0 t0, T1 t1, T2 t2, IteratorHandler <T0, T1, T2> handler) { TaskQueue.Enqueue(new IterativeTask <T0, T1, T2>(t0, t1, t2, handler)); }
protected void SpawnIterator <T0>(T0 t0, IteratorHandler <T0> handler) { TaskQueue.Enqueue(new IterativeTask <T0>(t0, handler)); }
protected void SpawnIterator(IteratorHandler handler) { TaskQueue.Enqueue(new IterativeTask(handler)); }