Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
Package SiliconStudio.Core.MicroThreading

Classes

class  AsyncAutoResetEvent
 
class  AsyncSignal
 
class  Channel< T >
 Provides a communication mechanism between MicroThread. More...
 
class  ChannelMicroThreadAwaiter< T >
 
class  MicroThread
 Represents an execution context managed by a Scheduler, that can cooperatively yield execution to another MicroThread at any point (usually using async calls). More...
 
class  MicroThreadLocal< T >
 Provides microthread-local storage of data. More...
 
class  MicroThreadSynchronizationContext
 
struct  MicroThreadYieldAwaiter
 
class  NamespaceDoc
 The SiliconStudio.Core.MicroThreading namespace provides classes that supports multi-threaded tasks scheduling and execution. It provides a Scheduler class and the MicroThread object that can encapsulate a task. More...
 
class  ParadoxScriptAttribute
 
class  Scheduler
 Scheduler that manage a group of cooperating MicroThread. More...
 
class  SchedulerThreadEventArgs
 Provides data for the Scheduler.MicroThreadStarted, Scheduler.MicroThreadEnded, Scheduler.MicroThreadCallbackStart and Scheduler.MicroThreadCallbackEnd events. More...
 
class  SwitchToAwaiter
 

Enumerations

enum  ChannelPreference { ChannelPreference.PreferReceiver = -1, ChannelPreference.PreferSender = 1 }
 
enum  MicroThreadEvent { MicroThreadEvent.MicroThreadStart, MicroThreadEvent.MicroThreadEnd, MicroThreadEvent.CallbackStart, MicroThreadEvent.CallbackEnd }
 
enum  MicroThreadFlags { MicroThreadFlags.None = 0, MicroThreadFlags.IgnoreExceptions = 1 }
 
enum  MicroThreadState : int {
  MicroThreadState.None, MicroThreadState.Starting, MicroThreadState.Running, MicroThreadState.Completed,
  MicroThreadState.Cancelled, MicroThreadState.Failed
}
 
enum  ScheduleMode { ScheduleMode.First, ScheduleMode.Last }
 
enum  ScriptFlags {
  ScriptFlags.None = 0, ScriptFlags.AssemblyStartup = 1, ScriptFlags.AssemblyFirstStartup = 2, ScriptFlags.AssemblyUnload = 4,
  ScriptFlags.KeepAliveWhenUnload = 8
}
 

Enumeration Type Documentation

Enumerator
PreferReceiver 
PreferSender 

Definition at line 5 of file ChannelPreference.cs.

Enumerator
MicroThreadStart 
MicroThreadEnd 
CallbackStart 
CallbackEnd 

Definition at line 5 of file MicroThreadEvent.cs.

Enumerator
None 
IgnoreExceptions 

If a faulted MicroThread is not being waited on, do not propgate exception outside of Scheduler.Run.

If an exception happens in a MicroThread, two things can happen. Either something was waiting on it (i.e. with Scheduler.WhenAll), in that case exception will be propagated to waiting code. Otherwise, exception will be rethrow outside of Scheduler.Run. This flags allows exception to be ignored even if nothing was waiting on it.

Definition at line 9 of file MicroThreadFlags.cs.

Enumerator
None 
Starting 
Running 
Completed 
Cancelled 
Failed 

Definition at line 5 of file MicroThreadState.cs.

Enumerator
First 
Last 

Definition at line 5 of file ScheduleMode.cs.

Enumerator
None 

Empty value.

AssemblyStartup 

Automatically run on assembly startup.

AssemblyFirstStartup 

Automatically run on assembly first startup (not executed if assembly is reloaded).

AssemblyUnload 

Automatically run on assembly unload.

KeepAliveWhenUnload 

MicroThread won't be killed if assembly is unloaded (including reload).

Definition at line 8 of file ScriptFlags.cs.