SObjectizer  5.5
Public Member Functions | Private Attributes | List of all members
so_5::impl::internal_env_iface_t Class Reference

A helper class for accessing the functionality of environment-class which is specific for SObjectizer internals only. More...

#include <internal_env_iface.hpp>

Public Member Functions

 internal_env_iface_t (environment_t &env)
 Initializing constructor. More...
 
mbox_t create_mpsc_mbox (agent_t *single_consumer, const so_5::message_limit::impl::info_storage_t *limits_storage)
 Create multi-producer/single-consumer mbox. More...
 
void ready_to_deregister_notify (coop_shptr_t coop) noexcept
 Notification about readiness to the deregistration. More...
 
void final_deregister_coop (coop_shptr_t coop)
 Do the final actions of a cooperation deregistration. More...
 
bool is_msg_tracing_enabled () const
 Is message delivery tracing enabled? More...
 
so_5::msg_tracing::holder_tmsg_tracing_stuff () const
 Get access to message delivery tracer stuff holder. More...
 
so_5::disp::mpsc_queue_traits::lock_factory_t default_mpsc_queue_lock_factory () const
 Get default lock_factory for MPSC queues. More...
 
so_5::disp::mpmc_queue_traits::lock_factory_t default_mpmc_queue_lock_factory () const
 Get default lock_factory for MPMC queues. More...
 
Methods for working with event_queue_hooks
SO_5_NODISCARD event_queue_tevent_queue_on_bind (agent_t *agent, event_queue_t *original_queue) noexcept
 Call the event_queue_hook when an agent is being bound to a particular event_queue. More...
 
void event_queue_on_unbind (agent_t *agent, event_queue_t *queue) noexcept
 Call the event_queue_hook when an agent is being unbound from its event_queue. More...
 

Private Attributes

environment_tm_env
 Environment instance to work with. More...
 

Detailed Description

A helper class for accessing the functionality of environment-class which is specific for SObjectizer internals only.

Since
v.5.5.9

Constructor & Destructor Documentation

◆ internal_env_iface_t()

so_5::impl::internal_env_iface_t::internal_env_iface_t ( environment_t env)
inline

Initializing constructor.

Member Function Documentation

◆ create_mpsc_mbox()

mbox_t so_5::impl::internal_env_iface_t::create_mpsc_mbox ( agent_t single_consumer,
const so_5::message_limit::impl::info_storage_t limits_storage 
)

Create multi-producer/single-consumer mbox.

Parameters
single_consumerThe only consumer for the messages.
limits_storagePointer to the optional message limits storage. If this pointer is null then the limitless MPSC-mbox will be created. If this pointer is not null the the MPSC-mbox with limit control will be created.

◆ default_mpmc_queue_lock_factory()

so_5::disp::mpmc_queue_traits::lock_factory_t so_5::impl::internal_env_iface_t::default_mpmc_queue_lock_factory ( ) const

Get default lock_factory for MPMC queues.

Since
v.5.5.18

◆ default_mpsc_queue_lock_factory()

so_5::disp::mpsc_queue_traits::lock_factory_t so_5::impl::internal_env_iface_t::default_mpsc_queue_lock_factory ( ) const

Get default lock_factory for MPSC queues.

Since
v.5.5.18

◆ event_queue_on_bind()

SO_5_NODISCARD event_queue_t * so_5::impl::internal_env_iface_t::event_queue_on_bind ( agent_t agent,
event_queue_t original_queue 
)
noexcept

Call the event_queue_hook when an agent is being bound to a particular event_queue.

An agent should call this method when it is being bound to a particular event queue.

Attention
The pointer returned should be used as pointer to event queue.
Since
v.5.5.24

◆ event_queue_on_unbind()

void so_5::impl::internal_env_iface_t::event_queue_on_unbind ( agent_t agent,
event_queue_t queue 
)
noexcept

Call the event_queue_hook when an agent is being unbound from its event_queue.

An agent should call this method when it is being unbound from its event queue.

Attention
The value queue should be exactly the value returned from previous call to event_queue_on_bind().
Since
v.5.5.24

◆ final_deregister_coop()

void so_5::impl::internal_env_iface_t::final_deregister_coop ( coop_shptr_t  coop)

Do the final actions of a cooperation deregistration.

Parameters
coopCooperation name to be deregistered.

◆ is_msg_tracing_enabled()

bool so_5::impl::internal_env_iface_t::is_msg_tracing_enabled ( ) const

Is message delivery tracing enabled?

◆ msg_tracing_stuff()

so_5::msg_tracing::holder_t & so_5::impl::internal_env_iface_t::msg_tracing_stuff ( ) const

Get access to message delivery tracer stuff holder.

Exceptions
exception_tif message delivery tracing is disabled.

◆ ready_to_deregister_notify()

void so_5::impl::internal_env_iface_t::ready_to_deregister_notify ( coop_shptr_t  coop)
noexcept

Notification about readiness to the deregistration.

Parameters
coopCooperation which is ready to be deregistered.

Member Data Documentation

◆ m_env

environment_t& so_5::impl::internal_env_iface_t::m_env
private

Environment instance to work with.


The documentation for this class was generated from the following files: