|
C++ Actor Framework 0.19
|
Implements scheduling of actors via work stealing. More...
#include <work_stealing.hpp>
Public Types | |
| using | queue_type = detail::double_ended_queue< resumable > |
Public Member Functions | |
| template<class Worker > | |
| resumable * | try_steal (Worker *self) |
| 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 *self, UnaryFunction f) |
| template<class Coordinator , class UnaryFunction > | |
| void | foreach_central_resumable (Coordinator *, UnaryFunction) |
Public Member Functions inherited from caf::policy::scheduler_policy | |
| 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. | |
Public Member Functions inherited from caf::policy::unprofiled | |
| 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 | |
Static Protected Member Functions inherited from caf::policy::unprofiled | |
| template<class WorkerOrCoordinator > | |
| static auto | d (WorkerOrCoordinator *self) -> decltype(self->data()) |
Implements scheduling of actors via work stealing.