CAF 0.17.6
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
caf Namespace Reference

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_composable_behavior
 Marker type that allows CAF to spawn actors from composable states. More...
 
class  abstract_group
 A multicast group. 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 atoms (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  add_param
 Converts T to param<T> unless T is arithmetic, an atom constant, or a stream handshake. More...
 
struct  allowed_unsafe_message_type
 Template specializations can whitelist individual types for unsafe message passing operations. More...
 
class  arraybuf
 A streambuffer abstraction over a fixed array of bytes. More...
 
struct  atom_constant
 Lifts an atom_value to a compile-time constant. 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
 Implements the deserializer interface with a binary serialization protocol. 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 Base. More...
 
class  composable_behavior
 Base type for composable actor states. More...
 
class  composable_behavior_base
 Generates an interface class that provides operator(). More...
 
class  composable_behavior_based_actor
 Implementation class for spawning composable states directly as actors. 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...
 
struct  config_value_access< std::tuple< Ts... > >
 Implements automagic unboxing of std::tuple<Ts...> from a heterogeneous config_value::list. More...
 
class  config_value_adaptor
 Interfaces between a user-defined type and CAF config values by going through intermediate values. More...
 
struct  config_value_adaptor_access
 Enables user-defined types in config files and on the CLI by converting them to and from tuples. More...
 
struct  config_value_adaptor_field
 Describes a field of type T of an adaptor. More...
 
class  config_value_field
 Describes a field of Object. More...
 
struct  config_value_object_access
 Enables user-defined types in config files and on the CLI by converting them to and from config_value::dictionary. More...
 
class  containerbuf
 A streambuffer abstraction over a contiguous container. More...
 
class  cow_tuple
 A copy-on-write tuple implementation. More...
 
class  data_processor
 A data processor translates an object into a format that can be stored or vice versa. More...
 
struct  deep_to_string_t
 Wrapper to deep_to_string for using the function as an inspector. 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...
 
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...
 
class  duration
 Time duration consisting of a time_unit and a 64 bit unsigned integer. More...
 
struct  dynamically_typed_actor_base
 Marker type for dynamically typed actors. More...
 
class  empty_type_erased_tuple
 Dummy objects representing empty tuples. More...
 
class  error
 A serializable type for storing error codes with category and optional, human-readable context information. More...
 
class  event_based_actor
 A cooperatively scheduled, event-based actor implementation. 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  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_make_error
 Evaluates to true if T is an enum with a free function make_error for converting it to an error. More...
 
struct  has_sum_type_access
 Evaluates to true if T specializes sum_type_access. More...
 
struct  has_type_id
 Evaluates to true if any of these statements holds true: 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  index_mapping
 Marker for representing placeholders at runtime. 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  infinite_t
 Represents an infinite amount of timeout for specifying "invalid" timeouts. 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  logger
 Centrally logs events from all actors in an actor system. More...
 
struct  mailbox_category_corrector
 Corrects the message ID for down- and upstream messages to make sure the category for a mailbox_element matches its content. More...
 
class  mailbox_element_vals
 Encapsulates arbitrary data in a message element. More...
 
class  mailbox_element_view
 Provides a view for treating arbitrary data as message element. 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  memory_managed
 This base enables derived classes to enforce a different allocation strategy than new/delete by providing a virtual protected request_deletion() function and non-public destructor. 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 createing 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  message_view
 Represents an object pointing to a type_erased_tuple that is convertible to a message More...
 
class  monitorable_actor
 Base class for all actor implementations. More...
 
struct  named_actor_config
 Stores a flow-control configuration. More...
 
struct  no_error_t
 Helper class to construct an expected<T> that represents no error. More...
 
struct  no_stages_t
 Convenience tag type for producing empty forwarding stacks. 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...
 
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...
 
class  param
 Represents a message handler parameter of type T and guarantees copy-on-write semantics. More...
 
struct  param_decay
 Convenience struct for remove_param<std::decay<T>>. More...
 
struct  parser_state
 Stores all informations necessary for implementing an FSM-based parser. More...
 
class  proxy_registry
 Groups a (distributed) set of actors and allows actors in the same namespace to exchange messages. More...
 
struct  ratio_to_time_unit_helper
 Converts the ratio Num/Denom to a time_unit if the ratio describes seconds, milliseconds, microseconds, or minutes. More...
 
class  raw_event_based_actor
 A cooperatively raw scheduled actor is a dynamically typed actor that does not handle any system messages. More...
 
class  ref_counted
 Base class for reference counted objects with an atomic reference count. More...
 
struct  remove_param
 Unpacks param<T> to T. More...
 
class  response_handle
 This helper class identifies an expected response message and enables request(...).then(...). More...
 
class  response_promise
 A response promise can be used to deliver a uniquely identifiable response message from the server (i.e. More...
 
struct  response_type
 Defines: More...
 
struct  response_type_unbox
 Unboxes Xs and calls response_type. More...
 
class  resumable
 A cooperatively executed task managed by one or more instances of execution_unit. More...
 
class  runtime_settings_map
 Thread-safe container for mapping atoms to arbitrary settings. More...
 
class  scheduled_actor
 A cooperatively scheduled, event-based actor implementation. 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...
 
struct  select_callback
 Utility class for selecting a callback_impl. More...
 
struct  select_config_value_access
 Delegates to config_value_access for all specialized versions. More...
 
struct  select_config_value_access< T, select_config_value_hint::is_integral >
 Catches all non-specialized integer types. More...
 
struct  select_config_value_access< T, select_config_value_hint::is_list >
 Catches all non-specialized list types. More...
 
struct  select_config_value_access< T, select_config_value_hint::is_map >
 Catches all non-specialized map types. More...
 
class  serializer
 Technology-independent serialization interface. More...
 
class  serializer_impl
 Implements the serializer interface with a binary serialization protocol. 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  spawn_options
 Stores options passed to the spawn function family. 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...
 
class  stream_buffer
 The base class for all stream buffer implementations. More...
 
class  stream_deserializer
 Implements the deserializer interface with a binary serialization protocol. 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_serializer
 Implements the serializer interface with a binary serialization protocol. 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...
 
struct  timeout_msg
 Signalizes a timeout event. More...
 
struct  type_by_id
 Maps the globally unique ID V to a type (inverse to ::type_id). More...
 
class  type_erased_tuple
 Represents a tuple of type-erased values. More...
 
class  type_erased_value
 Represents a single type-erased value. More...
 
struct  type_erased_value_factory
 Converts values to type-erased values. More...
 
struct  type_id
 Maps the type T to a globally unique ID. 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...
 
struct  type_nr
 Computes the type number for T. More...
 
class  typed_actor
 Identifies a statically typed actor. 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
 A response promise can be used to deliver a uniquely identifiable response message from the server (i.e. More...
 
struct  unbox_message_element
 Unboxes atom constants, i.e., converts atom_constant<V> to V. More...
 
struct  unit_t
 Unit is analogous to void, but can be safely returned, stored, etc. More...
 
struct  upstream_msg
 Stream messages that flow upstream, i.e., acks and drop messages. More...
 
class  uri
 A URI according to RFC 3986. 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 binary_serializer = serializer_impl< std::vector< char > >
 
template<class T >
using signatures_of_t = typename signatures_of< T >::type
 
using top_level_cli_parsing_t = std::false_type
 Type of the top_level_cli_parsing constant.
 
using nested_cli_parsing_t = std::true_type
 Type of the top_level_cli_parsing constant.
 
template<class T >
using select_config_value_access_t = typename select_config_value_access< T >::type
 
template<class T >
using deduce_mpi_t = typename detail::dmfou< typename param_decay< T >::type >::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 , class U = void>
using enable_if_has_make_error_t = typename std::enable_if< !detail::error_factory< T >::specialized &&has_make_error< T >::value, U >::type
 Convenience alias to detect enums that provide make_error overloads.
 
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 stream_slot = uint16_t
 Identifies a single stream path in the same way a TCP port identifies a connection over IP.
 
using weak_actor_ptr = weak_intrusive_ptr< actor_control_block >
 
using strong_actor_ptr = intrusive_ptr< actor_control_block >
 
using stream_manager_ptr = intrusive_ptr< stream_manager >
 
using type_erased_value_ptr = std::unique_ptr< type_erased_value >
 
using mailbox_element_ptr = std::unique_ptr< mailbox_element, detail::disposer >
 
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.
 
template<class T >
using param_t = typename add_param< T >::type
 Convenience alias that wraps T into param<T> unless T is arithmetic, a stream handshake or an atom constant.
 
using string_parser_state = parser_state< string_view::iterator >
 Specialization for parsers operating on string views.
 
using primitive_variant = variant< int8_t, int16_t, int32_t, int64_t, uint8_t, uint16_t, uint32_t, uint64_t, float, double, long double, std::string, std::u16string, std::u32string, atom_value, bool >
 
template<class... Is>
using reacts_to = typed_mpi< detail::type_list< Is... >, output_tuple< void > >
 
template<class Ts , class... Xs>
using response_type_t = typename response_type< Ts, Xs... >::type
 Computes the response message for input Xs... from the list of message passing interfaces Ts.
 
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.
 
using rtti_pair = std::pair< uint16_t, const std::type_info * >
 Bundles the type number with its C++ type_info object.
 
template<class In >
using stream_sink_ptr = intrusive_ptr< stream_sink< In > >