4 using System.Collections.Generic;
 
    5 using System.Runtime.CompilerServices;
 
    7 namespace SiliconStudio.Core.MicroThreading
 
   11         private static List<ChannelMicroThreadAwaiter<T>> pool = 
new List<ChannelMicroThreadAwaiter<T>>();
 
   13         private bool isCompleted = 
false;
 
   16         internal Action Continuation;
 
   25                     var index = pool.Count - 1;
 
   26                     var lastItem = pool[index];
 
   29                     lastItem.MicroThread = microThread;
 
   50             Continuation = continuation;
 
   55             Continuation = continuation;
 
   67                 if (pool.Count < 4096)
 
   81         public bool IsCompleted
 
   83             get { 
return isCompleted; }
 
   84             set { isCompleted = value; }
 
Represents an execution context managed by a Scheduler, that can cooperatively yield execution to ano...
 
static ChannelMicroThreadAwaiter< T > New(MicroThread microThread)
 
ChannelMicroThreadAwaiter(MicroThread microThread)
 
void UnsafeOnCompleted(Action continuation)
 
void OnCompleted(Action continuation)
 
ChannelMicroThreadAwaiter< T > GetAwaiter()