SObjectizer  5.5
Classes | Namespaces | Macros | Typedefs
adv_thread_pool/impl/disp.hpp File Reference

An implementation of advanced thread pool dispatcher. More...

#include <so_5/spinlocks.hpp>
#include <so_5/atomic_refcounted.hpp>
#include <so_5/event_queue.hpp>
#include <so_5/stats/impl/activity_tracking.hpp>
#include <so_5/disp/reuse/mpmc_ptr_queue.hpp>
#include <so_5/disp/thread_pool/impl/common_implementation.hpp>
#include <so_5/impl/thread_join_stuff.hpp>
#include <forward_list>

Go to the source code of this file.

Classes

class  so_5::disp::adv_thread_pool::impl::agent_queue_t
 Event queue for the agent (or cooperation). More...
 
struct  so_5::disp::adv_thread_pool::impl::agent_queue_t::demand_t
 Actual demand in event queue. More...
 
struct  so_5::disp::adv_thread_pool::impl::work_thread_details::common_data_t
 Main data for work_thread. More...
 
class  so_5::disp::adv_thread_pool::impl::work_thread_details::no_activity_tracking_impl_t
 Part of implementation of work thread without activity tracing. More...
 
class  so_5::disp::adv_thread_pool::impl::work_thread_details::with_activity_tracking_impl_t
 Part of implementation of work thread with activity tracing. More...
 
class  so_5::disp::adv_thread_pool::impl::work_thread_details::work_thread_template_t< Impl >
 Implementation of work_thread in form of template class. More...
 
struct  so_5::disp::adv_thread_pool::impl::adaptation_t
 Adaptation of common implementation of thread-pool-like dispatcher to the specific of this thread-pool dispatcher. More...
 

Namespaces

 so_5
 Public part of message limit implementation.
 
 so_5::disp
 Event dispatchers.
 
 so_5::disp::adv_thread_pool
 Advanced thread pool dispatcher.
 
 so_5::disp::adv_thread_pool::impl
 Internal implementation details of advanced thread pool dispatcher.
 
 so_5::disp::adv_thread_pool::impl::work_thread_details
 

Macros

#define SO_5_CHECK_INVARIANT(what, data)
 

Typedefs

using so_5::disp::adv_thread_pool::impl::spinlock_t = so_5::default_spinlock_t
 
using so_5::disp::adv_thread_pool::impl::dispatcher_queue_t = so_5::disp::reuse::mpmc_ptr_queue_t< agent_queue_t >
 
using so_5::disp::adv_thread_pool::impl::agent_queue_ref_t = so_5::intrusive_ptr_t< agent_queue_t >
 A typedef of smart pointer for agent_queue. More...
 
using so_5::disp::adv_thread_pool::impl::work_thread_no_activity_tracking_t = work_thread_details::work_thread_template_t< work_thread_details::no_activity_tracking_impl_t >
 Type of work thread without activity tracking. More...
 
using so_5::disp::adv_thread_pool::impl::work_thread_with_activity_tracking_t = work_thread_details::work_thread_template_t< work_thread_details::with_activity_tracking_impl_t >
 Type of work thread without activity tracking. More...
 
template<typename Work_Thread >
using so_5::disp::adv_thread_pool::impl::dispatcher_template_t = so_5::disp::thread_pool::common_implementation::dispatcher_t< Work_Thread, dispatcher_queue_t, agent_queue_t, bind_params_t, adaptation_t >
 Template for dispatcher. More...
 

Detailed Description

An implementation of advanced thread pool dispatcher.

Since
v.5.4.0

Macro Definition Documentation

◆ SO_5_CHECK_INVARIANT

#define SO_5_CHECK_INVARIANT (   what,
  data 
)