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:

## 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>
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)
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())

## Detailed Description

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

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

- /build/actor-framework-Z9pIPl/actor-framework-0.17.6/libcaf_core/caf/policy/work_sharing.hpp