Nebula
Loading...
Searching...
No Matches
Fibers Namespace Reference

Detailed Description

Fiber implementation header.

Fibers are a more lightweight form of jobs which allows recursive job generation, manual pausing and resuming, and more generic code execution to ordinary jobs.

Classes

class  Fiber
 
struct  fiber_ctx_t
 
struct  fiber_t
 
struct  FiberContext
 
class  FiberQueue
 
struct  FiberQueueCreateInfo
 
class  FiberThread
 
struct  FiberWaitContext
 

Functions

 __ImplementClass (Fibers::FiberThread, 'FITH', Threading::Thread)
 
void FiberFunction (void *param)
 
template<class T >
void Enqueue (FiberQueue::JobFunction function, const Util::FixedArray< T * > &contexts, Threading::AtomicCounter *counter)
 
void Wait (Threading::AtomicCounter *counter, int value)
 
void Lock (Threading::AtomicCounter *counter, int value)
 
static void FiberStartFunction (void *p)
 

Variables

thread_local FiberThreadcurrentThread
 

Function Documentation

◆ __ImplementClass()

Fibers::__ImplementClass ( Fibers::FiberThread ,
'FITH' ,
Threading::Thread  )

◆ Enqueue()

template<class T >
void Fibers::Enqueue ( FiberQueue::JobFunction function,
const Util::FixedArray< T * > & contexts,
Threading::AtomicCounter * counter )
inline

◆ FiberFunction()

void Fibers::FiberFunction ( void * param)

◆ FiberStartFunction()

static void Fibers::FiberStartFunction ( void * p)
static

◆ Lock()

void Fibers::Lock ( Threading::AtomicCounter * counter,
int value )
inline

◆ Wait()

void Fibers::Wait ( Threading::AtomicCounter * counter,
int value )
inline

Variable Documentation

◆ currentThread

thread_local FiberThread * Fibers::currentThread