SpicyPixel.Threading Namespace Reference

Namespaces

namespace  Tasks
 

Classes

class  ConcurrentBehaviour
 Convenience class that extends MonoBehavior to provide a Scheduler and TaskFactory for executing tasks on the behaviour instance. More...
 
class  Fiber
 A Fiber is a lightweight means of scheduling work that enables multiple units of processing to execute concurrently by co-operatively sharing execution time on a single thread. More...
 
class  FiberAbortException
 The exception that is thrown when a call is made to the Abort method. More...
 
class  FiberContinuation
 
class  FiberFactory
 A Fiber Factory for creating fibers with the same options. More...
 
class  FiberInstruction
 Represents a fiber instruction to be processed by a FiberScheduler. More...
 
class  FiberResult
 An instruction to stop fiber execution and set a result on the fiber. More...
 
class  FiberScheduler
 Schedules fibers for execution. More...
 
class  FiberSchedulerSynchronizationContext
 Fiber scheduler synchronization context to support task synchronization across schedulers or other synchronization models. More...
 
interface  IFiberScheduler
 Interface used by Fiber to access protected methods of the scheduler.
 
class  ObjectInstruction
 Wraps an object as an instruction More...
 
class  SharedConcurrentBehaviour
 
class  StopInstruction
 An instruction to terminate execution of the current fiber. More...
 
class  SystemCoroutine
 This static class exposes convenience coroutines that can be passed to a fiber or task. More...
 
class  SystemFiberScheduler
 This class is the system default implementation of a FiberScheduler and is capable of scheduling and executing fibers on the current thread. More...
 
class  UnityCoroutine
 This static class exposes convenience coroutines specific to Unity that can be passed to a fiber or task. More...
 
class  UnityFiberExtensions
 Extends Fiber for Unity More...
 
class  UnityFiberFactory
 Provides a fiber factory for Unity using the default UnityFiberScheduler. More...
 
class  UnityFiberInstruction
 Represents a fiber instruction to be processed by a FiberScheduler. More...
 
class  UnityFiberScheduler
 FiberScheduler that can execute fibers (yieldable coroutines) during the update cycle of a MonoBehaviour. More...
 
class  UnitySynchronizationContext
 Unity synchronization context. More...
 
class  YieldForSeconds
 A FiberInstruction to pause execution of a fiber for the specified duration. More...
 
class  YieldToAnyFiber
 An instruction to yield execution to any fiber. More...
 
class  YieldToFiber
 Yield execution to a specific fiber belonging to the same scheduler as the current fiber. More...
 
class  YieldUntilComplete
 Yield execution until the watched fiber on the same scheduler is complete. More...
 

Enumerations

enum  FiberContinuationOptions {
  FiberContinuationOptions.None = 0x00000, FiberContinuationOptions.NotOnRanToCompletion = 0x10000, FiberContinuationOptions.NotOnFaulted = 0x20000, FiberContinuationOptions.NotOnCanceled = 0x40000,
  FiberContinuationOptions.OnlyOnRanToCompletion = 0x60000, FiberContinuationOptions.OnlyOnFaulted = 0x50000, FiberContinuationOptions.OnlyOnCanceled = 0x30000
}
 Specifies the behavior for a fiber that is created by using the Fiber.ContinueWith method. More...
 
enum  FiberStatus {
  FiberStatus.Created, FiberStatus.WaitingForActivation, FiberStatus.WaitingToRun, FiberStatus.Running,
  FiberStatus.RanToCompletion, FiberStatus.Canceled, FiberStatus.Faulted
}
 Represents the current state of a fiber. More...
 

Enumeration Type Documentation

Specifies the behavior for a fiber that is created by using the Fiber.ContinueWith method.

Enumerator
None 

When no continuation options are specified, default behavior should be used to execute a continuation.

The continuation runs asynchronously when the antecedent completes, regardless of the antecedent's final Fiber.Status property value.

NotOnRanToCompletion 

The continuation should not be scheduled if its antecedent ran to completion.

An antecedent runs to completion if its Fiber.Status property upon completion is FiberStatus.RanToCompletion. This option is not valid for multi-fiber continuations.

NotOnFaulted 

Specifies that the continuation should not be scheduled if its antecedent threw an unhandled exception.

An antecedent throws an unhandled exception if its Fiber.Status property upon completion is FiberStatus.Faulted. This option is not valid for multi-fiber continuations.

NotOnCanceled 

The continuation should not be scheduled if its antecedent was canceled.

An antecedent is canceled if its Fiber.Status property upon completion is FiberStatus.Canceled. This option is not valid for multi-fiber continuations.

OnlyOnRanToCompletion 

The continuation should be scheduled only if its antecedent ran to completion.

An antecedent runs to completion if its Fiber.Status property upon completion is FiberStatus.RanToCompletion. This option is not valid for multi-fiber continuations.

OnlyOnFaulted 

The continuation should be scheduled only if its antecedent threw an unhandled exception.

An antecedent throws an unhandled exception if its Fiber.Status property upon completion is FiberStatus.Faulted.

The OnlyOnFaulted option guarantees that the Fiber.Exception property in the antecedent is not null. You can use that property to catch the exception and see which exception caused the fiber to fault. If you do not access the Exception property, the exception is unhandled. If you attempt to access the Result property of a fiber that has been canceled or has faulted, a new exception is thrown.

This option is not valid for multi-fiber continuations.

OnlyOnCanceled 

Specifies that the continuation should be scheduled only if its antecedent was canceled.

An antecedent is canceled if its Fiber.Status property upon completion is FiberStatus.Canceled. This option is not valid for multi-fiber continuations.

Definition at line 9 of file FiberContinuationOptions.cs.

Represents the current state of a fiber.

Enumerator
Created 

The fiber has been initialized but has not yet been scheduled.

WaitingForActivation 

The fiber is waiting to be activated and scheduled internally.

Generally this indicates a ContinueWith state because the fiber is not queued to the scheduler, it's waiting to activate and be scheduled once the antecdent fiber completes.

WaitingToRun 

The fiber has been scheduled for execution but has not yet begun executing.

Running 

The fiber is running but has not yet completed.

RanToCompletion 

The fiber completed execution successfully.

Canceled 

The fiber acknowledged cancellation by throwing an OperationCanceledException with its own CancellationToken while the token was in signaled state, or the fiber's CancellationToken was already signaled before the fiber started executing.

Faulted 

The fiber completed due to an unhandled exception.

Definition at line 34 of file FiberStatus.cs.