libcaf  0.16.0
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Related Functions | List of all members
caf::actor_system_config Class Reference

Configures an actor_system on startup. More...

#include <actor_system_config.hpp>

Public Types

using hook_factory = std::function< io::hook *(actor_system &)>
 
using hook_factory_vector = std::vector< hook_factory >
 
using thread_hooks = std::vector< std::unique_ptr< thread_hook > >
 
template<class K , class V >
using hash_map = std::unordered_map< K, V >
 
using module_factory = std::function< actor_system::module *(actor_system &)>
 
using module_factory_vector = std::vector< module_factory >
 
using value_factory = std::function< type_erased_value_ptr()>
 
using value_factory_string_map = hash_map< std::string, value_factory >
 
using value_factory_rtti_map = hash_map< std::type_index, value_factory >
 
using actor_factory_map = hash_map< std::string, actor_factory >
 
using portable_name_map = hash_map< std::type_index, std::string >
 
using error_renderer = std::function< std::string(uint8_t, atom_value, const message &)>
 
using error_renderer_map = hash_map< atom_value, error_renderer >
 
using group_module_factory = std::function< group_module *()>
 
using group_module_factory_vector = std::vector< group_module_factory >
 
using config_map = dictionary< config_value::dictionary >
 
using string_list = std::vector< std::string >
 
using named_actor_config_map = hash_map< std::string, named_actor_config >
 
using opt_group = config_option_adder
 

Public Member Functions

 actor_system_config (actor_system_config &&)=default
 
 actor_system_config (const actor_system_config &)=delete
 
actor_system_configoperator= (const actor_system_config &)=delete
 
template<class T >
actor_system_configset (string_view name, T &&value)
 Sets a config by using its INI name config_name to config_value.
 
actor_system_configparse (string_list args, std::istream &ini)
 Parses args as tuple of strings containing CLI options and ini_stream as INI formatted input stream. More...
 
actor_system_configparse (string_list args, const char *ini_file_cstr=nullptr)
 Parses args as tuple of strings containing CLI options and tries to open ini_file_cstr as INI formatted config file. More...
 
actor_system_configparse (int argc, char **argv, std::istream &ini)
 Parses the CLI options {argc, argv} and ini_stream as INI formatted input stream. More...
 
actor_system_configparse (int argc, char **argv, const char *ini_file_cstr=nullptr)
 Parses the CLI options {argc, argv} and tries to open ini_file_cstr as INI formatted config file. More...
 
actor_system_configparse (message &args, const char *ini_file_cstr=nullptr) CAF_DEPRECATED
 
actor_system_configparse (message &args, std::istream &ini) CAF_DEPRECATED
 
actor_system_configadd_actor_factory (std::string name, actor_factory fun)
 Allows other nodes to spawn actors created by fun dynamically by using name as identifier. More...
 
template<class T , class... Ts>
actor_system_configadd_actor_type (std::string name)
 Allows other nodes to spawn actors of type T dynamically by using name as identifier. More...
 
template<class F >
actor_system_configadd_actor_type (std::string name, F f)
 Allows other nodes to spawn actors implemented by function f dynamically by using name as identifier. More...
 
template<class T >
actor_system_configadd_message_type (std::string name)
 Adds message type T with runtime type info name.
 
actor_system_configadd_error_category (atom_value x, error_renderer y)
 Enables the actor system to convert errors of this error category to human-readable strings via renderer. More...
 
template<class T >
actor_system_configadd_error_category (atom_value category)
 Enables the actor system to convert errors of this error category to human-readable strings via to_string(T). More...
 
template<class T , class... Ts>
actor_system_configload ()
 Loads module T with optional template parameters Ts....
 
template<class Factory >
actor_system_configadd_hook_factory (Factory f)
 Adds a factory for a new hook type to the middleman (if loaded).
 
template<class Hook >
actor_system_configadd_hook_type ()
 Adds a hook type to the middleman (if loaded).
 
template<class Hook , class... Ts>
actor_system_configadd_thread_hook (Ts &&... ts)
 Adds a hook type to the scheduler.
 
timespan streaming_credit_round_interval () const noexcept CAF_DEPRECATED
 

Public Attributes

bool cli_helptext_printed
 Stores whether the help text was printed. More...
 
message args_remainder CAF_DEPRECATED
 Stores CLI arguments that were not consumed by CAF.
 
string_list remainder
 Stores CLI arguments that were not consumed by CAF.
 
bool slave_mode
 Stores whether this node was started in slave mode.
 
std::string slave_name
 Name of this node when started in slave mode.
 
std::string bootstrap_node
 Credentials for connecting to the bootstrap node.
 
atom_value scheduler_policy CAF_DEPRECATED
 
size_t scheduler_max_threads CAF_DEPRECATED
 
size_t scheduler_max_throughput CAF_DEPRECATED
 
bool scheduler_enable_profiling CAF_DEPRECATED
 
size_t scheduler_profiling_ms_resolution CAF_DEPRECATED
 
std::string scheduler_profiling_output_file CAF_DEPRECATED
 
size_t work_stealing_aggressive_poll_attempts CAF_DEPRECATED
 
size_t work_stealing_aggressive_steal_interval CAF_DEPRECATED
 
size_t work_stealing_moderate_poll_attempts CAF_DEPRECATED
 
