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  FiberContext
struct  FiberWaitContext
class  FiberThread
struct  FiberQueueCreateInfo
class  FiberQueue
struct  fiber_t
struct  fiber_ctx_t

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