libcaf  0.15.5
Classes | Public Member Functions | List of all members
caf::policy::scheduler_policy Class Reference

This concept class describes a policy for worker and coordinator of the scheduler. More...

#include <scheduler_policy.hpp>

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

Classes

struct  coordinator_data
 Policy-specific data fields for the coordinator. More...
 
struct  worker_data
 Policy-specific data fields for the worker. More...
 

Public Member Functions

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.
 

Detailed Description

This concept class describes a policy for worker and coordinator of the scheduler.

Member Function Documentation

template<class Worker >
void caf::policy::scheduler_policy::after_resume ( Worker *  self,
resumable job 
)

Called whenever an actor has been resumed.

This function can prepare some fields before the next resume operation takes place or perform cleanup actions between to actor runs.

template<class Worker >
resumable* caf::policy::scheduler_policy::dequeue ( Worker *  self)

Blocks until a job could be dequeued.

Called by the worker itself to acquire a new job.

template<class Worker >
void caf::policy::scheduler_policy::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 caf::policy::scheduler_policy::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.


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