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

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()

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

FiberThread * Fibers::currentThread
thread_local