size_t work_stealing_moderate_steal_interval CAF_DEPRECATED
 
size_t work_stealing_moderate_sleep_duration_us CAF_DEPRECATED
 
size_t work_stealing_relaxed_steal_interval CAF_DEPRECATED
 
size_t work_stealing_relaxed_sleep_duration_us CAF_DEPRECATED
 
std::string logger_file_name CAF_DEPRECATED
 
std::string logger_file_format CAF_DEPRECATED
 
atom_value logger_console CAF_DEPRECATED
 
std::string logger_console_format CAF_DEPRECATED
 
std::string logger_component_filter CAF_DEPRECATED
 
atom_value logger_verbosity CAF_DEPRECATED
 
bool logger_inline_output CAF_DEPRECATED
 
atom_value middleman_network_backend CAF_DEPRECATED
 
std::string middleman_app_identifier CAF_DEPRECATED
 
bool middleman_enable_automatic_connections CAF_DEPRECATED
 
size_t middleman_max_consecutive_reads CAF_DEPRECATED
 
size_t middleman_heartbeat_interval CAF_DEPRECATED
 
bool middleman_detach_utility_actors CAF_DEPRECATED
 
bool middleman_detach_multiplexer CAF_DEPRECATED
 
size_t middleman_cached_udp_buffers CAF_DEPRECATED
 
size_t middleman_max_pending_msgs CAF_DEPRECATED
 
std::string opencl_device_ids
 
std::string openssl_certificate
 
std::string openssl_key
 
std::string openssl_passphrase
 
std::string openssl_capath
 
std::string openssl_cafile
 
value_factory_string_map value_factories_by_name
 
value_factory_rtti_map value_factories_by_rtti
 
actor_factory_map actor_factories
 
module_factory_vector module_factories
 
hook_factory_vector hook_factories
 
group_module_factory_vector group_module_factories
 
thread_hooks thread_hooks_
 
portable_name_map type_names_by_rtti
 
error_renderer_map error_renderers
 
std::string config_file_path
 Configures the file path for the INI file, caf-application.ini per default. More...
 
named_actor_config_map named_actor_configs
 
int(* slave_mode_fun )(actor_system &, const actor_system_config &)
 

Protected Member Functions

virtual std::string make_help_text (const std::vector< message::cli_arg > &)
 

Protected Attributes

config_option_set custom_options_
 

Related Functions

(Note that these are not member functions.)

const dictionary< dictionary< config_value > > & content (const actor_system_config &)
 

Detailed Description

Configures an actor_system on startup.

Member Function Documentation

◆ add_actor_factory()

actor_system_config& caf::actor_system_config::add_actor_factory ( std::string  name,
actor_factory  fun 
)

Allows other nodes to spawn actors created by fun dynamically by using name as identifier.

Attention
This feature is experimental.

◆ add_actor_type() [1/2]

template<class T , class... Ts>
actor_system_config& caf::actor_system_config::add_actor_type ( std::string  name)

Allows other nodes to spawn actors of type T dynamically by using name as identifier.

Attention
This feature is experimental.

◆ add_actor_type() [2/2]

template<class F >
actor_system_config& caf::actor_system_config::add_actor_type ( std::string  name,
f 
)

Allows other nodes to spawn actors implemented by function f dynamically by using name as identifier.

Attention
This feature is experimental.

◆ add_error_category() [1/2]

actor_system_config& caf::actor_system_config::add_error_category ( atom_value  x,
error_renderer  y 
)

Enables the actor system to convert errors of this error category to human-readable strings via renderer.

◆ add_error_category() [2/2]

template<class T >
actor_system_config& caf::actor_system_config::add_error_category ( atom_value  category)

Enables the actor system to convert errors of this error category to human-readable strings via to_string(T).

◆ parse() [1/4]

actor_system_config& caf::actor_system_config::parse ( string_list  args,
std::istream &  ini 
)

Parses args as tuple of strings containing CLI options and ini_stream as INI formatted input stream.

◆ parse() [2/4]

actor_system_config& caf::actor_system_config::parse ( string_list  args,
const char *  ini_file_cstr = nullptr 
)

Parses args as tuple of strings containing CLI options and tries to open ini_file_cstr as INI formatted config file.

The parsers tries to open caf-application.ini if ini_file_cstr is nullptr.

◆ parse() [3/4]

actor_system_config& caf::actor_system_config::parse ( int  argc,
char **  argv,
std::istream &  ini 
)

Parses the CLI options {argc, argv} and ini_stream as INI formatted input stream.

◆ parse() [4/4]

actor_system_config& caf::actor_system_config::parse ( int  argc,
char **  argv,
const char *  ini_file_cstr = nullptr 
)

Parses the CLI options {argc, argv} and tries to open ini_file_cstr as INI formatted config file.

The parsers tries to open caf-application.ini if ini_file_cstr is nullptr.

Friends And Related Function Documentation

◆ content()

const dictionary< dictionary< config_value > > & content ( const actor_system_config )
related

Member Data Documentation

◆ cli_helptext_printed

bool caf::actor_system_config::cli_helptext_printed

Stores whether the help text was printed.

If set to true, the application should not use this config to initialize an actor_system and instead return from main immediately.

◆ config_file_path

std::string caf::actor_system_config::config_file_path

Configures the file path for the INI file, caf-application.ini per default.


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