SObjectizer  5.5
Classes | Namespaces | Typedefs
coop.hpp File Reference

Cooperation of agents. More...

#include <so_5/compiler_features.hpp>
#include <so_5/declspec.hpp>
#include <so_5/exception.hpp>
#include <so_5/types.hpp>
#include <so_5/coop_handle.hpp>
#include <so_5/agent.hpp>
#include <so_5/disp_binder.hpp>
#include <functional>
#include <memory>
#include <mutex>
#include <vector>
#include <string>
#include <type_traits>

Go to the source code of this file.

Classes

class  so_5::coop_dereg_reason_t
 
class  so_5::coop_reg_notificators_container_t
 Container for cooperation registration notificators. More...
 
class  so_5::coop_dereg_notificators_container_t
 Container for cooperation deregistration notificators. More...
 
class  so_5::impl::coop_impl_t
 An internal class with real implementation of coop's logic. More...
 
class  so_5::coop_t
 Agent cooperation. More...
 
struct  so_5::coop_t::agent_with_disp_binder_t
 Information about agent and its dispatcher binding. More...
 
struct  so_5::coop_t::resource_deleter_t
 Type of user resource deleter. More...
 
class  so_5::coop_unique_holder_t
 A special type that plays role of unique_ptr for coop. More...
 

Namespaces

 so_5
 Public part of message limit implementation.
 
 so_5::dereg_reason
 Enumeration of cooperation deregistration reasons.
 
 so_5::impl
 Details of SObjectizer run-time implementations.
 

Typedefs

using so_5::coop_reg_notificator_t = std::function< void(environment_t &, const coop_handle_t &) >
 Type of cooperation registration notificator. More...
 
using so_5::coop_reg_notificators_container_ref_t = intrusive_ptr_t< coop_reg_notificators_container_t >
 Typedef for smart pointer to notificators_container. More...
 
using so_5::coop_dereg_notificator_t = std::function< void(environment_t &, const coop_handle_t &, const coop_dereg_reason_t &) >
 Type of cooperation deregistration notificator. More...
 
using so_5::coop_dereg_notificators_container_ref_t = intrusive_ptr_t< coop_dereg_notificators_container_t >
 Typedef for smart pointer to notificators_container. More...
 

Variables

Cooperation deregistration reasons.
const int so_5::dereg_reason::normal = 0
 Normal deregistration. More...
 
const int so_5::dereg_reason::shutdown = 1
 Deregistration because SObjectizer Environment shutdown. More...
 
const int so_5::dereg_reason::parent_deregistration = 2
 Deregistration because parent cooperation deregistration. More...
 
const int so_5::dereg_reason::unhandled_exception = 3
 Deregistration because of unhandled exception. More...
 
const int so_5::dereg_reason::unknown_error = 4
 Deregistration because of unknown error. More...
 
const int so_5::dereg_reason::undefined = -1
 Reason is not properly defined. More...
 
const int so_5::dereg_reason::user_defined_reason = 0x1000
 A starting point for user-defined reasons. More...
 

Detailed Description

Cooperation of agents.

Since
v.5.6.0