SObjectizer  5.5
Classes | Namespaces | Typedefs
disp/thread_pool/impl/h/disp.hpp File Reference

An implementation of thread pool dispatcher. More...

#include <vector>
#include <queue>
#include <thread>
#include <memory>
#include <map>
#include <iostream>
#include <atomic>
#include <so_5/rt/h/event_queue.hpp>
#include <so_5/rt/h/disp.hpp>
#include <so_5/rt/stats/impl/h/activity_tracking.hpp>
#include <so_5/disp/reuse/h/mpmc_ptr_queue.hpp>
#include <so_5/disp/thread_pool/impl/h/common_implementation.hpp>

Go to the source code of this file.

Classes

class  so_5::disp::thread_pool::impl::agent_queue_t
 Event queue for the agent (or cooperation). More...
 
struct  so_5::disp::thread_pool::impl::agent_queue_t::demand_t
 Actual demand in event queue. More...
 
struct  so_5::disp::thread_pool::impl::agent_queue_t::pop_result_t
 A result of erasing of the front demand from queue. More...
 
struct  so_5::disp::thread_pool::impl::work_thread_details::common_data_t
 Main data for work_thread. More...
 
class  so_5::disp::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::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::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::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::thread_pool
 Thread pool dispatcher.
 
 so_5::disp::thread_pool::impl
 Internal implementation details of thread pool dispatcher.
 
 so_5::disp::thread_pool::impl::work_thread_details
 

Typedefs

using so_5::disp::thread_pool::impl::spinlock_t = so_5::default_spinlock_t
 
using so_5::disp::thread_pool::impl::dispatcher_queue_t = so_5::disp::reuse::mpmc_ptr_queue_t< agent_queue_t >
 
using so_5::disp::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::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::thread_pool::impl::dispatcher_template_t = common_implementation::dispatcher_t< Work_Thread, dispatcher_queue_t, agent_queue_t, params_t, adaptation_t >
 Template for dispatcher. More...
 

Detailed Description

An implementation of thread pool dispatcher.

Since
v.5.4.0