C++ Actor Framework 0.19
|
Implements scheduling of actors via work sharing (central job queue). More...
#include <work_sharing.hpp>
Public Types | |
using | queue_type = std::list< resumable * > |
Public Member Functions | |
template<class Coordinator > | |
bool | enqueue (Coordinator *self, resumable *job) |
template<class Coordinator > | |
void | central_enqueue (Coordinator *self, resumable *job) |
template<class Worker > | |
void | external_enqueue (Worker *self, resumable *job) |
template<class Worker > | |
void | internal_enqueue (Worker *self, resumable *job) |
template<class Worker > | |
void | resume_job_later (Worker *self, resumable *job) |
template<class Worker > | |
resumable * | dequeue (Worker *self) |
template<class Worker , class UnaryFunction > | |
void | foreach_resumable (Worker *, UnaryFunction) |
template<class Coordinator , class UnaryFunction > | |
void | foreach_central_resumable (Coordinator *self, UnaryFunction f) |
![]() | |
template<class Coordinator > | |
void | central_enqueue (Coordinator *self, resumable *job) |
Enqueues a new job to coordinator. | |
template<class Worker > | |
void | external_enqueue (Worker *self, resumable *job) |
Enqueues a new job to the worker's queue from an external source, i.e., from any other thread. | |
template<class Worker > | |
void | internal_enqueue (Worker *self, resumable *job) |
Enqueues a new job to the worker's queue from an internal source, i.e., from the same thread. | |
template<class Worker > | |
void | resume_job_later (Worker *self, resumable *job) |
Called whenever resumable returned for reason resumable::resume_later . | |
template<class Worker > | |
resumable * | dequeue (Worker *self) |
Blocks until a job could be dequeued. | |
template<class Worker > | |
void | before_shutdown (Worker *self) |
Performs cleanup action before a shutdown takes place. | |
template<class Worker > | |
void | before_resume (Worker *self, resumable *job) |
Called immediately before resuming an actor. | |
template<class Worker > | |
void | after_resume (Worker *self, resumable *job) |
Called whenever an actor has been resumed. | |
template<class Worker > | |
void | after_completion (Worker *self, resumable *job) |
Called whenever an actor has completed a job. | |
template<class Worker , typename UnaryFunction > | |
void | foreach_resumable (Worker *self, UnaryFunction f) |
Applies given functor to all resumables attached to a worker. | |
template<class Coordinator , typename UnaryFunction > | |
void | foreach_central_resumable (Coordinator *self, UnaryFunction f) |
Applies given functor to all resumables attached to the coordinator. | |
![]() | |
template<class Worker > | |
void | before_shutdown (Worker *) |
Performs cleanup action before a shutdown takes place. | |
template<class Worker > | |
void | before_resume (Worker *, resumable *) |
Called immediately before resuming an actor. | |
template<class Worker > | |
void | after_resume (Worker *, resumable *) |
Called whenever an actor has been resumed. | |
template<class Worker > | |
void | after_completion (Worker *, resumable *) |
Called whenever an actor has completed a job. | |
Additional Inherited Members | |
![]() | |
template<class WorkerOrCoordinator > | |
static auto | d (WorkerOrCoordinator *self) -> decltype(self->data()) |
Implements scheduling of actors via work sharing (central job queue).