SObjectizer  5.5
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
agent.hpp File Reference

A base class for agents. More...

#include <so_5/h/compiler_features.hpp>
#include <so_5/h/declspec.hpp>
#include <so_5/h/types.hpp>
#include <so_5/h/current_thread_id.hpp>
#include <so_5/h/atomic_refcounted.hpp>
#include <so_5/h/spinlocks.hpp>
#include <so_5/h/outliving.hpp>
#include <so_5/h/exception.hpp>
#include <so_5/h/error_logger.hpp>
#include <so_5/details/h/rollback_on_exception.hpp>
#include <so_5/details/h/abort_on_fatal_error.hpp>
#include <so_5/details/h/at_scope_exit.hpp>
#include <so_5/rt/h/fwd.hpp>
#include <so_5/rt/h/agent_ref_fwd.hpp>
#include <so_5/rt/h/agent_context.hpp>
#include <so_5/rt/h/disp.hpp>
#include <so_5/rt/h/mbox.hpp>
#include <so_5/rt/h/agent_state_listener.hpp>
#include <so_5/rt/h/event_queue.hpp>
#include <so_5/rt/h/subscription_storage_fwd.hpp>
#include <so_5/rt/h/handler_makers.hpp>
#include <so_5/rt/h/message_handler_format_detector.hpp>
#include <atomic>
#include <map>
#include <memory>
#include <vector>
#include <utility>
#include <type_traits>

Go to the source code of this file.

Classes

struct  so_5::signal_indicator_t< S >
 A special class which will be used as return value for signal-indication helper. More...
 
class  so_5::subscription_bind_t
 A class for creating a subscription to messages from the mbox. More...
 
class  so_5::agent_t
 A base class for agents. More...
 
class  so_5::delivery_filter_templates::lambda_as_filter_t< Lambda, Message >
 An implementation of delivery filter represented by lambda-function like object. More...
 

Namespaces

 so_5
 Public part of message limit implementation.
 
 so_5::delivery_filter_templates
 Template-based implementations of delivery filters.
 
 so_5::rt
 All code related to implementation of SObjectizer run-time.
 

Typedefs

using so_5::rt::exception_reaction_t = so_5::exception_reaction_t
 
using so_5::rt::subscription_bind_t = so_5::subscription_bind_t
 
using so_5::rt::agent_t = so_5::agent_t
 

Enumerations

enum  so_5::exception_reaction_t {
  so_5::abort_on_exception = 1, so_5::shutdown_sobjectizer_on_exception = 2, so_5::deregister_coop_on_exception = 3, so_5::ignore_exception = 4,
  so_5::inherit_exception_reaction = 5
}
 A reaction of SObjectizer to an exception from agent event. More...
 

Functions

template<class S >
signal_indicator_t< S > so_5::signal ()
 A special signal-indicator. More...
 
void so_5::operator>>= (agent_t *agent, const state_t &new_state)
 A shortcat for switching the agent state. More...
 

Variables

const so_5::exception_reaction_t so_5::rt::abort_on_exception = so_5::abort_on_exception
 
const so_5::exception_reaction_t so_5::rt::shutdown_sobjectizer_on_exception = so_5::shutdown_sobjectizer_on_exception
 
const so_5::exception_reaction_t so_5::rt::deregister_coop_on_exception = so_5::deregister_coop_on_exception
 
const so_5::exception_reaction_t so_5::rt::ignore_exception = so_5::ignore_exception
 
const so_5::exception_reaction_t so_5::rt::inherit_exception_reaction = so_5::inherit_exception_reaction
 

Detailed Description

A base class for agents.