SObjectizer  5.8
Loading...
Searching...
No Matches
agent.hpp File Reference

A base class for agents. More...

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

Go to the source code of this file.

Classes

class  so_5::subscription_bind_t
 A class for creating a subscription to messages from the mbox. More...
 
struct  so_5::impl::agent_impl::working_thread_id_sentinel_t
 A helper class for temporary setting and then dropping the ID of the current working thread. More...
 
class  so_5::agent_t
 A base class for agents. More...
 
class  so_5::agent_t::state_time_limit_handling_data_t
 Type for holding information necessary for handling time limits for agent states. More...
 

Namespaces

namespace  so_5
 Private part of message limit implementation.
 
namespace  so_5::impl
 Details of SObjectizer run-time implementations.
 
namespace  so_5::impl::agent_impl
 Internal namespace with details of agent_t implementation.
 

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<typename Derived >
intrusive_ptr_t< Derived > so_5::make_agent_ref (Derived *agent)
 Helper function template for the creation of smart pointer to an agent.
 
void so_5::operator>>= (agent_t *agent, const state_t &new_state)
 A shortcat for switching the agent state.
 

Detailed Description

A base class for agents.

Definition in file agent.hpp.