Sane C++ Libraries
C++ Platform Abstraction Libraries
Loading...
Searching...
No Matches
SC::FiberJobWorkerPool Struct Reference

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
 
FiberJobWorkerPooloperator= (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
 

Detailed Description

No-allocation OS-thread-owning pool for bounded stackless FiberJob execution.

Member Function Documentation

◆ join()

Result SC::FiberJobWorkerPool::join ( )

Persistent pools reject join until requestStop() has established the terminal boundary.

◆ waitIdle()

Result SC::FiberJobWorkerPool::waitIdle ( )

Waits for the scheduler to reach an idle observation point without stopping a persistent pool.


The documentation for this struct was generated from the following file: