The system context holds root supervisor_t (intrusive pointer) and may be loop-related details in derived classes.
More...
#include <system_context.h>
Public Member Functions | |
| template<typename Supervisor = supervisor_t> | |
| auto | create_supervisor () |
| returns builder for root supervisor | |
| supervisor_ptr_t | get_supervisor () noexcept |
| returns root supervisor | |
| system_context_t (const system_context_t &)=delete | |
| system_context_t (system_context_t &&)=delete | |
| virtual void | on_error (actor_base_t *actor, const extended_error_ptr_t &ec) noexcept |
| fatal error handler | |
| virtual std::string | identity () noexcept |
| identifies the context. | |
| template<typename T> | |
| auto & | access () noexcept |
| generic non-public fields accessor | |
| const message_stringifier_t & | get_stringifier () |
| returns the default stringifier | |
Protected Member Functions | |
| virtual message_stringifier_ptr_t | make_stringifier () const noexcept |
| constructs message stringifier | |
Friends | |
| struct | supervisor_t |
The system context holds root supervisor_t (intrusive pointer) and may be loop-related details in derived classes.
| const message_stringifier_t & rotor::system_context_t::get_stringifier | ( | ) |
returns the default stringifier
The stringifier is lazily constructed on demand via make_stringifier method.
|
virtualnoexcept |
identifies the context.
By default, is is just human-readable address of the system context
|
virtualnoexcept |
fatal error handler
The error is fatal, is further rotor behavior is undefined. The method should be overriden in derived classes for error propagation/notification. The default implementation is to output the error to std::err and invoke std::abort().