SObjectizer-5 Extra
|
Implementation of Asio's One Thread dispatcher. More...
#include <so_5_extra/error_ranges.hpp>
#include <so_5/disp_binder.hpp>
#include <so_5/send_functions.hpp>
#include <so_5/disp/reuse/actual_work_thread_factory_to_use.hpp>
#include <so_5/disp/reuse/work_thread_activity_tracking.hpp>
#include <so_5/disp/reuse/data_source_prefix_helpers.hpp>
#include <so_5/disp/reuse/work_thread_factory_params.hpp>
#include <so_5/stats/repository.hpp>
#include <so_5/stats/messages.hpp>
#include <so_5/stats/std_names.hpp>
#include <so_5/stats/impl/activity_tracking.hpp>
#include <so_5/details/invoke_noexcept_code.hpp>
#include <so_5/details/rollback_on_exception.hpp>
#include <so_5/details/abort_on_fatal_error.hpp>
#include <so_5/impl/thread_join_stuff.hpp>
#include <so_5/outliving.hpp>
#include <asio/io_context.hpp>
#include <asio/post.hpp>
Go to the source code of this file.
Namespaces | |
namespace | so_5 |
Ranges for error codes of each submodules. | |
namespace | so_5::extra |
namespace | so_5::extra::disp |
namespace | so_5::extra::disp::asio_one_thread |
namespace | so_5::extra::disp::asio_one_thread::errors |
namespace | so_5::extra::disp::asio_one_thread::impl |
namespace | so_5::extra::disp::asio_one_thread::impl::work_thread_details |
Typedefs | |
using | so_5::extra::disp::asio_one_thread::io_context_shptr_t = std::shared_ptr< asio::io_context > |
An alias for shared-pointer to io_context object. | |
using | so_5::extra::disp::asio_one_thread::impl::actual_disp_binder_shptr_t |
An alias for shared-pointer to actual_disp_binder. | |
using | so_5::extra::disp::asio_one_thread::impl::demands_counter_t = std::atomic< std::size_t > |
Type of atomic counter for counting waiting demands. | |
using | so_5::extra::disp::asio_one_thread::impl::work_thread_no_activity_tracking_t |
using | so_5::extra::disp::asio_one_thread::impl::work_thread_with_activity_tracking_t |
Functions | |
void | so_5::extra::disp::asio_one_thread::impl::send_thread_activity_stats (const so_5::mbox_t &, const so_5::stats::prefix_t &, work_thread_no_activity_tracking_t &) |
template<typename Traits , typename... Thread_Init_Args> | |
dispatcher_handle_t | so_5::extra::disp::asio_one_thread::impl::create_dispatcher (environment_t &env, const std::string_view data_sources_name_base, disp_params_t params, Thread_Init_Args &&...thread_init_args) |
The actual implementation of dispatcher creation procedure. | |
template<typename Traits = default_traits_t> | |
dispatcher_handle_t | so_5::extra::disp::asio_one_thread::make_dispatcher (environment_t &env, const std::string_view data_sources_name_base, disp_params_t params) |
A function for creation an instance of asio_one_thread dispatcher. | |
Variables | |
const int | so_5::extra::disp::asio_one_thread::errors::rc_io_context_is_not_set |
Asio IoService is not set for asio_thread_pool dispatcher. | |