SObjectizer  5.7
Classes | Namespaces | Typedefs | Enumerations | Functions
simple_mtsafe_st_env_infrastructure.cpp File Reference

A very simple multithreaded-safe single thread environment infrastructure. More...

#include <so_5/impl/st_env_infrastructure_reuse.hpp>
#include <so_5/impl/run_stage.hpp>
#include <so_5/impl/internal_env_iface.hpp>
#include <so_5/disp/reuse/data_source_prefix_helpers.hpp>
#include <so_5/environment.hpp>
#include <so_5/send_functions.hpp>
#include <so_5/details/at_scope_exit.hpp>
#include <so_5/details/sync_helpers.hpp>

Classes

struct  so_5::env_infrastructures::simple_mtsafe::impl::main_thread_sync_objects_t
 A bunch of sync objects which need to be shared between various parts of env_infrastructure. More...
 
class  so_5::env_infrastructures::simple_mtsafe::impl::event_queue_impl_t
 Implementation of event_queue interface for this type of environment infrastructure. More...
 
struct  so_5::env_infrastructures::simple_mtsafe::impl::event_queue_impl_t::stats_t
 Type for representation of statistical data for this event queue. More...
 
struct  so_5::env_infrastructures::simple_mtsafe::impl::disp_ds_name_parts_t
 A special class for generation of names for dispatcher data sources. More...
 
class  so_5::env_infrastructures::simple_mtsafe::impl::env_infrastructure_t< Activity_Tracker >
 Default implementation of multithreaded environment infrastructure. More...
 

Namespaces

 so_5
 Public part of message limit implementation.
 
 so_5::env_infrastructures
 Various implementations of environment_infrastructure.
 
 so_5::env_infrastructures::simple_mtsafe
 Simple single-threaded environment infrastructure with thread safety.
 
 so_5::env_infrastructures::simple_mtsafe::impl
 Implementation details.
 
 so_5::env_infrastructures::simple_mtsafe::impl::helpers
 

Typedefs

using so_5::env_infrastructures::simple_mtsafe::impl::shutdown_status_t = reusable::shutdown_status_t
 
using so_5::env_infrastructures::simple_mtsafe::impl::coop_repo_t = reusable::coop_repo_t
 Implementation of coop_repository for simple thread-safe single-threaded environment infrastructure. More...
 
template<typename Activity_Tracker >
using so_5::env_infrastructures::simple_mtsafe::impl::default_dispatcher_t = reusable::default_dispatcher_t< event_queue_impl_t, Activity_Tracker, disp_ds_name_parts_t >
 An implementation of dispatcher to be used in places where default dispatcher is needed. More...
 
using so_5::env_infrastructures::simple_mtsafe::impl::stats_controller_t = reusable::stats_controller_t< so_5::details::actual_lock_holder_t<> >
 Implementation of stats_controller for that type of single-threaded environment. More...
 

Enumerations

enum  so_5::env_infrastructures::simple_mtsafe::impl::main_thread_status_t { so_5::env_infrastructures::simple_mtsafe::impl::main_thread_status_t::working, so_5::env_infrastructures::simple_mtsafe::impl::main_thread_status_t::waiting }
 A short name for namespace with run-time stats stuff. More...
 

Functions

template<typename Action >
auto so_5::env_infrastructures::simple_mtsafe::impl::helpers::unlock_do_and_lock_again (std::unique_lock< std::mutex > &acquired_lock, Action &&action) -> decltype(action())
 
void so_5::env_infrastructures::simple_mtsafe::impl::wakeup_if_waiting (main_thread_sync_objects_t &sync_objects)
 
SO_5_FUNC environment_infrastructure_factory_t so_5::env_infrastructures::simple_mtsafe::factory (params_t &&params)
 A factory for creation of simple thread-safe single-thread environment infrastructure object. More...
 

Detailed Description

A very simple multithreaded-safe single thread environment infrastructure.

Since
v.5.5.19