CCF
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
ccf::tasks::JobBoard::PImpl Struct Reference

Public Types

using WorkerThreadPtr = std::shared_ptr< WaitingWorkerThread >
 

Public Member Functions

void add_task (Task &&task)
 
Task get_task ()
 
Task wait_for_task (const std::chrono::milliseconds &timeout)
 
void add_timed_task (Task task, std::chrono::milliseconds initial_delay, std::optional< std::chrono::milliseconds > periodic_delay)
 
void tick (std::chrono::milliseconds elapsed)
 

Public Attributes

std::mutex mutex
 
std::queue< Taskpending_tasks
 
std::shared_ptr< std::vector< WorkerThreadPtr > > waiting_worker_threads
 
Delayed delayed
 

Member Typedef Documentation

◆ WorkerThreadPtr

Member Function Documentation

◆ add_task()

void ccf::tasks::JobBoard::PImpl::add_task ( Task &&  task)
inline

◆ add_timed_task()

void ccf::tasks::JobBoard::PImpl::add_timed_task ( Task  task,
std::chrono::milliseconds  initial_delay,
std::optional< std::chrono::milliseconds >  periodic_delay 
)
inline

◆ get_task()

Task ccf::tasks::JobBoard::PImpl::get_task ( )
inline

◆ tick()

void ccf::tasks::JobBoard::PImpl::tick ( std::chrono::milliseconds  elapsed)
inline

◆ wait_for_task()

Task ccf::tasks::JobBoard::PImpl::wait_for_task ( const std::chrono::milliseconds &  timeout)
inline

Member Data Documentation

◆ delayed

Delayed ccf::tasks::JobBoard::PImpl::delayed

◆ mutex

std::mutex ccf::tasks::JobBoard::PImpl::mutex

◆ pending_tasks

std::queue<Task> ccf::tasks::JobBoard::PImpl::pending_tasks

◆ waiting_worker_threads

std::shared_ptr<std::vector<WorkerThreadPtr> > ccf::tasks::JobBoard::PImpl::waiting_worker_threads
Initial value:
=
std::make_shared<std::vector<WorkerThreadPtr>>()

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