SObjectizer-5 Extra
Loading...
Searching...
No Matches
pub.hpp File Reference

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.

Classes

class  so_5::extra::disp::asio_one_thread::disp_params_t
 Parameters for asio_one_thread dispatcher. More...
 
class  so_5::extra::disp::asio_one_thread::impl::actual_disp_binder_t
 An actual interace of disp_binder for asio_one_thread dispatcher. More...
 
class  so_5::extra::disp::asio_one_thread::dispatcher_handle_t
 A handle for asio_one_thread dispatcher. More...
 
struct  so_5::extra::disp::asio_one_thread::impl::work_thread_details::common_data_t
 A type of holder of data common to all worker thread implementations. More...
 
class  so_5::extra::disp::asio_one_thread::impl::work_thread_details::no_activity_tracking_impl_t
 Base class for implementation of worker thread without thread activity tracking. More...
 
class  so_5::extra::disp::asio_one_thread::impl::work_thread_details::with_activity_tracking_impl_t
 Base class for implementation of worker thread with thread activity tracking. More...
 
class  so_5::extra::disp::asio_one_thread::impl::work_thread_template_t< Work_Thread >
 An implementation of worker thread in form of the template class. More...
 
class  so_5::extra::disp::asio_one_thread::impl::dispatcher_template_t< Work_Thread >
 An implementation of the dispatcher in the form of template class. More...
 
class  so_5::extra::disp::asio_one_thread::impl::dispatcher_template_t< Work_Thread >::disp_data_source_t
 Data source for run-time monitoring of whole dispatcher. More...
 
class  so_5::extra::disp::asio_one_thread::impl::dispatcher_handle_maker_t
 A factory class for creation of dispatcher_handle instances. More...
 
struct  so_5::extra::disp::asio_one_thread::default_traits_t
 Default traits of asio_one_thread dispatcher. More...
 

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.
 

Detailed Description

Implementation of Asio's One Thread dispatcher.

Since
v.1.4.1

Definition in file pub.hpp.