SObjectizer
5.7
|
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_t & | msg_tracing_stuff () const |
Get access to message delivery tracer stuff holder. More... | |
so_5::msg_tracing::holder_t & | msg_tracing_stuff_nonchecked () const noexcept |
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... | |
mbox_id_t | allocate_mbox_id () noexcept |
Allocate a new ID for a new custom mbox or mchain. More... | |
Methods for working with event_queue_hooks | |
event_queue_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. 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_t & | m_env |
Environment instance to work with. More... | |
A helper class for accessing the functionality of environment-class which is specific for SObjectizer internals only.
|
inline |
Initializing constructor.
|
noexcept |
Allocate a new ID for a new custom mbox or mchain.
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.
single_consumer | The only consumer for the messages. |
limits_storage | Pointer to limits for a new mbox. It can be nullptr, that means that limits shouldn't be used. |
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.
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.
|
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.
|
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.
void so_5::impl::internal_env_iface_t::final_deregister_coop | ( | coop_shptr_t | coop | ) |
Do the final actions of a cooperation deregistration.
coop | Cooperation name to be deregistered. |
bool so_5::impl::internal_env_iface_t::is_msg_tracing_enabled | ( | ) | const |
Is message delivery tracing enabled?
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.
exception_t | if message delivery tracing is disabled. |
|
noexcept |
Get access to message delivery tracer stuff holder.
This method doesn't throw if delivery tracing is disabled. It was introduced in v.5.7.0 to allow the creation of custom mboxes and mchains in separate libraries (like so5extra).
|
noexcept |
Notification about readiness to the deregistration.
coop | Cooperation which is ready to be deregistered. |
|
private |
Environment instance to work with.