| 
    C++ Actor Framework 0.19
    
   | 
 
A coordinator creates the workers, manages delayed sends and the central printer instance for aout.  
 More...
#include <abstract_coordinator.hpp>
  
Public Types | |
| enum | utility_actor_id : size_t {  printer_id , max_id }  | 
  Public Types inherited from caf::actor_system::module | |
| enum | id_t {  scheduler , middleman , openssl_manager , network_manager , num_ids }  | 
Public Member Functions | |
| abstract_coordinator (actor_system &sys) | |
| actor | printer () const | 
| Returns a handle to the central printing actor.  | |
| virtual detail::actor_local_printer_ptr | printer_for (local_actor *self) | 
| size_t | num_utility_actors () const | 
| Returns the number of utility actors.  | |
| virtual void | enqueue (resumable *what)=0 | 
Puts what into the queue of a randomly chosen worker.   | |
| actor_system & | system () | 
| const actor_system_config & | config () const | 
| size_t | max_throughput () const | 
| size_t | num_workers () const | 
| virtual bool | detaches_utility_actors () const | 
Returns true if this scheduler detaches its utility actors.   | |
| void | start () override | 
| Starts any background threads needed by the module.   | |
| void | init (actor_system_config &cfg) override | 
| Allows the module to change the configuration of the actor system during startup.   | |
| id_t | id () const override | 
| Returns the identifier of this module.   | |
| void * | subtype_ptr () override | 
| Returns a pointer to the subtype.   | |
| virtual actor_clock & | clock () noexcept=0 | 
  Public Member Functions inherited from caf::actor_system::module | |
| const char * | name () const noexcept | 
| Returns the human-readable name of the module.  | |
| virtual void | start ()=0 | 
| Starts any background threads needed by the module.   | |
| virtual void | stop ()=0 | 
| Stops all background threads of the module.   | |
| virtual void | init (actor_system_config &)=0 | 
| Allows the module to change the configuration of the actor system during startup.   | |
| virtual id_t | id () const =0 | 
| Returns the identifier of this module.   | |
| virtual void * | subtype_ptr ()=0 | 
| Returns a pointer to the subtype.   | |
Static Public Member Functions | |
| static void | cleanup_and_release (resumable *) | 
| static size_t | default_thread_count () noexcept | 
Protected Member Functions | |
| void | stop_actors () | 
Protected Attributes | |
| std::atomic< size_t > | next_worker_ | 
| ID of the worker receiving the next enqueue (round-robin dispatch).  | |
| size_t | max_throughput_ | 
| Number of messages each actor is allowed to consume per resume.  | |
| size_t | num_workers_ | 
| Configured number of workers.  | |
| std::array< actor, max_id > | utility_actors_ | 
| Background workers, e.g., printer.  | |
| actor_system & | system_ | 
| Reference to the host system.  | |
A coordinator creates the workers, manages delayed sends and the central printer instance for aout. 
It also forwards sends from detached workers or non-actor threads to randomly chosen workers.
      
  | 
  virtual | 
Returns true if this scheduler detaches its utility actors. 
Reimplemented in caf::scheduler::test_coordinator.
      
  | 
  pure virtual | 
Puts what into the queue of a randomly chosen worker. 
Implemented in caf::scheduler::coordinator< Policy >, caf::scheduler::coordinator< policy::profiled< policy::work_stealing > >, and caf::scheduler::test_coordinator.
      
  | 
  overridevirtual | 
Returns the identifier of this module.
Implements caf::actor_system::module.
      
  | 
  overridevirtual | 
Allows the module to change the configuration of the actor system during startup.
Implements caf::actor_system::module.
Reimplemented in caf::scheduler::profiled_coordinator< Policy >.
      
  | 
  overridevirtual | 
Starts any background threads needed by the module.
Implements caf::actor_system::module.
Reimplemented in caf::scheduler::coordinator< Policy >, caf::scheduler::coordinator< policy::profiled< policy::work_stealing > >, caf::scheduler::profiled_coordinator< Policy >, and caf::scheduler::test_coordinator.
      
  | 
  overridevirtual | 
Returns a pointer to the subtype.
Implements caf::actor_system::module.