|
C++ Actor Framework 0.18
|
Root namespace of libcaf. More...
Namespaces | |
| namespace | exit_reason |
| Contains all predefined exit reasons. | |
| namespace | io |
| Contains all IO-related classes and functions. | |
| namespace | mixin |
| Contains mixin classes implementing several actor traits. | |
| namespace | policy |
| Contains policies encapsulating characteristics or algorithms. | |
Classes | |
| class | abstract_actor |
| Base class for all actor implementations. More... | |
| class | abstract_channel |
| Interface for all message receivers. More... | |
| class | abstract_group |
| A multicast group. More... | |
| class | action |
A functional interface similar to std::function<void()> with dispose semantics. More... | |
| class | actor |
| Identifies an untyped actor. More... | |
| class | actor_addr |
| Stores the address of typed as well as untyped actors. More... | |
| class | actor_clock |
| A monotonic clock for scheduling timeouts and delayed messages. More... | |
| class | actor_companion |
| An co-existing actor forwarding all messages through a user-defined callback to another object, thus serving as gateway to allow any object to interact with other actors. More... | |
| class | actor_config |
| Stores spawn-time flags and groups. More... | |
| class | actor_control_block |
| Actors are always allocated with a control block that stores its identity as well as strong and weak reference counts to it. More... | |
| class | actor_ostream |
| Provides support for thread-safe output operations on character streams. More... | |
| class | actor_pool |
| An actor poool is a lightweight abstraction for a set of workers. More... | |
| class | actor_profiler |
| A profiler which provides a set of callbacks for several actor operations in order to collect fine-grained profiling state about the system. More... | |
| class | actor_proxy |
| Represents an actor running on a remote machine, or different hardware, or in a separate process. More... | |
| class | actor_registry |
| A registry is used to associate actors to IDs or names. More... | |
| class | actor_system |
| Actor environment including scheduler, registry, and optional components such as a middleman. More... | |
| class | actor_system_config |
Configures an actor_system on startup. More... | |
| struct | actor_traits |
| Provides uniform access to properties of actor types. More... | |
| struct | allowed_unsafe_message_type |
| Template specializations can whitelist individual types for unsafe message passing operations. More... | |
| class | attachable |
| Callback utility class. More... | |
| class | behavior |
| Describes the behavior of an actor, i.e., provides a message handler and an optional timeout. More... | |
| class | binary_deserializer |
| Deserializes C++ objects from sequence of bytes. More... | |
| class | binary_serializer |
| Serializes C++ objects into a sequence of bytes. More... | |
| class | blocking_actor |
| A thread-mapped or context-switching actor using a blocking receive rather than a behavior-stack based message processing. More... | |
| struct | blocking_actor_base |
| Marker type for blocking actors. More... | |
| class | buffered_downstream_manager |
| Mixin for streams with any number of downstreams. More... | |
| class | byte_address |
| Base type for addresses based on a byte representation such as IP or Ethernet addresses. More... | |
| class | callback |
| Describes a simple callback, usually implemented via lambda expression. More... | |
| class | callback_impl |
Utility class for wrapping a function object of type F. More... | |
| struct | composed_type |
| Computes the type for f*g (actor composition). More... | |
| class | config_option |
| Defines a configuration option for the application. More... | |
| class | config_option_adder |
Adds config options of the same category to a config_option_set. More... | |
| class | config_option_set |
A set of config_option objects that parses CLI arguments into a settings object. More... | |
| class | config_value |
A type for config parameters with similar interface to a variant. More... | |
| class | config_value_reader |
| Extracts objects from a config_value. More... | |
| class | config_value_writer |
| Serializes an objects into a config_value. More... | |
| class | cow_tuple |
| A copy-on-write tuple implementation. More... | |
| class | credit_controller |
| Computes credit for an attached source. More... | |
| struct | deep_to_string_t |
Wraps deep_to_string into a function object. More... | |
| struct | default_actor_traits |
Default implementation of actor_traits for non-actors (SFINAE-friendly). More... | |
| struct | default_actor_traits< T, true > |
Default implementation of actor_traits for regular actors. More... | |
| struct | default_downstream_manager |
| Selects a downstream manager implementation based on the signature of various handlers. More... | |
| struct | default_sum_type_access |
Allows specializing the sum_type_access trait for any type that simply wraps a variant and exposes it with a get_data() member function. More... | |
| class | delegated |
| Helper class to indicate that a request has been forwarded. More... | |
| class | deserializer |
| Technology-independent deserialization interface. More... | |
| class | dictionary |
Maps strings to values of type V, but unlike std::map<std::string, V> accepts string_view for looking up keys efficiently. More... | |
| class | disposable |
| Represents a disposable resource. More... | |
| struct | down_msg |
| Sent to all actors monitoring an actor when it is terminated. More... | |
| class | downstream |
| Grants access to an output stream buffer. More... | |
| class | downstream_manager |
Manages downstream communication for a stream_manager. More... | |
| class | downstream_manager_base |
| The default downstream manager base stores outbound paths in an unordered map. More... | |
| struct | downstream_msg |
| Stream messages that travel downstream, i.e., batches and close messages. More... | |
| struct | downstream_msg_batch |
| Transmits stream data. More... | |
| struct | downstream_msg_close |
| Orderly shuts down a stream after receiving an ACK for the last batch. More... | |
| struct | downstream_msg_forced_close |
| Propagates a fatal error from sources to sinks. More... | |
| struct | dynamically_typed_actor_base |
| Marker type for dynamically typed actors. More... | |
| class | error |
| A serializable type for storing error codes with category and optional, human-readable context information. More... | |
| class | error_code |
| A lightweight wrapper around an error code enum. More... | |
| class | event_based_actor |
| A cooperatively scheduled, event-based actor implementation. More... | |
| class | event_based_mtl |
| Enables event-based actors to generate messages from a user-defined data exchange format such as JSON and to send the generated messages to another (typed) actor. More... | |
| class | execution_unit |
| Identifies an execution unit, e.g., a worker thread of the scheduler. More... | |
| struct | exit_msg |
| Sent to all links when an actor is terminated. More... | |
| class | expected |
Represents the result of a computation which can either complete successfully with an instance of type T or fail with an error. More... | |
| class | expected< void > |
The pattern expected<void> shall be used for functions that may generate an error but would otherwise return bool. More... | |
| struct | extend |
| Allows convenient definition of types using mixins. More... | |
| class | forwarding_actor_proxy |
| Implements a simple proxy forwarding all operations to a manager. More... | |
| class | function_view |
| A function view for an actor hides any messaging from the caller. More... | |
| class | fused_downstream_manager |
| A downstream manager that delegates to any number of sub-managers. More... | |
| struct | get_or_auto_deduce |
| Configures get_or to uses the get_or_deduction_guide. More... | |
| struct | get_or_deduction_guide |
| Customization point for configuring automatic mappings from default value types to deduced types. More... | |
| struct | group_down_msg |
| Sent to all members of a group when it goes offline. More... | |
| class | group_module |
| Interface for user-defined multicast implementations. More... | |
| class | handle |
Base class for IO handles such as accept_handle or connection_handle. More... | |
| struct | has_sum_type_access |
Evaluates to true if T specializes sum_type_access. More... | |
| struct | illegal_message_element |
| Marker class identifying classes in CAF that are not allowed to be used as message element. More... | |
| class | inbound_path |
| State for a path to an upstream actor (source). More... | |
| class | inbound_stream_slot |
| Wraps a stream slot ID for inbound paths with the full type information of the path creation. More... | |
| struct | infer_handle_from_class |
Deduces actor for dynamically typed actors, otherwise typed_actor<...> is deduced. More... | |
| struct | infer_handle_from_fun |
| Deduces an actor handle type from a function or function object. More... | |
| struct | inspector_access |
| Customization point for adding support for a custom type. More... | |
| struct | inspector_access_base |
Provides default implementations for save_field and load_field. More... | |
| struct | inspector_access_type |
| Wraps tag types for static dispatching. More... | |
| class | intrusive_cow_ptr |
| An intrusive, reference counting smart pointer implementation with copy-on-write optimization. More... | |
| class | intrusive_ptr |
| An intrusive, reference counting smart pointer implementation. More... | |
| class | ipv4_endpoint |
| An IP endpoint that contains an ::ipv4_address and a port. More... | |
| class | ipv6_endpoint |
| An IP endpoint that contains an ::ipv6_address and a port. More... | |
| struct | is_actor_handle |
Checks whether T is an actor or a typed_actor<...>. More... | |
| struct | is_error_code_enum |
| Customization point for enabling conversion from an enum type to an error or error_code. More... | |
| struct | is_typed_actor |
Evaluates to true if T is a typed_actor<...>. More... | |
| class | json_reader |
| Deserializes an inspectable object from a JSON-formatted string. More... | |
| class | json_writer |
| Serializes an inspectable object to a JSON-formatted string. More... | |
| class | load_inspector |
| Base type for inspectors that load objects from some input source. More... | |
| class | local_actor |
| Base class for actors running on this node, either living in an own thread or cooperatively scheduled. More... | |
| class | logger |
| Centrally logs events from all actors in an actor system. More... | |
| class | make_sink_result |
| Returns a stream sink with the slot ID of its first inbound path. More... | |
| class | make_source_result |
| Returns a stream source with the slot ID of its first outbound path. More... | |
| class | make_stage_result |
| Returns a stream stage with the slot IDs of its first in- and outbound paths. More... | |
| class | message |
| Describes a fixed-length, copy-on-write, type-erased tuple with elements of any type. More... | |
| class | message_builder |
Provides a convenient interface for creating message objects from a series of values using the member function append. More... | |
| class | message_handler |
A partial function implementation used to process a message. More... | |
| class | message_id |
| Bundles various flags along with an optional request ID. More... | |
| class | monitorable_actor |
| Base class for all actor implementations. More... | |
| struct | no_stages_t |
| Convenience tag type for producing empty forwarding stacks. More... | |
| struct | node_down_msg |
| Sent to all actors monitoring a node when CAF loses connection to it. More... | |
| class | node_id |
| A node ID is an opaque value for representing CAF instances in the network. More... | |
| struct | non_blocking_actor_base |
| Marker type for non-blocking actors. More... | |
| struct | none_t |
Represents "nothing", e.g., for clearing an optional by assigning none. More... | |
| struct | open_stream_msg |
| Demands the receiver to open a new stream from the sender to the receiver. More... | |
| class | optional |
A C++17 compatible optional implementation. More... | |
| class | optional< T & > |
Template specialization to allow optional to hold a reference rather than an actual value with minimal overhead. More... | |
| struct | optional_inspector_access |
| Provides inspector access for types that represent optional values. More... | |
| class | outbound_path |
State for a single path to a sink of a downstream_manager. More... | |
| class | outbound_stream_slot |
| Wraps a stream slot ID for outbound paths with the full type information of the path creation. More... | |
| struct | parser_state |
| Stores all information necessary for implementing an FSM-based parser. More... | |
| struct | partial_behavior_init_t |
Tag type for constructing a typed_behavior with an incomplete list of message handlers, delegating to the default handler for all unmatched inputs. More... | |
| class | proxy_registry |
| Groups a (distributed) set of actors and allows actors in the same namespace to exchange messages. More... | |
| class | ref_counted |
| Base class for reference counted objects with an atomic reference count. More... | |
| class | response_handle |
This helper class identifies an expected response message and enables request(...).then(...). More... | |
| class | response_promise |
| Enables actors to delay a response message by capturing the context of a request message. More... | |
| struct | response_type |
| Defines: More... | |
| struct | response_type_unbox |
Unboxes Xs and calls response_type. More... | |
| class | result |
Wraps the result of a message handler to represent either a value (wrapped into a message), a delegated<Ts...> (indicates that another actor is going to respond), or an error. More... | |
| class | result_base |
Base type for all specializations of result. More... | |
| class | resumable |
A cooperatively executed task managed by one or more instances of execution_unit. More... | |
| class | save_inspector |
| Base type for inspectors that save objects to some output sink. More... | |
| class | scoped_actor |
| A scoped handle to a blocking actor. More... | |
| class | scoped_execution_unit |
| Identifies an execution unit, e.g., a worker thread of the scheduler. More... | |
| class | serializer |
| Technology-independent serialization interface. More... | |
| class | skip_t |
| Default handler function that leaves messages in the mailbox. More... | |
| class | span |
A C++11/14 drop-in replacement for C++20's std::span without support for static extents. More... | |
| class | stateful_actor |
| An event-based actor with managed state. More... | |
| struct | statically_typed_actor_base |
| Marker type for statically typed actors. More... | |
| class | stream |
| Empty marker type for streaming handshakes. More... | |
| struct | stream_finalize_trait |
| Dispatches a finalize call to a function taking either one or two arguments. More... | |
| struct | stream_finalize_trait< Fun, State, false > |
| Specializes the trait for callbacks that only take the state. More... | |
| struct | stream_finalize_trait< Fun, State, true > |
| Specializes the trait for callbacks that take state and error. More... | |
| class | stream_manager |
| Manages a single stream with any number of in- and outbound paths. More... | |
| class | stream_sink_driver |
| Identifies an unbound sequence of messages. More... | |
| struct | stream_sink_trait |
| Defines required type aliases for stream sinks. More... | |
| struct | stream_sink_trait< void(State &, const std::vector< In > &)> |
| Specializes the trait for batch-wise processing with const references. More... | |
| struct | stream_sink_trait< void(State &, In)> |
| Specializes the trait for element-wise processing. More... | |
| struct | stream_sink_trait< void(State &, std::vector< In > &)> |
| Specializes the trait for batch-wise processing. More... | |
| struct | stream_sink_trait_base |
| Base type for all sink traits. More... | |
| struct | stream_slots |
Maps two stream_slot values into a pair for storing sender and receiver slot information. More... | |
| class | stream_source_driver |
| Identifies an unbound sequence of messages. More... | |
| struct | stream_source_trait |
Deduces the output type and the state type for a stream source from its pull implementation. More... | |
| class | stream_stage_driver |
| Encapsulates user-provided functionality for generating a stream stage. More... | |
| struct | stream_stage_trait< void(State &, downstream< Out > &, In)> |
Deduces the input type, output type and the state type for a stream stage from its process implementation. More... | |
| class | string_view |
| Drop-in replacement for C++17 std::string_view. More... | |
| struct | sum_type_access |
Specializing this trait allows users to enable holds_alternative, get, get_if, and visit for any user-defined sum type. More... | |
| struct | sum_type_access< variant< Ts... > > |
Enable holds_alternative, get, get_if, and visit for variant. More... | |
| class | thread_hook |
| Interface to define thread hooks. More... | |
| class | tracing_data |
| Marker interface for application-specific tracing data. More... | |
| class | tracing_data_factory |
| Creates instances of tracing_data. More... | |
| struct | type_by_id |
Maps the globally unique ID V to a type (inverse to ::type_id). More... | |
| class | type_erased_value |
| Represents a single type-erased value. More... | |
| struct | type_id |
Maps the type T to a globally unique ID. More... | |
| class | type_id_list |
| A list of type IDs, stored in a size-prefix, contiguous memory block. More... | |
| struct | type_name |
Convenience type that resolves to type_name_by_id<type_id_v<T>>. More... | |
| struct | type_name< void > |
Convenience specialization that enables generic code to not treat void manually. More... | |
| struct | type_name_by_id |
Maps the globally unique ID V to a type name. More... | |
| class | typed_actor |
| Identifies a statically typed actor. More... | |
| class | typed_actor_view |
| Decorates a pointer to a scheduled_actor with a statically typed actor interface. More... | |
| struct | typed_actor_view_base |
| Tag type for typed_actor_view. More... | |
| class | typed_event_based_actor |
| A cooperatively scheduled, event-based actor implementation with static type-checking. More... | |
| class | typed_response_promise |
| Enables statically typed actors to delay a response message by capturing the context of a request message. More... | |
| struct | unit_t |
Unit is analogous to void, but can be safely returned, stored, etc. More... | |
| struct | unsafe_behavior_init_t |
| Empty struct tag for constructing a typed behavior from an untyped behavior. More... | |
| struct | upstream_msg |
| Stream messages that flow upstream, i.e., acks and drop messages. More... | |
| struct | upstream_msg_ack_batch |
| Cumulatively acknowledges received batches and signalizes new demand from a sink to its source. More... | |
| struct | upstream_msg_ack_open |
Acknowledges a previous open message and finalizes a stream handshake. More... | |
| struct | upstream_msg_drop |
| Asks the source to discard any remaining credit and close this path after receiving an ACK for the last batch. More... | |
| struct | upstream_msg_forced_drop |
| Propagates a fatal error from sinks to sources. More... | |
| class | uri |
| A URI according to RFC 3986. More... | |
| class | uuid |
| A universally unique identifier according to RFC 4122. More... | |
| class | variant |
A variant represents always a valid value of one of the types Ts.... More... | |
| class | weak_intrusive_ptr |
| An intrusive, reference counting smart pointer implementation. More... | |
Typedefs | |
| using | actor_factory_result = std::pair< strong_actor_ptr, std::set< std::string > > |
| using | actor_factory = std::function< actor_factory_result(actor_config &, message &)> |
| using | selfptr_mode_token = spawn_mode_token< spawn_mode::function_with_selfptr > |
| using | void_mode_token = spawn_mode_token< spawn_mode::function > |
| using | byte_buffer = std::vector< byte > |
| A buffer for storing binary data. | |
| using | byte_span = span< byte > |
| Convenience alias for referring to a writable sequence of bytes. | |
| using | const_byte_span = span< const byte > |
| Convenience alias for referring to a read-only sequence of bytes. | |
| template<class Signature > | |
| using | unique_callback_ptr = std::unique_ptr< callback< Signature > > |
| Smart pointer type for heap-allocated callbacks with unique ownership. | |
| template<class Signature > | |
| using | shared_callback_ptr = std::shared_ptr< callback< Signature > > |
| Smart pointer type for heap-allocated callbacks with shared ownership. | |
| template<class T > | |
| using | signatures_of_t = typename signatures_of< T >::type |
| template<class T > | |
| using | deduce_mpi_t = typename detail::dmfou< std::decay_t< T > >::type |
| Deduces the message passing interface from a function object. | |
| template<class F > | |
| using | default_downstream_manager_t = typename default_downstream_manager< F >::type |
| template<class T > | |
| using | function_view_flattened_result_t = typename function_view_flattened_result< T >::type |
| using | actor_id = uint64_t |
| using | ip_address = ipv6_address |
An IP address. The address family is IPv6 unless embeds_v4 returns true. | |
| using | ip_endpoint = ipv6_endpoint |
| An IP endpoint that contains an ::ipv6_address and a port. | |
| using | ip_subnet = ipv6_subnet |
| An IP subnetwork. | |
| using | settings = dictionary< config_value > |
| using | skippable_result = variant< delegated< message >, message, error, skip_t > |
Similar to result<message>, but also allows to skip a message. | |
| using | stream_slot = uint16_t |
| Identifies a single stream path in the same way a TCP port identifies a connection over IP. | |
| using | type_id_t = uint16_t |
| Internal representation of a type ID. | |
| using | weak_actor_ptr = weak_intrusive_ptr< actor_control_block > |
| using | group_module_ptr = intrusive_ptr< group_module > |
| using | stream_manager_ptr = intrusive_ptr< stream_manager > |
| using | strong_actor_ptr = intrusive_ptr< actor_control_block > |
| using | mailbox_element_ptr = std::unique_ptr< mailbox_element > |
| using | tracing_data_ptr = std::unique_ptr< tracing_data > |
| template<spawn_mode X> | |
| using | spawn_mode_token = std::integral_constant< spawn_mode, X > |
| template<class Found , class Expected > | |
| using | interface_mismatch_t = detail::imi< 0, Found, Expected, detail::type_list<> > |
| Scans two typed MPI lists for compatibility, returning the index of the first mismatch. | |
| template<class Lockable > | |
| using | unique_lock = std::unique_lock< Lockable > |
| template<class SharedLockable > | |
| using | upgrade_lock = shared_lock< SharedLockable > |
| template<class In , class DownstreamManager , class... Ts> | |
| using | make_stage_result_t = make_stage_result< In, DownstreamManager, detail::strip_and_convert_t< Ts >... > |
Helper type for defining a make_stage_result from a downstream manager plus additional handshake types. | |
| using | high_message_priority_constant = std::integral_constant< message_priority, message_priority::high > |
| using | normal_message_priority_constant = std::integral_constant< message_priority, message_priority::normal > |
| using | string_parser_state = parser_state< string_view::iterator > |
| Specialization for parsers operating on string views. | |
| template<class... Is> | |
| using | reacts_to = result< void >(Is...) |
| template<class Fs , class... In> | |
| using | response_type_t = typename response_type< Fs, In... >::type |
Computes the response message type for input In... from the list of message passing interfaces Fs. | |
| template<class Fs , class... In> | |
| using | delegated_response_type_t = typename response_type< Fs, In... >::delegated_type |
Computes the response message type for input In... from the list of message passing interfaces Fs and returns the corresponding delegated<T>. | |
| template<class Ts , class Xs > | |
| using | response_type_unbox_t = typename response_type_unbox< Ts, Xs >::type |
Computes the response message for input Xs from the list of message passing interfaces Ts. | |
| template<class In > | |
| using | stream_sink_ptr = intrusive_ptr< stream_sink< In > > |
| template<class Fun > | |
| using | stream_sink_trait_t = stream_sink_trait< typename detail::get_callable_trait< Fun >::fun_sig > |
| Derives a sink trait from the signatures of Fun and Fin. | |
| template<class DownstreamManager > | |
| using | stream_source_ptr = intrusive_ptr< stream_source< DownstreamManager > > |
| template<class Pull > | |
| using | stream_source_trait_t = stream_source_trait< typename detail::get_callable_trait< Pull >::fun_sig > |
Convenience alias for extracting the function signature from Pull and passing it to stream_source_trait. | |
| template<class In , class DownstreamManager > | |
| using | stream_stage_ptr = intrusive_ptr< stream_stage< In, DownstreamManager > > |
| template<class Process > | |
| using | stream_stage_trait_t = stream_stage_trait< typename detail::get_callable_trait< Process >::fun_sig > |
Convenience alias for extracting the function signature from Process and passing it to stream_stage_trait. | |
| template<class F , class... Ts> | |
| using | sum_type_visit_result_t = typename sum_type_visit_result< detail::decay_t< F >, detail::decay_t< Ts >... >::type |
| using | generic_timeout_definition = timeout_definition< std::function< void()> > |
| using | timespan = std::chrono::duration< int64_t, std::nano > |
| A portable timespan type with nanosecond resolution. | |
| using | timestamp = std::chrono::time_point< std::chrono::system_clock, timespan > |
| A portable timestamp with nanosecond resolution anchored at the UNIX epoch. | |
| template<class... Ts> | |
| using | is_variant_t = typename is_variant< Ts... >::type |
| template<class F , class... Ts> | |
| using | variant_visit_result_t = typename variant_visit_result< detail::decay_t< F >, detail::decay_t< Ts >... >::type |
Functions | |
| template<class F > | |
| action | make_action (F f, action::state init_state=action::state::scheduled) |
| Convenience function for creating action objects from a function object. | |
| CAF_CORE_EXPORT actor | operator* (actor f, actor g) |
Combine f and g so that (f*g)(x) = f(g(x)). | |
| bool | operator== (const actor_addr &x, std::nullptr_t) |
| bool | operator== (std::nullptr_t, const actor_addr &x) |
| bool | operator!= (const actor_addr &x, std::nullptr_t) |
| bool | operator!= (std::nullptr_t, const actor_addr &x) |
| template<class T , class U > | |
| T | actor_cast (U &&what) |
Converts actor handle what to a different actor handle or raw pointer of type T. | |
| CAF_CORE_EXPORT bool | operator== (const strong_actor_ptr &, const abstract_actor *) |
| CAF_CORE_EXPORT bool | operator== (const abstract_actor *, const strong_actor_ptr &) |
| bool | operator!= (const strong_actor_ptr &x, const abstract_actor *y) |
| bool | operator!= (const abstract_actor *x, const strong_actor_ptr &y) |
| CAF_CORE_EXPORT error_code< sec > | load_actor (strong_actor_ptr &storage, execution_unit *, actor_id aid, const node_id &nid) |
| CAF_CORE_EXPORT error_code< sec > | save_actor (strong_actor_ptr &storage, execution_unit *, actor_id aid, const node_id &nid) |
| template<class Inspector > | |
| auto | context_of (Inspector *f) -> decltype(f->context()) |
| execution_unit * | context_of (void *) |
| CAF_CORE_EXPORT std::string | to_string (const strong_actor_ptr &x) |
| CAF_CORE_EXPORT void | append_to_string (std::string &x, const strong_actor_ptr &y) |
| CAF_CORE_EXPORT std::string | to_string (const weak_actor_ptr &x) |
| CAF_CORE_EXPORT void | append_to_string (std::string &x, const weak_actor_ptr &y) |
| template<class Inspector > | |
| bool | inspect (Inspector &f, strong_actor_ptr &x) |
| template<class Inspector > | |
| bool | inspect (Inspector &f, weak_actor_ptr &x) |
| template<class F > | |
| actor_factory | make_actor_factory (F fun) |
| template<class T , class... Ts> | |
| actor_factory_result | dyn_spawn_class (actor_config &cfg, message &msg) |
| template<class T , class... Ts> | |
| actor_factory | make_actor_factory () |
| CAF_CORE_EXPORT actor_ostream | aout (local_actor *self) |
| Convenience factory function for creating an actor output stream. | |
| CAF_CORE_EXPORT actor_ostream | aout (scoped_actor &self) |
| template<class... Sigs> | |
| actor_ostream | aout (const typed_actor_pointer< Sigs... > &ptr) |
| Convenience factory function for creating an actor output stream. | |
| CAF_CORE_EXPORT const settings & | content (const actor_system_config &cfg) |
| Returns all user-provided configuration parameters. | |
| template<class Rep , class Period > | |
| constexpr auto | after (std::chrono::duration< Rep, Period > d) |
| Returns a generator for timeouts. | |
| template<class Driver , class... Ts> | |
| Driver::source_ptr_type | attach_continuous_stream_source (scheduled_actor *self, Ts &&... xs) |
Creates a new continuous stream source by instantiating the default source implementation with Driver. | |
| template<class Init , class Pull , class Done , class Finalize = unit_t, class Trait = stream_source_trait_t<Pull>, class DownstreamManager = broadcast_downstream_manager< typename Trait::output>> | |
| stream_source_ptr< DownstreamManager > | attach_continuous_stream_source (scheduled_actor *self, Init init, Pull pull, Done done, Finalize fin={}, policy::arg< DownstreamManager >={}) |
Creates a new continuous stream source by instantiating the default source implementation with Driver. | |
| template<class Driver , class... Ts> | |
| Driver::stage_ptr_type | attach_continuous_stream_stage (scheduled_actor *self, Ts &&... xs) |
| Returns a stream manager (implementing a continuous stage) without in- or outbound path. | |
| template<class Init , class Fun , class Finalize = unit_t, class DownstreamManager = default_downstream_manager_t<Fun>, class Trait = stream_stage_trait_t<Fun>> | |
| stream_stage_ptr< typename Trait::input, DownstreamManager > | attach_continuous_stream_stage (scheduled_actor *self, Init init, Fun fun, Finalize fin={}, policy::arg< DownstreamManager > token={}) |
| template<class Driver , class... Ts> | |
| make_sink_result< typename Driver::input_type > | attach_stream_sink (scheduled_actor *self, stream< typename Driver::input_type > in, Ts &&... xs) |
Attaches a new stream sink to self by creating a default stream sink / manager from given callbacks. | |
| template<class In , class Init , class Fun , class Finalize = unit_t, class Trait = stream_sink_trait_t<Fun>> | |
| make_sink_result< In > | attach_stream_sink (scheduled_actor *self, stream< In > in, Init init, Fun fun, Finalize fin={}) |
Attaches a new stream sink to self by creating a default stream sink manager from given callbacks. | |
| template<class Driver , class... Ts, class... CtorArgs> | |
| make_source_result_t< typename Driver::downstream_manager_type, Ts... > | attach_stream_source (scheduled_actor *self, std::tuple< Ts... > xs, CtorArgs &&... ctor_args) |
Attaches a new stream source to self by creating a default stream source manager with Driver. | |
| template<class... Ts, class Init , class Pull , class Done , class Finalize = unit_t, class Trait = stream_source_trait_t<Pull>, class DownstreamManager = broadcast_downstream_manager< typename Trait::output>> | |
| make_source_result_t< DownstreamManager, Ts... > | attach_stream_source (scheduled_actor *self, std::tuple< Ts... > xs, Init init, Pull pull, Done done, Finalize fin={}, policy::arg< DownstreamManager >={}) |
Attaches a new stream source to self by creating a default stream source manager with the default driver. | |
| template<class Init , class Pull , class Done , class Finalize = unit_t, class DownstreamManager = default_downstream_manager_t<Pull>, class Trait = stream_source_trait_t<Pull>> | |
| detail::enable_if_t<!is_actor_handle< Init >::value &&Trait::valid, make_source_result_t< DownstreamManager > > | attach_stream_source (scheduled_actor *self, Init init, Pull pull, Done done, Finalize fin={}, policy::arg< DownstreamManager > token={}) |
Attaches a new stream source to self by creating a default stream source manager with the default driver. | |
| template<class ActorHandle , class... Ts, class Init , class Pull , class Done , class Finalize = unit_t, class DownstreamManager = default_downstream_manager_t<Pull>, class Trait = stream_source_trait_t<Pull>> | |
| detail::enable_if_t< is_actor_handle< ActorHandle >::value, make_source_result_t< DownstreamManager > > | attach_stream_source (scheduled_actor *self, const ActorHandle &dest, std::tuple< Ts... > xs, Init init, Pull pull, Done done, Finalize fin={}, policy::arg< DownstreamManager >={}) |
Attaches a new stream source to self by creating a default stream source manager with the default driver and starts sending to dest immediately. | |
| template<class ActorHandle , class Init , class Pull , class Done , class Finalize = unit_t, class DownstreamManager = default_downstream_manager_t<Pull>, class Trait = stream_source_trait_t<Pull>> | |
| detail::enable_if_t< is_actor_handle< ActorHandle >::value &&Trait::valid, make_source_result_t< DownstreamManager > > | attach_stream_source (scheduled_actor *self, const ActorHandle &dest, Init init, Pull pull, Done done, Finalize fin={}, policy::arg< DownstreamManager > token={}) |
Attaches a new stream source to self by creating a default stream source manager with the default driver and starts sending to dest immediately. | |
| template<class Driver , class In , class... Ts, class... Us> | |
| make_stage_result_t< In, typename Driver::downstream_manager_type, Ts... > | attach_stream_stage (scheduled_actor *self, const stream< In > &in, std::tuple< Ts... > xs, Us &&... ys) |
Attaches a new stream stage to self by creating a default stream stage manager with Driver. | |
| template<class In , class... Ts, class Init , class Fun , class Finalize = unit_t, class DownstreamManager = default_downstream_manager_t<Fun>, class Trait = stream_stage_trait_t<Fun>> | |
| make_stage_result_t< In, DownstreamManager, Ts... > | attach_stream_stage (scheduled_actor *self, const stream< In > &in, std::tuple< Ts... > xs, Init init, Fun fun, Finalize fin={}, policy::arg< DownstreamManager > token={}) |
Attaches a new stream stage to self by creating a default stream stage manager from given callbacks. | |
| template<class In , class Init , class Fun , class Finalize = unit_t, class DownstreamManager = default_downstream_manager_t<Fun>, class Trait = stream_stage_trait_t<Fun>> | |
| make_stage_result_t< In, DownstreamManager > | attach_stream_stage (scheduled_actor *self, const stream< In > &in, Init init, Fun fun, Finalize fin={}, policy::arg< DownstreamManager > token={}) |
Attaches a new stream stage to self by creating a default stream stage manager from given callbacks. | |
| template<class IntegerType , class = std::enable_if_t<std::is_integral<IntegerType>::value>> | |
| constexpr IntegerType | to_integer (byte x) noexcept |
| template<class IntegerType , class E = std::enable_if_t<std::is_integral<IntegerType>::value>> | |
| constexpr byte & | operator<<= (byte &x, IntegerType shift) noexcept |
| template<class IntegerType , class E = std::enable_if_t<std::is_integral<IntegerType>::value>> | |
| constexpr byte | operator<< (byte x, IntegerType shift) noexcept |
| template<class IntegerType , class E = std::enable_if_t<std::is_integral<IntegerType>::value>> | |
| constexpr byte & | operator>>= (byte &x, IntegerType shift) noexcept |
| template<class IntegerType , class E = std::enable_if_t<std::is_integral<IntegerType>::value>> | |
| constexpr byte | operator>> (byte x, IntegerType shift) noexcept |
| byte & | operator|= (byte &x, byte y) noexcept |
| constexpr byte | operator| (byte x, byte y) noexcept |
| byte & | operator&= (byte &x, byte y) noexcept |
| constexpr byte | operator& (byte x, byte y) noexcept |
| byte & | operator^= (byte &x, byte y) noexcept |
| constexpr byte | operator^ (byte x, byte y) noexcept |
| constexpr byte | operator~ (byte x) noexcept |
| template<class T > | |
| constexpr bool | statically_typed () |
| template<class ForwardIterator , class Sentinel > | |
| std::pair< ForwardIterator, string_view > | find_by_long_name (const config_option &x, ForwardIterator first, Sentinel last) |
Finds config_option string with a matching long name in (first, last], where each entry is a pointer to a string. | |
| template<class T > | |
| expected< T > | get_as (const config_value &, inspector_access_type::none) |
| template<class T > | |
| expected< T > | get_as (const config_value &, inspector_access_type::unsafe) |
| template<class T > | |
| expected< T > | get_as (const config_value &x, inspector_access_type::specialization token) |
| template<class T > | |
| expected< T > | get_as (const config_value &x, inspector_access_type::inspect token) |
| template<class T > | |
| expected< T > | get_as (const config_value &x, inspector_access_type::builtin_inspect token) |
| template<class T > | |
| expected< T > | get_as (const config_value &x, inspector_access_type::builtin) |
| template<class T > | |
| expected< T > | get_as (const config_value &x, inspector_access_type::empty) |
| template<class T , size_t... Is> | |
| expected< T > | get_as_tuple (const config_value::list &x, std::index_sequence< Is... >) |
| template<class T > | |
| expected< T > | get_as (const config_value &x, inspector_access_type::tuple) |
| template<class T > | |
| expected< T > | get_as (const config_value &x, inspector_access_type::map) |
| template<class T > | |
| expected< T > | get_as (const config_value &x, inspector_access_type::list) |
| template<class T , class = std::enable_if_t<detail::is_config_value_type_v<T>>> | |
| auto | get_if (const config_value *x) |
| template<class T , class = std::enable_if_t<detail::is_config_value_type_v<T>>> | |
| auto | get_if (config_value *x) |
| template<class T , class = std::enable_if_t<detail::is_config_value_type_v<T>>> | |
| decltype(auto) | get (const config_value &x) |
| template<class T , class = std::enable_if_t<detail::is_config_value_type_v<T>>> | |
| decltype(auto) | get (config_value &x) |
| template<class T , class = std::enable_if_t<detail::is_config_value_type_v<T>>> | |
| auto | holds_alternative (const config_value &x) |
| template<class... Ts> | |
| config_value | make_config_value_list (Ts &&... xs) |
| template<size_t Index, class... Ts> | |
| const auto & | get (const_typed_message_view< Ts... > xs) |
| template<class... Ts, size_t... Is> | |
| auto | to_tuple (const_typed_message_view< Ts... > xs, std::index_sequence< Is... >) |
| template<class... Ts> | |
| auto | to_tuple (const_typed_message_view< Ts... > xs) |
| template<class... Ts> | |
| auto | make_const_typed_message_view (const message &msg) |
| template<class... Ts> | |
| optional< std::tuple< Ts... > > | to_tuple (const message &msg) |
| template<class T > | |
| std::string | deep_to_string (const T &x) |
Unrolls collections such as vectors/maps, decomposes tuples/pairs/arrays, auto-escapes strings and calls to_string for user-defined types via argument-dependent loopkup (ADL). | |
| template<class... Ts> | |
| std::string | deep_to_string_as_tuple (const Ts &... xs) |
Convenience function for deep_to_string(std::forward_as_tuple(xs...)). | |
| template<class Inspector , class Enumeration > | |
| bool | default_enum_inspect (Inspector &f, Enumeration &x) |
| Convenience function for providing a default inspection scaffold for custom enumeration types. | |
| template<class... Ts> | |
| bool | operator== (const delegated< Ts... > &, const delegated< Ts... > &) |
| template<class T > | |
| bool | operator== (const dictionary< T > &xs, const dictionary< T > &ys) |
| template<class T > | |
| bool | operator!= (const dictionary< T > &xs, const dictionary< T > &ys) |
| template<class T > | |
| bool | operator< (const dictionary< T > &xs, const dictionary< T > &ys) |
| template<class T > | |
| bool | operator<= (const dictionary< T > &xs, const dictionary< T > &ys) |
| template<class T > | |
| bool | operator> (const dictionary< T > &xs, const dictionary< T > &ys) |
| template<class T > | |
| bool | operator>= (const dictionary< T > &xs, const dictionary< T > &ys) |
| template<class T > | |
| const T & | get (const downstream_msg &x) |
Allows the testing DSL to unbox downstream_msg automagically. | |
| template<class T > | |
| bool | is (const downstream_msg &x) |
Allows the testing DSL to check whether downstream_msg holds a T. | |
| template<class Enum > | |
| auto | to_string (error_code< Enum > x) -> decltype(to_string(x.value())) |
Converts x to a string if Enum provides a to_string function. | |
| template<class T > | |
| void | exec_main_init_meta_objects_single () |
| template<class... Ts> | |
| void | exec_main_init_meta_objects () |
| template<class T > | |
| void | exec_main_load_module (actor_system_config &cfg) |
| template<class... Ts, class F = void (*)(actor_system&)> | |
| int | exec_main (F fun, int argc, char **argv) |
| template<class Inspector > | |
| bool | inspect (Inspector &f, exit_reason &x) |
| template<class T > | |
| std::string | to_string (const expected< T > &x) |
| std::string | to_string (const expected< void > &x) |
| template<class T > | |
| config_option | make_config_option (string_view category, string_view name, string_view description) |
Creates a config option that synchronizes with storage. | |
| template<class T > | |
| config_option | make_config_option (T &storage, string_view category, string_view name, string_view description) |
Creates a config option that synchronizes with storage. | |
| template<class ProjectIds , uint16_t... Is> | |
| void | init_global_meta_objects_impl (std::integer_sequence< uint16_t, Is... >) |
| template<class ProjectIds > | |
| void | init_global_meta_objects () |
Initializes the global meta object table with all types in ProjectIds. | |
| template<class T > | |
| std::string | to_string (const intrusive_ptr< T > &x) |
| CAF_CORE_EXPORT std::string | to_string (invoke_message_result) |
| CAF_CORE_EXPORT std::string | to_string (const ipv4_endpoint &ep) |
| CAF_CORE_EXPORT error | parse (string_view str, ipv6_address &dest) |
| CAF_CORE_EXPORT std::string | to_string (const ipv6_endpoint &ep) |
| CAF_CORE_EXPORT std::string | to_string (logger::field_type x) |
| template<class T , class R = infer_handle_from_class_t<T>, class... Ts> | |
| R | make_actor (actor_id aid, node_id nid, actor_system *sys, Ts &&... xs) |
| CAF_CORE_EXPORT config_option | make_negated_config_option (bool &storage, string_view category, string_view name, string_view description) |
| template<class Inspector > | |
| bool | inspect (Inspector &f, message_id &x) |
| CAF_CORE_EXPORT std::string | to_string (message_priority) |
| template<class Self , class Adapter , class Reader > | |
| auto | make_mtl (Self *self, Adapter adapter, Reader *reader) |
| Creates an MTL (message translation layer) to enable an actor to exchange messages with non-CAF endpoints over a user-defined data exchange format such as JSON. | |
| template<class Iterator , class Sentinel , class... Ts> | |
| auto | make_error (const parser_state< Iterator, Sentinel > &ps, Ts &&... xs) -> decltype(make_error(ps.code, ps.line, ps.column)) |
Returns an error object from the current code in ps as well as its current position. | |
| template<class... Ts> | |
| auto | make_result (Ts &&... xs) |
Convenience function for wrapping the parameter pack xs... into a result. | |
| template<class T > | |
| std::enable_if< std::is_same< T *, resumable * >::value >::type | intrusive_ptr_add_ref (T *ptr) |
| template<class T > | |
| std::enable_if< std::is_same< T *, resumable * >::value >::type | intrusive_ptr_release (T *ptr) |
| template<message_priority P = message_priority::normal, class Source = actor, class Dest = actor, class... Ts> | |
| void | send_as (const Source &src, const Dest &dest, Ts &&... xs) |
Sends to a message under the identity of from with priority prio. | |
| template<message_priority P = message_priority::normal, class Source , class Dest , class... Ts> | |
| void | unsafe_send_as (Source *src, const Dest &dest, Ts &&... xs) |
| template<class... Ts> | |
| void | unsafe_response (local_actor *self, strong_actor_ptr src, std::vector< strong_actor_ptr > stages, message_id mid, Ts &&... xs) |
| template<message_priority P = message_priority::normal, class Dest = actor, class... Ts> | |
| void | anon_send (const Dest &dest, Ts &&... xs) |
Anonymously sends dest a message. | |
| template<message_priority P = message_priority::normal, class Dest = actor, class Rep = int, class Period = std::ratio<1>, class... Ts> | |
| detail::enable_if_t<!std::is_same< Dest, group >::value > | delayed_anon_send (const Dest &dest, std::chrono::duration< Rep, Period > rtime, Ts &&... xs) |
| template<class Rep = int, class Period = std::ratio<1>, class... Ts> | |
| void | delayed_anon_send (const group &dest, std::chrono::duration< Rep, Period > rtime, Ts &&... xs) |
| template<class Dest > | |
| void | anon_send_exit (const Dest &dest, exit_reason reason) |
Anonymously sends dest an exit message. | |
| void | anon_send_exit (const actor_addr &to, exit_reason reason) |
Anonymously sends to an exit message. | |
| void | anon_send_exit (const weak_actor_ptr &to, exit_reason reason) |
Anonymously sends to an exit message. | |
| template<class T > | |
| config_value & | put (settings &dict, string_view key, T &&value) |
Converts value to a config_value and assigns it to key. | |
| template<class T > | |
| void | put_missing (settings &xs, string_view key, T &&value) |
Converts value to a config_value and assigns it to key unless xs already contains key (does nothing in this case). | |
| CAF_CORE_EXPORT config_value::list & | put_list (settings &xs, std::string name) |
Inserts a new list named name into the dictionary xs and returns a reference to it. | |
| CAF_CORE_EXPORT config_value::dictionary & | put_dictionary (settings &xs, std::string name) |
Inserts a new list named name into the dictionary xs and returns a reference to it. | |
| template<class T > | |
| auto | begin (const span< T > &xs) -> decltype(xs.begin()) |
| template<class T > | |
| auto | cbegin (const span< T > &xs) -> decltype(xs.cbegin()) |
| template<class T > | |
| auto | end (const span< T > &xs) -> decltype(xs.end()) |
| template<class T > | |
| auto | cend (const span< T > &xs) -> decltype(xs.cend()) |
| template<class T > | |
| span< const byte > | as_bytes (span< T > xs) |
| template<class T > | |
| span< byte > | as_writable_bytes (span< T > xs) |
| template<class T > | |
| auto | make_span (T &xs) -> span< detail::remove_reference_t< decltype(xs[0])> > |
Convenience function to make using caf::span more convenient without the deduction guides. | |
| template<class T , size_t N> | |
| span< T > | make_span (T(&xs)[N]) |
Convenience function to make using caf::span more convenient without the deduction guides. | |
| template<class T > | |
| span< T > | make_span (T *first, size_t size) |
Convenience function to make using caf::span more convenient without the deduction guides. | |
| template<class T > | |
| span< T > | make_span (T *first, T *last) |
Convenience function to make using caf::span more convenient without the deduction guides. | |
| constexpr spawn_options | operator+ (spawn_options x, spawn_options y) |
Concatenates two spawn_options. | |
| constexpr bool | has_spawn_option (spawn_options haystack, spawn_options needle) |
Checks whether haystack contains needle. | |
| constexpr bool | has_detach_flag (spawn_options opts) |
Checks whether the detached flag is set in opts. | |
| constexpr bool | has_priority_aware_flag (spawn_options) |
Checks whether the priority_aware flag is set in opts. | |
| constexpr bool | has_hide_flag (spawn_options opts) |
Checks whether the hidden flag is set in opts. | |
| constexpr bool | has_link_flag (spawn_options opts) |
Checks whether the linked flag is set in opts. | |
| constexpr bool | has_monitor_flag (spawn_options opts) |
Checks whether the monitored flag is set in opts. | |
| constexpr bool | has_lazy_init_flag (spawn_options opts) |
Checks whether the lazy_init flag is set in opts. | |
| CAF_CORE_EXPORT attachable_ptr | make_stream_aborter (actor_addr observed, actor_addr observer, stream_slot slot, stream_aborter::mode m) |
| constexpr string_view | is_any_of (string_view arg) noexcept |
| CAF_CORE_EXPORT void | split (std::vector< std::string > &result, string_view str, string_view delims, bool keep_all=true) |
| CAF_CORE_EXPORT void | split (std::vector< string_view > &result, string_view str, string_view delims, bool keep_all=true) |
| CAF_CORE_EXPORT void | split (std::vector< std::string > &result, string_view str, char delim, bool keep_all=true) |
| CAF_CORE_EXPORT void | split (std::vector< string_view > &result, string_view str, char delim, bool keep_all=true) |
| template<class InputIterator > | |
| std::string | join (InputIterator first, InputIterator last, string_view glue) |
| template<class Container > | |
| std::string | join (const Container &c, string_view glue) |
| CAF_CORE_EXPORT void | replace_all (std::string &str, string_view what, string_view with) |
Replaces all occurrences of what by with in str. | |
| CAF_CORE_EXPORT bool | starts_with (string_view str, string_view prefix) |
Returns whether str begins with prefix. | |
| CAF_CORE_EXPORT bool | ends_with (string_view str, string_view suffix) |
Returns whether str ends with suffix. | |
| template<class T > | |
| constexpr bool | SumType () |
Concept for checking whether T supports the sum type API by specializing sum_type_access. | |
| template<class... Ts> | |
| constexpr bool | SumTypes () |
Concept for checking whether all Ts support the sum type API by specializing sum_type_access. | |
| template<class Trait , class T > | |
| constexpr sum_type_token< T, sum_type_index< Trait, T >::value > | make_sum_type_token () |
| template<class T , class U , class Trait = sum_type_access<U>> | |
| auto | get (U &x) -> decltype(Trait::get(x, make_sum_type_token< Trait, T >())) |
| Returns a reference to the value of a sum type. | |
| template<class T , class U , class Trait = sum_type_access<U>> | |
| auto | get (const U &x) -> decltype(Trait::get(x, make_sum_type_token< Trait, T >())) |
| Returns a reference to the value of a sum type. | |
| template<class T , class U , class Trait = sum_type_access<U>> | |
| auto | get_if (U *x) -> decltype(Trait::get_if(x, make_sum_type_token< Trait, T >())) |
Returns a pointer to the value of a sum type if it is of type T, nullptr otherwise. | |
| template<class T , class U , class Trait = sum_type_access<U>> | |
| auto | get_if (const U *x) -> decltype(Trait::get_if(x, make_sum_type_token< Trait, T >())) |
Returns a pointer to the value of a sum type if it is of type T, nullptr otherwise. | |
| template<class T , class U > | |
| bool | holds_alternative (const U &x) |
Returns whether a sum type has a value of type T. | |
| template<class Visitor , class T , class... Ts, class Result = sum_type_visit_result_t<Visitor, T, Ts...>> | |
| detail::enable_if_t< SumTypes< T, Ts... >(), Result > | visit (Visitor &&f, T &&x, Ts &&... xs) |
| Applies the values of any number of sum types to the visitor. | |
| template<class T , int Pos> | |
| constexpr std::integral_constant< int, Pos > | pos (sum_type_token< T, Pos >) |
| CAF_CORE_EXPORT std::ostream & | operator<< (std::ostream &out, term x) |
| constexpr bool | is_infinite (timespan value) |
Checks whether value represents an infinite amount of time. | |
| CAF_CORE_EXPORT timestamp | make_timestamp () |
Convenience function for returning a timestamp representing the current system time. | |
| CAF_CORE_EXPORT std::string | timestamp_to_string (timestamp x) |
Prints x in ISO 8601 format, e.g., 2018-11-15T06:25:01.462. | |
| CAF_CORE_EXPORT void | append_timestamp_to_string (std::string &x, timestamp y) |
Appends the timestamp x in ISO 8601 format, e.g., 2018-11-15T06:25:01.462, to y. | |
| template<class T > | |
| string_view | type_name_or_anonymous () |
Returns type_name_v<T> if available, "anonymous" otherwise. | |
| template<class T > | |
| type_id_t | type_id_or_invalid () |
Returns type_id_v<T> if available, invalid_type_id otherwise. | |
| CAF_CORE_EXPORT string_view | query_type_name (type_id_t type) |
Returns the type name of given type or an empty string if type is an invalid ID. | |
| CAF_CORE_EXPORT type_id_t | query_type_id (string_view name) |
Returns the type of given name or invalid_type_id if no type matches. | |
| template<class... Ts> | |
| type_id_list | types_of (const std::tuple< Ts... > &) |
| template<class... Fs> | |
| typed_behavior< deduce_mpi_t< Fs >... > | make_typed_behavior (Fs... fs) |
| Creates a typed behavior from given function objects. | |
| template<size_t Index, class... Ts> | |
| auto & | get (typed_message_view< Ts... > x) |
| template<class... Ts> | |
| auto | make_typed_message_view (message &msg) |
| template<class T > | |
| const T & | get (const upstream_msg &x) |
Allows the testing DSL to unbox upstream_msg automagically. | |
| template<class T > | |
| bool | is (const upstream_msg &x) |
Allows the testing DSL to check whether upstream_msg holds a T. | |
| template<class Inspector > | |
| bool | inspect (Inspector &f, uri::authority_type &x) |
| template<class Inspector > | |
| bool | inspect (Inspector &f, uri::impl_type &x) |
Variables | |
| constexpr actor_id | invalid_actor_id = 0 |
| Denotes an ID that is never used by an actor. | |
| template<class T > | |
| constexpr bool | is_allowed_unsafe_message_type_v = allowed_unsafe_message_type<T>::value |
| constexpr invalid_stream_t | invalid_stream = invalid_stream_t{} |
| constexpr no_stages_t | no_stages = no_stages_t{} |
| Convenience tag for producing empty forwarding stacks. | |
| static constexpr none_t | none = none_t{} |
| constexpr others_t | others = others_t{} |
| constexpr skip_t | skip = skip_t{} |
| Tells the runtime system to skip a message when used as message handler, i.e., causes the runtime to leave the message in the mailbox of an actor. | |
| constexpr spawn_options | no_spawn_options = spawn_options::no_flags |
| Denotes default settings. | |
| constexpr spawn_options | monitored = spawn_options::monitor_flag |
Causes spawn to call `self->monitor(...) immediately after the new actor was spawned. | |
| constexpr spawn_options | linked = spawn_options::link_flag |
Causes spawn to call `self->link_to(...) immediately after the new actor was spawned. | |
| constexpr spawn_options | detached = spawn_options::detach_flag |
| Causes the new actor to opt out of the cooperative scheduling. | |
| constexpr spawn_options | hidden = spawn_options::hide_flag |
Causes the runtime to ignore the new actor in await_all_actors_done(). | |
| constexpr spawn_options | lazy_init = spawn_options::lazy_init_flag |
| Causes the new actor to delay its initialization until a message arrives. | |
| constexpr stream_slot | invalid_stream_slot = 0 |
| Identifies an invalid slot. | |
| constexpr bool | token_compress_on = false |
| static constexpr timespan | infinite = timespan{std::numeric_limits<int64_t>::max()} |
| Constant representing an infinite amount of time. | |
| constexpr type_id_t | invalid_type_id = 65535 |
Special value equal to the greatest possible value for type_id_t. | |
| constexpr type_id_t | first_custom_type_id = 200 |
| The first type ID not reserved by CAF and its modules. | |
| template<class T > | |
| constexpr bool | has_type_id_v = detail::is_complete<type_id<T>> |
Checks whether type_id is specialized for T. | |
| constexpr partial_behavior_init_t | partial_behavior_init = partial_behavior_init_t{} |
| static constexpr unit_t | unit = unit_t{} |
| constexpr unsafe_behavior_init_t | unsafe_behavior_init = unsafe_behavior_init_t{} |
| Convenience constant for constructing a typed behavior from an untyped behavior. | |
| constexpr size_t | variant_npos = static_cast<size_t>(-1) |
Root namespace of libcaf.
| using caf::interface_mismatch_t = typedef detail::imi<0, Found, Expected, detail::type_list<> > |
Scans two typed MPI lists for compatibility, returning the index of the first mismatch.
Returns the number of elements on a match.
| typedef ipv6_subnet caf::ip_subnet |
An IP subnetwork.
The address family is IPv6 unless embeds_v4 returns true.
| using caf::make_stage_result_t = typedef make_stage_result<In, DownstreamManager, detail::strip_and_convert_t<Ts>...> |
Helper type for defining a make_stage_result from a downstream manager plus additional handshake types.
Hardwires message as result type.
|
strong |
This error category represents fail conditions for actors.
|
strong |
Stores the result of a message invocation.
|
strong |
PEC stands for "Parser Error Code".
This enum contains error codes used by various CAF parsers.
|
strong |
SEC stands for "System Error Code".
This enum contains error codes for ::actor_system and its modules.
| Enumerator | |
|---|---|
| none | No error. |
| unexpected_message | Indicates that an actor dropped an unexpected message. |
| unexpected_response | Indicates that a response message did not match the provided handler. |
| request_receiver_down | Indicates that the receiver of a request is no longer alive. |
| request_timeout | Indicates that a request message timed out. |
| no_such_group_module | Indicates that requested group module does not exist. |
| no_actor_published_at_port | Unpublishing or connecting failed: no actor bound to given port. |
| unexpected_actor_messaging_interface | Connecting failed because a remote actor had an unexpected interface. |
| state_not_serializable | Migration failed because the state of an actor is not serializable. |
| unsupported_sys_key | An actor received an unsupported key for ‘('sys’, 'get', key)` messages. |
| unsupported_sys_message | An actor received an unsupported system message. |
| disconnect_during_handshake | A remote node disconnected during CAF handshake. |
| cannot_forward_to_invalid_actor | Tried to forward a message via BASP to an invalid actor handle. |
| no_route_to_receiving_node | Tried to forward a message via BASP to an unknown node ID. |
| failed_to_assign_scribe_from_handle | Middleman could not assign a connection handle to a broker. |
| failed_to_assign_doorman_from_handle | Middleman could not assign an acceptor handle to a broker. |
| cannot_close_invalid_port | User requested to close port 0 or to close a port not managed by CAF. |
| cannot_connect_to_node | Middleman could not connect to a remote node. |
| cannot_open_port | Middleman could not open requested port. |
| network_syscall_failed | A C system call in the middleman failed. |
| invalid_argument | A function received one or more invalid arguments. |
| invalid_protocol_family | A network socket reported an invalid network protocol family. |
| cannot_publish_invalid_actor | Middleman could not publish an actor because it was invalid. |
| cannot_spawn_actor_from_arguments | A remote spawn failed because the provided types did not match. |
| end_of_stream | Serialization failed because there was not enough data to read. |
| no_context | Serialization failed because no CAF context is available. |
| unknown_type | Serialization failed because CAF misses run-time type information. |
| no_proxy_registry | Serialization of actors failed because no proxy registry is available. |
| runtime_error | An exception was thrown during message handling. |
| remote_linking_failed | Linking to a remote actor failed because actor no longer exists. |
| cannot_add_upstream | Adding an upstream to a stream failed. |
| upstream_already_exists | Adding an upstream to a stream failed because it already exists. |
| invalid_upstream | Unable to process upstream messages because upstream is invalid. |
| cannot_add_downstream | Adding a downstream to a stream failed. |
| downstream_already_exists | Adding a downstream to a stream failed because it already exists. |
| invalid_downstream | Unable to process downstream messages because downstream is invalid. |
| no_downstream_stages_defined | Cannot start streaming without next stage. |
| stream_init_failed | Actor failed to initialize state after receiving a stream handshake. |
| invalid_stream_state | Unable to process a stream since due to missing state. |
| unhandled_stream_error | Stream aborted due to unexpected error. |
| bad_function_call | A function view was called without assigning an actor first. |
| feature_disabled | Feature is disabled in the actor system config. |
| cannot_open_file | Failed to open file. |
| socket_invalid | A socket descriptor argument is invalid. |
| socket_disconnected | A socket became disconnected from the remote host (hang up). |
| socket_operation_failed | An operation on a socket (e.g. |
| unavailable_or_would_block | A resource is temporarily unavailable or would block. |
| incompatible_versions | Connection refused because of incompatible CAF versions. |
| incompatible_application_ids | Connection refused because of incompatible application IDs. |
| malformed_basp_message | The middleman received a malformed BASP message from another node. |
| serializing_basp_payload_failed | The middleman closed a connection because it failed to serialize or deserialize a payload. |
| redundant_connection | The middleman closed a connection to itself or an already connected node. |
| remote_lookup_failed | Resolving a path on a remote node failed. |
| no_tracing_context | Serialization failed because actor_system::tracing_context is null. |
| all_requests_failed | No request produced a valid result. |
| field_invariant_check_failed | Deserialization failed because an invariant got violated after reading the content of a field. |
| field_value_synchronization_failed | Deserialization failed because a setter rejected the input. |
| invalid_field_type | Deserialization failed because the source announced an invalid type. |
| unsafe_type | Serialization failed because a type was flagged as unsafe message type. |
| save_callback_failed | Serialization failed because a save callback returned |
| load_callback_failed | Deserialization failed because a load callback returned |
| conversion_failed | Converting between two types failed. |
| connection_closed | A network connection was closed by the remote side. |
| type_clash | An operation failed because run-time type information diverged from the expected type. |
| unsupported_operation | An operation failed because the callee does not implement this functionality. |
| no_such_key | A key lookup failed. |
| broken_promise | An destroyed a response promise without calling deliver or delegate on it. |
| connection_timeout | Disconnected from a BASP node after reaching the connection timeout. |
| action_reschedule_failed | Signals that an actor fell behind a periodic action trigger. After raising this error, an actor_clock stops scheduling the action. |
|
strong |
|
strong |
Terminal color and font face options.
| stream_source_ptr< DownstreamManager > caf::attach_continuous_stream_source | ( | scheduled_actor * | self, |
| Init | init, | ||
| Pull | pull, | ||
| Done | done, | ||
| Finalize | fin = {}, |
||
| policy::arg< DownstreamManager > | = {} |
||
| ) |
Creates a new continuous stream source by instantiating the default source implementation with Driver.
The returned manager is not connected to any slot and thus not stored by the actor automatically.
| self | Points to the hosting actor. |
| init | Function object for initializing the state of the source. |
| pull | Generator function object for producing downstream messages. |
| done | Predicate returning true when generator is done. |
| fin | Cleanup handler. |
stream_manager. | Driver::source_ptr_type caf::attach_continuous_stream_source | ( | scheduled_actor * | self, |
| Ts &&... | xs | ||
| ) |
Creates a new continuous stream source by instantiating the default source implementation with Driver.
The returned manager is not connected to any slot and thus not stored by the actor automatically.
| self | Points to the hosting actor. |
| xs | Parameter pack for constructing the driver. |
stream_manager. | stream_stage_ptr< typename Trait::input, DownstreamManager > caf::attach_continuous_stream_stage | ( | scheduled_actor * | self, |
| Init | init, | ||
| Fun | fun, | ||
| Finalize | fin = {}, |
||
| policy::arg< DownstreamManager > | token = {} |
||
| ) |
| self | Points to the hosting actor. |
| init | Function object for initializing the state of the stage. |
| fun | Processing function. |
| fin | Optional cleanup handler. |
| token | Policy token for selecting a downstream manager implementation. |
| Driver::stage_ptr_type caf::attach_continuous_stream_stage | ( | scheduled_actor * | self, |
| Ts &&... | xs | ||
| ) |
Returns a stream manager (implementing a continuous stage) without in- or outbound path.
The returned manager is not connected to any slot and thus not stored by the actor automatically.
| self | Points to the hosting actor. |
| xs | User-defined arguments for the downstream handshake. |
stream_manager. | make_sink_result< In > caf::attach_stream_sink | ( | scheduled_actor * | self, |
| stream< In > | in, | ||
| Init | init, | ||
| Fun | fun, | ||
| Finalize | fin = {} |
||
| ) |
Attaches a new stream sink to self by creating a default stream sink manager from given callbacks.
| self | Points to the hosting actor. |
| in | Stream handshake from upstream path. |
| init | Function object for initializing the state of the sink. |
| fun | Processing function. |
| fin | Optional cleanup handler. |
stream_manager and the inbound slot. | make_sink_result< typename Driver::input_type > caf::attach_stream_sink | ( | scheduled_actor * | self, |
| stream< typename Driver::input_type > | in, | ||
| Ts &&... | xs | ||
| ) |
Attaches a new stream sink to self by creating a default stream sink / manager from given callbacks.
| self | Points to the hosting actor. |
| xs | Additional constructor arguments for Driver. |
stream_manager, an inbound slot, and an outbound slot. | detail::enable_if_t< is_actor_handle< ActorHandle >::value &&Trait::valid, make_source_result_t< DownstreamManager > > caf::attach_stream_source | ( | scheduled_actor * | self, |
| const ActorHandle & | dest, | ||
| Init | init, | ||
| Pull | pull, | ||
| Done | done, | ||
| Finalize | fin = {}, |
||
| policy::arg< DownstreamManager > | token = {} |
||
| ) |
Attaches a new stream source to self by creating a default stream source manager with the default driver and starts sending to dest immediately.
| self | Points to the hosting actor. |
| dest | Handle to the next stage in the pipeline. |
| init | Function object for initializing the state of the source. |
| pull | Generator function object for producing downstream messages. |
| done | Predicate returning true when generator is done. |
| fin | Cleanup handler. |
stream_manager and the output slot. | detail::enable_if_t< is_actor_handle< ActorHandle >::value, make_source_result_t< DownstreamManager > > caf::attach_stream_source | ( | scheduled_actor * | self, |
| const ActorHandle & | dest, | ||
| std::tuple< Ts... > | xs, | ||
| Init | init, | ||
| Pull | pull, | ||
| Done | done, | ||
| Finalize | fin = {}, |
||
| policy::arg< DownstreamManager > | = {} |
||
| ) |
Attaches a new stream source to self by creating a default stream source manager with the default driver and starts sending to dest immediately.
| self | Points to the hosting actor. |
| dest | Handle to the next stage in the pipeline. |
| xs | User-defined arguments for the stream handshake. |
| init | Function object for initializing the state of the source. |
| pull | Generator function object for producing downstream messages. |
| done | Predicate returning true when generator is done. |
| fin | Cleanup handler. |
stream_manager and the output slot. | detail::enable_if_t<!is_actor_handle< Init >::value &&Trait::valid, make_source_result_t< DownstreamManager > > caf::attach_stream_source | ( | scheduled_actor * | self, |
| Init | init, | ||
| Pull | pull, | ||
| Done | done, | ||
| Finalize | fin = {}, |
||
| policy::arg< DownstreamManager > | token = {} |
||
| ) |
Attaches a new stream source to self by creating a default stream source manager with the default driver.
| self | Points to the hosting actor. |
| init | Function object for initializing the state of the source. |
| pull | Generator function object for producing downstream messages. |
| done | Predicate returning true when generator is done. |
| fin | Cleanup handler. |
stream_manager and the output slot. | make_source_result_t< typename Driver::downstream_manager_type, Ts... > caf::attach_stream_source | ( | scheduled_actor * | self, |
| std::tuple< Ts... > | xs, | ||
| CtorArgs &&... | ctor_args | ||
| ) |
Attaches a new stream source to self by creating a default stream source manager with Driver.
| self | Points to the hosting actor. |
| xs | User-defined arguments for the stream handshake. |
| ctor_args | Parameter pack for constructing the driver. |
stream_manager and the output slot. | make_source_result_t< DownstreamManager, Ts... > caf::attach_stream_source | ( | scheduled_actor * | self, |
| std::tuple< Ts... > | xs, | ||
| Init | init, | ||
| Pull | pull, | ||
| Done | done, | ||
| Finalize | fin = {}, |
||
| policy::arg< DownstreamManager > | = {} |
||
| ) |
Attaches a new stream source to self by creating a default stream source manager with the default driver.
| self | Points to the hosting actor. |
| xs | User-defined arguments for the stream handshake. |
| init | Function object for initializing the state of the source. |
| pull | Generator function object for producing downstream messages. |
| done | Predicate returning true when generator is done. |
| fin | Cleanup handler. |
stream_manager and the output slot. | make_stage_result_t< In, DownstreamManager > caf::attach_stream_stage | ( | scheduled_actor * | self, |
| const stream< In > & | in, | ||
| Init | init, | ||
| Fun | fun, | ||
| Finalize | fin = {}, |
||
| policy::arg< DownstreamManager > | token = {} |
||
| ) |
Attaches a new stream stage to self by creating a default stream stage manager from given callbacks.
| self | Points to the hosting actor. |
| in | Stream handshake from upstream path. |
| init | Function object for initializing the state of the stage. |
| fun | Processing function. |
| fin | Optional cleanup handler. |
| token | Policy token for selecting a downstream manager implementation. |
stream_manager, an inbound slot, and an outbound slot. | make_stage_result_t< In, DownstreamManager, Ts... > caf::attach_stream_stage | ( | scheduled_actor * | self, |
| const stream< In > & | in, | ||
| std::tuple< Ts... > | xs, | ||
| Init | init, | ||
| Fun | fun, | ||
| Finalize | fin = {}, |
||
| policy::arg< DownstreamManager > | token = {} |
||
| ) |
Attaches a new stream stage to self by creating a default stream stage manager from given callbacks.
| self | Points to the hosting actor. |
| in | Stream handshake from upstream path. |
| xs | User-defined arguments for the downstream handshake. |
| init | Function object for initializing the state of the stage. |
| fun | Processing function. |
| fin | Optional cleanup handler. |
| token | Policy token for selecting a downstream manager implementation. |
stream_manager, an inbound slot, and an outbound slot. | make_stage_result_t< In, typename Driver::downstream_manager_type, Ts... > caf::attach_stream_stage | ( | scheduled_actor * | self, |
| const stream< In > & | in, | ||
| std::tuple< Ts... > | xs, | ||
| Us &&... | ys | ||
| ) |
Attaches a new stream stage to self by creating a default stream stage manager with Driver.
| self | Points to the hosting actor. |
| in | Stream handshake from upstream path. |
| xs | User-defined arguments for the downstream handshake. |
| ys | Additional constructor arguments for Driver. |
stream_manager, an inbound slot, and an outbound slot. | std::string caf::deep_to_string | ( | const T & | x | ) |
Unrolls collections such as vectors/maps, decomposes tuples/pairs/arrays, auto-escapes strings and calls to_string for user-defined types via argument-dependent loopkup (ADL).
Any user-defined type that does not provide a to_string is mapped to <unprintable>.
| bool caf::default_enum_inspect | ( | Inspector & | f, |
| Enumeration & | x | ||
| ) |
Convenience function for providing a default inspection scaffold for custom enumeration types.
The enumeration type must provide the following interface based on free functions:
| std::pair< ForwardIterator, string_view > caf::find_by_long_name | ( | const config_option & | x, |
| ForwardIterator | first, | ||
| Sentinel | last | ||
| ) |
Finds config_option string with a matching long name in (first, last], where each entry is a pointer to a string.
Returns a ForwardIterator to the match and a caf::string_view of the option value if the entry is found and a ForwardIterator to last with an empty string_view otherwise.
| void caf::init_global_meta_objects | ( | ) |
Initializes the global meta object table with all types in ProjectIds.
| void caf::init_global_meta_objects_impl | ( | std::integer_sequence< uint16_t, Is... > | ) |
| action caf::make_action | ( | F | f, |
| action::state | init_state = action::state::scheduled |
||
| ) |
Convenience function for creating action objects from a function object.
| f | The body for the action. |
| init_state | either action::state::scheduled or action::state::waiting. |
| auto caf::make_mtl | ( | Self * | self, |
| Adapter | adapter, | ||
| Reader * | reader | ||
| ) |
Creates an MTL (message translation layer) to enable an actor to exchange messages with non-CAF endpoints over a user-defined data exchange format such as JSON.
| self | Points to an event-based or blocking actor. |
| adapter | Translates between internal and external message types. |
| reader | Points to an object that either implements the interface deserializer directly or that provides a compatible API. |
| config_value & caf::put | ( | settings & | dict, |
| string_view | key, | ||
| T && | value | ||
| ) |
Converts value to a config_value and assigns it to key.
| dict | Dictionary of key-value pairs. |
| key | Human-readable nested keys in the form category.key. |
| value | New value for given key. |
| CAF_CORE_EXPORT config_value::dictionary & caf::put_dictionary | ( | settings & | xs, |
| std::string | name | ||
| ) |
Inserts a new list named name into the dictionary xs and returns a reference to it.
Overrides existing entries with the same name.
| CAF_CORE_EXPORT config_value::list & caf::put_list | ( | settings & | xs, |
| std::string | name | ||
| ) |
Inserts a new list named name into the dictionary xs and returns a reference to it.
Overrides existing entries with the same name.
| void caf::put_missing | ( | settings & | xs, |
| string_view | key, | ||
| T && | value | ||
| ) |
Converts value to a config_value and assigns it to key unless xs already contains key (does nothing in this case).
| xs | Dictionary of key-value pairs. |
| key | Human-readable nested keys in the form category.key. |
| value | New value for given key. |
|
constexpr |
Special value equal to the greatest possible value for type_id_t.
Generally indicates that no type ID for a given type exists.