OGLplus  (0.59.0) a C++ wrapper for rendering APIs

eagine::msgbus::posix_mqueue_connection Class Reference

Implementation of connection on top of POSIX message queues. More...

#include <eagine/message_bus/posix_mqueue.hpp>

Public Types

using fetch_handler = connection::fetch_handler
 Alias for received message fetch handler callable.
 
- Public Types inherited from eagine::msgbus::connection
using fetch_handler = callable_ref< bool(message_id, message_age, const message_view &)>
 Alias for fetch handler callable reference type.
 
- Public Types inherited from eagine::named_logging_object< main_ctx_log_backend_getter >
using entry_type = std::conditional_t< is_log_level_enabled_v< severity >, log_entry, no_log_entry >
 The entry type for the specified log_event_severity. More...
 
- Public Types inherited from eagine::basic_logger< main_ctx_log_backend_getter >
using entry_type = std::conditional_t< is_log_level_enabled_v< severity >, log_entry, no_log_entry >
 The entry type for the specified log_event_severity. More...
 

Public Member Functions

 posix_mqueue_connection (main_ctx_parent parent)
 Construction from parent main context object.
 
auto open (std::string name) -> bool
 Opens the connection.
 
auto is_usable () -> bool final
 Checks if the connection is in usable state.
 
auto max_data_size () -> valid_if_positive< span_size_t > final
 Returns the maximum data block size in bytes that can be sent.
 
auto update () -> bool override
 Updates the internal state of the connection (called repeatedly). More...
 
auto send (message_id msg_id, const message_view &message) -> bool final
 Sent a message with the specified id. More...
 
auto fetch_messages (fetch_handler handler) -> bool final
 Fetch all enqueued messages that have been received since last fetch. More...
 
- Public Member Functions inherited from eagine::msgbus::posix_mqueue_connection_info< connection >
auto kind () -> connection_kind final
 
auto addr_kind () -> connection_addr_kind final
 
auto type_id () -> identifier final
 
- Public Member Functions inherited from eagine::msgbus::connection
virtual void cleanup ()
 Cleans up the connection before destroying it.
 
- Public Member Functions inherited from eagine::interface< connection_info >
constexpr interface (const interface &)=delete
 Not copyable.
 
auto operator= (interface &&)=delete
 Not move assignable.
 
auto operator= (const interface &)=delete
 Not copy assignable.
 
- Public Member Functions inherited from eagine::main_ctx_object
 main_ctx_object (identifier obj_id, main_ctx_parent parent) noexcept
 Initialization from object id and parent.
 
auto process_instance_id () const noexcept -> process_instance_id_t
 Returns the process id.
 
auto main_context () const noexcept -> main_ctx &
 Returns a reference to the main context singleton.
 
auto app_config () const noexcept -> application_config &
 Returns a reference to the application config object.
 
auto as_parent () noexcept -> main_ctx_object_parent_info
 Returns this as main_ctx_object_parent_info.
 
template<typename T >
auto cfg_init (string_view key, T initial, string_view tag={}) -> T
 Reads and returns the configuration value identified by key.
 
template<typename Extractable , typename T >
auto cfg_extr (string_view key, T initial, string_view tag={}, type_identity< Extractable >={}) -> T
 Reads and returns the configuration value identified by key.
 
- Public Member Functions inherited from eagine::named_logging_object< main_ctx_log_backend_getter >
 named_logging_object (identifier id, main_ctx_log_backend_getter backend_getter) noexcept
 Constructor from identifier and backend_getter object. More...
 
 named_logging_object (identifier id, const named_logging_object &parent) noexcept
 Constructor from logger id and parent logging object.
 
 named_logging_object () noexcept=default
 Construct logging object without backend.
 
 named_logging_object (named_logging_object &&temp) noexcept
 Move constructor.
 
 named_logging_object (const named_logging_object &that) noexcept
 Copy constructor.
 
auto operator= (named_logging_object &&) noexcept -> named_logging_object &=default
 Move assignment operator.
 
auto operator= (const named_logging_object &) -> named_logging_object &=default
 Copy assignment operator.
 
constexpr auto object_id () const noexcept
 Returns the identifier of this logging object.
 
void object_description (string_view display_name, string_view description) noexcept
 Sets the human-readable name and description of this object.
 
auto log_fatal (string_view format) noexcept
 Create a log message entry for fatal error, with specified format. More...
 
auto log_error (string_view format) noexcept
 Create a log message entry for error, with specified format. More...
 
auto log_warning (string_view format) noexcept
 Create a log message entry for warning, with specified format. More...
 
auto log_info (string_view format) noexcept
 Create a log message entry for information, with specified format. More...
 
auto log_stat (string_view format) noexcept
 Create a log message entry for statistic, with specified format. More...
 
auto log_debug (string_view format) noexcept
 Create a log message entry for debugging, with specified format. More...
 
auto log_trace (string_view format) noexcept
 Create a log message entry for tracing, with specified format. More...
 
auto log_backtrace (string_view format) noexcept
 Create a log message entry for backtracing, with specified format. More...
 
auto log_debug_stream () noexcept
 Returns a log entry stream for debug messages. More...
 
auto log_error_stream () noexcept
 Returns a log entry stream for error messages. More...
 
auto log_chart_sample (identifier series, float value) noexcept -> named_logging_object &
 Stores a new value in the specified chart data series.
 
auto log_chart_sample (identifier series, const tagged_quantity< T, U > &qty) noexcept -> std::enable_if_t< std::is_convertible_v< T, float >, named_logging_object & >
 Stores a new value in the specified chart data series.
 
auto log_chart_sample (identifier series, const valid_if< T, P > &opt_value) noexcept -> named_logging_object &
 Stores a new value in the specified chart data series.
 
- Public Member Functions inherited from eagine::basic_logger< main_ctx_log_backend_getter >
auto backend () noexcept
 Returns a pointer to the backend of this logger object.
 
auto instance_id () const noexcept -> logger_instance_id
 Returns the unique id of this logger instance.
 

Additional Inherited Members

- Protected Member Functions inherited from eagine::interface< connection_info >
constexpr interface () noexcept=default
 Default constructible by derived.
 
constexpr interface (interface &&) noexcept=default
 Move constructible by derived.
 

Detailed Description

Implementation of connection on top of POSIX message queues.

See also
posix_mqueue
posix_mqueue_connector
posix_mqueue_acceptor

Member Function Documentation

◆ fetch_messages()

auto eagine::msgbus::posix_mqueue_connection::fetch_messages ( fetch_handler  handler) -> bool
inlinefinalvirtual

Fetch all enqueued messages that have been received since last fetch.

See also
send
update

Implements eagine::msgbus::connection.

◆ send()

auto eagine::msgbus::posix_mqueue_connection::send ( message_id  msg_id,
const message_view  
) -> bool
inlinefinalvirtual

Sent a message with the specified id.

See also
fetch_messages
update

Implements eagine::msgbus::connection.

◆ update()

auto eagine::msgbus::posix_mqueue_connection::update ( ) -> bool
inlineoverridevirtual

Updates the internal state of the connection (called repeatedly).

See also
send
fetch_messages

Reimplemented from eagine::msgbus::connection.

Reimplemented in eagine::msgbus::posix_mqueue_connector.


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

Copyright © 2015-2021 Matúš Chochlík.
<chochlik -at -gmail.com>
Documentation generated on Tue Apr 13 2021 by Doxygen (version 1.8.17).