CAF 0.17.6
Loading...
Searching...
No Matches
caf::policy::work_sharing Class Reference

Implements scheduling of actors via work sharing (central job queue). More...

#include <work_sharing.hpp>

Inheritance diagram for caf::policy::work_sharing:
caf::policy::scheduler_policy caf::policy::unprofiled

Public Types

using queue_type = std::list<resumable*>

Public Member Functions

template<class Coordinator>
void 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>
resumabledequeue (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)
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>
resumabledequeue (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())

Detailed Description

Implements scheduling of actors via work sharing (central job queue).


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