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)
 
Result waitForAvailableTasks (FiberScheduler &scheduler, size_t minimumAvailable)
 Suspends until at least minimumAvailable task/stack pairs can be acquired.
 
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 FiberTaskGroup
 
struct FiberScheduler
 

Member Function Documentation

◆ waitForAvailableTasks()

Result SC::FiberTaskPool::waitForAvailableTasks ( FiberScheduler & scheduler,
size_t minimumAvailable )

Suspends until at least minimumAvailable task/stack pairs can be acquired.


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