libcaf  0.15.5
Public Types | Public Member Functions | List of all members
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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: