Flow 1.0.0
Flow project: Public API.
|
Cflow::util::Basic_blob< Allocator, S_SHARING_ALLOWED > | A hand-optimized and API-tweaked replacement for vector<uint8_t> , i.e., buffer of bytes inside an allocated area of equal or larger size; also optionally supports limited garbage-collected memory pool functionality and SHM-friendly custom-allocator support |
▼Cflow::util::Basic_blob< std::allocator< uint8_t >, S_SHARING_ALLOWED > | |
Cflow::util::Blob_with_log_context< S_SHARING_ALLOWED > | Basic_blob that works in regular heap (and is itself placed in heap or stack) and memorizes a log::Logger, enabling easier logging albeit with a small perf trade-off |
▼Cstd::basic_string_view< Char > | STL class |
Cflow::util::Basic_string_view< Ch, Traits > | Essentially alias for a C++17-conforming string-view class template, which is a very lightweight std::string -like representation of a character sequence already in memory |
Cflow::perf::Checkpointing_timer::Checkpoint | The entirety of the information recorded with each Checkpointing_timer::checkpoint() call; it contains the Duration values (for each Clock_type ) with the time elapsed since either the preceding T.checkpoint() or construction |
Cflow::log::Component | A light-weight class, each object storing a component payload encoding an enum value from enum type of user's choice, and a light-weight ID of that enum type itself |
Cflow::log::Config | Class used to configure the filtering and logging behavior of Logger s; its use in your custom Logger s is optional but encouraged; supports dynamically changing filter settings even while concurrent logging occurs |
Cflow::util::Container_traits< Container > | Properties of various container types |
Cflow::util::Container_traits< boost::unordered_set< T > > | Traits of boost::unordered_set |
Cflow::util::Container_traits< std::map< K, V > > | Traits of std::map |
Cflow::util::Container_traits< std::set< T > > | Traits of std::set |
Cflow::util::Container_traits< util::Linked_hash_map< K, V > > | Traits of flow::util::Linked_hash_map |
Cflow::util::Container_traits< util::Linked_hash_set< T, Hash, Pred > > | Traits of flow::util::Linked_hash_set |
Cflow::cfg::Option_set< Value_set >::Declare_options_func_args | Internal-use structure to use with Declare_options_func callback |
Cflow::perf::Duration_set | Convenience wrapper around an array<Duration, N> , which stores a duration for each of the N possible clock types in perf::Clock_type |
Cflow::cfg::Dynamic_cfg_context< Root, Target, Target_ptr > | Class which facilitates managing access to a dynamic configuration |
Cflow::cfg::Final_validator_func< Value_set > | Utility/traits type to concisely work with final-validation functions when calling methods like Config_manager::apply_static() |
Cflow::Function< Result(Args...)> | Intended as the polymorphic function wrapper of choice for Flow, internally and externally; to be used instead of std::function or boost::function |
Cboost::system::is_error_code_enum<::flow::net_flow::error::Code > | Ummm – it specializes this struct to – look – the end result is boost.system uses this as authorization to make enum Code convertible to Error_code |
Cflow::util::Linked_hash_map< Key, Mapped, Hash, Pred > | An object of this class is a map that combines the lookup speed of a boost::unordered_map<> and ordering and iterator stability capabilities of an std::list<> |
Cflow::util::Linked_hash_map< Event_type, Sockets > | |
Cflow::util::Linked_hash_map< Sequence_number, boost::shared_ptr< Sent_packet > > | |
Cflow::util::Linked_hash_set< Key, Hash, Pred > | An object of this class is a set that combines the lookup speed of an unordered_set<> and ordering and iterator stability capabilities of an std::list<> |
Cflow::util::Linked_hash_set< Peer_socket_ptr > | |
▼Cflow::log::Log_context | Convenience class that simply stores a Logger and/or Component passed into a constructor; and returns this Logger and Component via get_logger() and get_log_component() public accessors |
▼Cflow::cfg::Config_manager< Value_set, Null_value_set > | |
Cflow::cfg::Static_config_manager< Value_set > | A Config_manager -related adapter-style class that manages a simple config setup involving a single (though arbitrarily complex) Option_set<> -ready raw value struct config store type Value_set , meant to be used only in static fashion |
Cflow::async::Cross_thread_task_loop | Concrete Concurrent_task_loop that is able to efficiently schedule Task s within a given Op to execute in different threads while still properly avoiding concurrency |
Cflow::async::Op_list | Simple, immutable vector -like sequence of N opaque async::Op objects, usually corresponding to N worker threads, with typically used operations such as [index] and random Op selection |
Cflow::async::Segregated_thread_task_loop | Concrete Concurrent_task_loop that uses the legacy pin-Task s-within-1-Op -to-1-thread method of achieving required non-concurrency of Task s |
▼Cflow::async::Single_thread_task_loop | A Concurrent_task_loop -related adapter-style class that represents a single-thread task loop; essentially it is pleasant syntactic sugar around a Concurrent_task_loop impl that cuts out concepts that become irrelevant with only one thread involved |
Cflow::async::Timed_single_thread_task_loop | Identical to Single_thread_task_loop, but all tasks posted through it are automatically timed, with the result accessible via accumulated_time() |
Cflow::cfg::Config_manager< S_d_value_set > | Manages a config setup, intended for a single daemon process, by maintaining 1 or more set(s) of static config and dynamic config, each, via that number of Option_set<> -ready raw value struct types supplied by the user as template arguments |
Cflow::cfg::Option_set< Value_set > | The core config-parsing facility, which builds parsing/comparison/output capabilities on top of a given simple config-holding object, of the type Value_set , a template argument to this class template |
Cflow::log::Async_file_logger | An implementation of Logger that logs messages to a given file-system path but never blocks any logging thread for file I/O; suitable for heavy-duty file logging |
Cflow::net_flow::Event_set | A user-set collection of sockets and desired conditions on those sockets (such as: "socket has data to read"), with the ability to wait for those conditions to become true and signal the user when so |
Cflow::net_flow::Net_env_simulator | Objects of this class can be fed to Node to make it internally simulate network conditions like loss, latency, and data duplication |
▼Cflow::net_flow::Node | An object of this class is a single Flow-protocol networking node, in the sense that: (1) it has a distinct IP address and UDP port; and (2) it speaks the Flow protocol over a UDP transport layer |
Cflow::net_flow::asio::Node | A subclass of net_flow::Node that adds the ability to easily and directly use net_flow sockets in general boost.asio event loops |
▼Cflow::net_flow::Peer_socket | A peer (non-server) socket operating over the Flow network protocol, with optional stream-of-bytes and reliability support |
Cflow::net_flow::asio::Peer_socket | A net_flow::Peer_socket that adds integration with boost.asio |
▼Cflow::net_flow::Server_socket | A server socket able to listen on a single Flow port for incoming connections and return peer sockets (Peer_socket objects) to the local user once such connections are established |
Cflow::net_flow::asio::Server_socket | A net_flow::Server_socket that adds integration with boost.asio |
Cflow::perf::Checkpointing_timer | The central class in the perf Flow module, this efficiently times the user's operation, with a specified subset of timing methods; and with the optional ability to time intermediate checkpoints within the overall operation |
Cflow::perf::Checkpointing_timer::Aggregator | This companion/inner class of Checkpointing_timer provides aggregation of results from many Checkpointing_timer s each measuring some user operation being repeated many times; particularly when the operation consists of multiple steps (checkpoints) of interest |
Cflow::util::Blob_with_log_context< S_SHARING_ALLOWED > | Basic_blob that works in regular heap (and is itself placed in heap or stack) and memorizes a log::Logger, enabling easier logging albeit with a small perf trade-off |
Cflow::log::Msg_metadata | Simple data store containing all of the information generated at every logging call site by flow::log, except the message itself, which is passed to Logger::do_log() assuming Logger::should_log() had returned true |
Cflow::net_flow::Node_options | A set of low-level options affecting a single Flow Node, including Peer_socket objects and other objects subsequently generated by that Flow Node |
▼Cflow::util::Null_interface | An empty interface, consisting of nothing but a default virtual destructor, intended as a boiler-plate-reducing base for any other (presumably virtual -method-having) class that would otherwise require a default virtual destructor |
▼Cflow::async::Concurrent_task_loop | The core flow::async interface, providing an optionally multi-threaded thread pool onto which runnable Task s, optionally arranged into concurrency-avoiding Op s, can be boost.asio-posted for subsequent execution |
►Cflow::async::Timed_concurrent_task_loop_impl< std::atomic< perf::duration_rep_t > > | |
Cflow::async::Timed_concurrent_task_loop_impl< perf::duration_rep_t > | |
Cflow::async::Cross_thread_task_loop | Concrete Concurrent_task_loop that is able to efficiently schedule Task s within a given Op to execute in different threads while still properly avoiding concurrency |
Cflow::async::Segregated_thread_task_loop | Concrete Concurrent_task_loop that uses the legacy pin-Task s-within-1-Op -to-1-thread method of achieving required non-concurrency of Task s |
Cflow::async::Timed_concurrent_task_loop_impl< Time_accumulator > | Decorator of a Concurrent_task_loop with same or greater lifetime that accumulates time elapsed in any tasks posted or scheduled onto that loop |
Cflow::async::Single_thread_task_loop | A Concurrent_task_loop -related adapter-style class that represents a single-thread task loop; essentially it is pleasant syntactic sugar around a Concurrent_task_loop impl that cuts out concepts that become irrelevant with only one thread involved |
▼Cflow::log::Logger | Interface that the user should implement, passing the implementing Logger into logging classes (Flow's own classes like net_flow::Node; and user's own logging classes) at construction (plus free/static logging functions) |
Cflow::log::Async_file_logger | An implementation of Logger that logs messages to a given file-system path but never blocks any logging thread for file I/O; suitable for heavy-duty file logging |
Cflow::log::Buffer_logger | An implementation of Logger that logs messages to an internal std::string buffer and provides read-only access to this buffer (for example, if one wants to write out its contents when exiting program) |
Cflow::log::Simple_ostream_logger | An implementation of Logger that logs messages to the given ostream s (e.g., cout or an ofstream for a file) |
Cflow::net_flow::Node | An object of this class is a single Flow-protocol networking node, in the sense that: (1) it has a distinct IP address and UDP port; and (2) it speaks the Flow protocol over a UDP transport layer |
Cflow::net_flow::Peer_socket | A peer (non-server) socket operating over the Flow network protocol, with optional stream-of-bytes and reliability support |
Cflow::net_flow::Server_socket | A server socket able to listen on a single Flow port for incoming connections and return peer sockets (Peer_socket objects) to the local user once such connections are established |
Cflow::cfg::Config_manager< S_d_value_set >::On_dynamic_change_func_handle | Opaque handle for managing a dynamic config change callback |
▼Cflow::cfg::Option_set_base | Un-templated base for Option_set |
Cflow::cfg::Option_set< Value_set > | The core config-parsing facility, which builds parsing/comparison/output capabilities on top of a given simple config-holding object, of the type Value_set , a template argument to this class template |
Cflow::log::Ostream_log_msg_writer | Utility class, each object of which wraps a given ostream and outputs discrete messages to it adorned with time stamps and other formatting such as separating newlines |
Cflow::net_flow::Peer_socket_info | A data store that keeps stats about the a Peer_socket connection |
Cflow::net_flow::Peer_socket_options | A set of low-level options affecting a single Peer_socket |
Cflow::net_flow::Peer_socket_receive_stats | A data store that keeps stats about the incoming direction of a Peer_socket connection to another Flow-protocol Peer_socket |
Cflow::net_flow::Peer_socket_send_stats | A data store that keeps stats about the outgoing direction of a Peer_socket connection to another Flow-protocol Peer_socket |
Cflow::net_flow::Remote_endpoint | Represents the remote endpoint of a Flow-protocol connection; identifies the UDP endpoint of the remote Node and the logical Flow-protocol port within that Node |
▼Cflow::util::Rnd_gen_uniform_range_base | Base class for Rnd_gen_uniform_range and Rnd_gen_uniform_range_mt for various aliases and similar, so template arguments need not be involved |
▼Cflow::util::Rnd_gen_uniform_range< size_t > | |
Cflow::util::Rnd_gen_uniform_range_mt< size_t > | |
Cflow::util::Rnd_gen_uniform_range< Peer_socket::security_token_t > | |
▼Cflow::util::Rnd_gen_uniform_range< range_t > | Simple, non-thread-safe uniform-range random number generator |
Cflow::util::Rnd_gen_uniform_range_mt< range_t > | Identical to Rnd_gen_uniform_range but safe for concurrent RNG given a single object |
Cflow::error::Runtime_error | An std::runtime_error (which is an std::exception ) that stores an Error_code |
Cflow::util::Scoped_setter< Value > | A simple RAII-pattern class template that, at construction, sets the specified location in memory to a specified value, memorizing the previous contents; and at destruction restores the value |
Cflow::util::Shared_ptr_alias_holder< Target_ptr, Const_target_ptr > | Convenience class template that endows the given subclass T with nested aliases Ptr and Const_ptr aliased to shared_ptr<T> and shared_ptr<const T> respectively |
▼Cflow::util::Shared_ptr_alias_holder< boost::shared_ptr< Event_set > > | |
Cflow::net_flow::Event_set | A user-set collection of sockets and desired conditions on those sockets (such as: "socket has data to read"), with the ability to wait for those conditions to become true and signal the user when so |
▼Cflow::util::Shared_ptr_alias_holder< boost::shared_ptr< Null_value_set > > | |
Cflow::cfg::Null_value_set | Empty struct suitable as a *_value_set template arg for Config_manager, when a slot requires a Value_set , but you have no config to actually parse there |
▼Cflow::util::Shared_ptr_alias_holder< boost::shared_ptr< Peer_socket > > | |
Cflow::net_flow::Peer_socket | A peer (non-server) socket operating over the Flow network protocol, with optional stream-of-bytes and reliability support |
Cflow::util::Shared_ptr_alias_holder< boost::shared_ptr< Peer_socket::Received_packet > > | |
Cflow::util::Shared_ptr_alias_holder< boost::shared_ptr< Peer_socket::Sent_packet > > | |
▼Cflow::util::Shared_ptr_alias_holder< boost::shared_ptr< Server_socket > > | |
Cflow::net_flow::Server_socket | A server socket able to listen on a single Flow port for incoming connections and return peer sockets (Peer_socket objects) to the local user once such connections are established |
Cflow::net_flow::Event_set::Socket_as_any_equals | Equality predicate class used in storing various sockets of types wrapped as boost::any s in the Sockets type |
Cflow::net_flow::Event_set::Socket_as_any_hash | Hasher class used in storing various sockets of types wrapped as boost::any s in the Sockets type |
Cflow::util::String_ostream | Similar to ostringstream but allows fast read-only access directly into the std::string being written; and some limited write access to that string |
Cflow::log::Async_file_logger::Throttling_cfg | Controls behavior of the throttling algorithm as described in Async_file_logger doc header Throttling section |
Cflow::perf::Time_pt_set | Convenience wrapper around an array<Time_pt, N> , which stores a time point for each of the N possible clock types in perf::Clock_type |
▼Cflow::util::Unique_id_holder | Each object of this class stores (at construction) and returns (on demand) a numeric ID unique from all other objects of the same class ever constructed, across all time from program start to end |
Cflow::log::Logger | Interface that the user should implement, passing the implementing Logger into logging classes (Flow's own classes like net_flow::Node; and user's own logging classes) at construction (plus free/static logging functions) |
Cflow::log::Verbosity_config | Optional-use structure encapsulating a full set of verbosity config, such that one can parse it from a config source (like an options file) in concise form and apply it to a log::Config object |