|
Nebula
|
#include <fibers.h>
Classes | |
| struct | Job |
Public Types | |
| typedef void(* | JobFunction) (void *context) |
| typedef void(* | FiberFunction) () |
Public Member Functions | |
| FiberQueue () | |
| constructor | |
| virtual | ~FiberQueue () |
| destructor | |
Static Public Member Functions | |
| static void | Setup (const FiberQueueCreateInfo &info) |
| setup job queue | |
| static void | Discard () |
| discard job queue | |
| template<class T> | |
| static void | Enqueue (JobFunction function, const Util::FixedArray< T * > &contexts, Threading::AtomicCounter *counter) |
| enqueue job | |
| static void | Free (uint id) |
| free a fiber | |
| static void | Sleep (FiberWaitContext context) |
| sleep fiber | |
| static bool | WakeupFiber (Fibers::FiberContext &fiber) |
| wake up sleeping fibers | |
| static bool | Dequeue (Fibers::FiberContext &fiber) |
| dequeue job as a fiber | |
Static Private Attributes | |
| static Threading::LockFreeQueue< Job > | PendingJobsQueue |
| async queues | |
| static Threading::LockFreeQueue< uint > | FiberIdQueue |
| static Util::FixedArray< Fibers::Fiber > | Fibers |
| storage | |
| static Util::FixedArray< FiberQueue::Job > | FiberContexts |
| static Util::FixedArray< Ptr< FiberThread > > | Threads |
| static Threading::CriticalSection | SleepLock |
| sleeping fibers | |
| static Util::Array< FiberWaitContext > | SleepingFibers |
| typedef void(* Fibers::FiberQueue::FiberFunction) () |
| typedef void(* Fibers::FiberQueue::JobFunction) (void *context) |
| Fibers::FiberQueue::FiberQueue | ( | ) |
constructor
|
virtual |
destructor
|
static |
dequeue job as a fiber
|
static |
discard job queue
|
inlinestatic |
enqueue job
|
static |
free a fiber
|
static |
setup job queue
|
static |
sleep fiber
|
static |
wake up sleeping fibers
|
staticprivate |
|
staticprivate |
|
staticprivate |
storage
|
staticprivate |
async queues
|
staticprivate |
|
staticprivate |
sleeping fibers
|
staticprivate |