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

Public Member Functions

 FiberTaskPool (Span< FiberTask > taskStorage, Span< char > stackStorage, size_t stackSize)
 
 FiberTaskPool (const FiberTaskPool &)=delete
 
FiberTaskPooloperator= (const FiberTaskPool &)=delete
 
Result create (FiberTaskClass &taskClass, FiberStackClass &stackClass)
 
Result close ()
 
Result spawn (FiberScheduler &scheduler, FiberTask::Procedure procedure, FiberTask **outTask=nullptr, FiberCounter *counter=nullptr)
 
Result spawn (FiberScheduler &scheduler, FiberTask::Procedure procedure, FiberCancellationToken token, FiberTask **outTask=nullptr, FiberCounter *counter=nullptr)
 
Result spawn (FiberScheduler &scheduler, FiberTask::Procedure procedure, const FiberTaskSpawnOptions &options, FiberTask **outTask=nullptr)
 
size_t capacity () const
 
size_t activeCount () const
 
size_t availableCount () const
 
bool hasAvailableTask () const
 
void diagnostics (FiberTaskPoolDiagnostics &outDiagnostics) const
 
Result waitForSpawnCapacity (FiberScheduler &scheduler)
 
Result waitForAvailableTask (FiberScheduler &scheduler)
 
size_t stackSizeInBytes () const
 
void fillHighWaterMarks ()
 
Result stackHighWaterUsedBytes (size_t stackIndex, size_t &outBytes) const
 
Result stackHighWaterUnusedBytes (size_t stackIndex, size_t &outBytes) const
 

Friends

struct FiberScheduler
 

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