No-allocation OS-thread-owning pool for bounded stackless FiberJob execution. More...
#include <Fibers.h>
Classes | |
| struct | WakeEventDefinition |
Public Types | |
| using | WakeEventOpaque = OpaqueObject<WakeEventDefinition> |
Public Member Functions | |
| FiberJobWorkerPool (const FiberJobWorkerPool &)=delete | |
| FiberJobWorkerPool & | operator= (const FiberJobWorkerPool &)=delete |
| Result | start (FiberJobScheduler &scheduler, Span< FiberJobWorker > workerStorage, Span< FiberJobWorkerThread > threadStorage, const FiberJobWorkerPoolOptions &options) |
| Result | waitIdle () |
| Waits for the scheduler to reach an idle observation point without stopping a persistent pool. | |
| Result | requestStop () |
| Result | join () |
| Persistent pools reject join until requestStop() has established the terminal boundary. | |
| Result | shutdown () |
| bool | isRunning () const |
| size_t | workerCount () const |
| size_t | parkedWorkerCount () const |
Friends | |
| struct | FiberJobScheduler |
| struct | FiberJobWorkerThread |
No-allocation OS-thread-owning pool for bounded stackless FiberJob execution.
| Result SC::FiberJobWorkerPool::join | ( | ) |
Persistent pools reject join until requestStop() has established the terminal boundary.
| Result SC::FiberJobWorkerPool::waitIdle | ( | ) |
Waits for the scheduler to reach an idle observation point without stopping a persistent pool.