|
SObjectizer 5.8
|
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. | |
| mbox_t | create_ordinary_mpsc_mbox (agent_t &single_consumer) |
| Create multi-producer/single-consumer mbox that handles message limits. | |
| mbox_t | create_limitless_mpsc_mbox (agent_t &single_consumer) |
| Create multi-producer/single-consumer mbox that ignores message limits. | |
| void | ready_to_deregister_notify (coop_shptr_t coop) noexcept |
| Notification about readiness to the deregistration. | |
| void | final_deregister_coop (coop_shptr_t coop) noexcept |
| Do the final actions of a cooperation deregistration. | |
| bool | is_msg_tracing_enabled () const |
| Is message delivery tracing enabled? | |
| so_5::msg_tracing::holder_t & | msg_tracing_stuff () const |
| Get access to message delivery tracer stuff holder. | |
| so_5::msg_tracing::holder_t & | msg_tracing_stuff_nonchecked () const noexcept |
| Get access to message delivery tracer stuff holder. | |
| so_5::disp::mpsc_queue_traits::lock_factory_t | default_mpsc_queue_lock_factory () const |
| Get default lock_factory for MPSC queues. | |
| so_5::disp::mpmc_queue_traits::lock_factory_t | default_mpmc_queue_lock_factory () const |
| Get default lock_factory for MPMC queues. | |
| mbox_id_t | allocate_mbox_id () noexcept |
| Allocate a new ID for a new custom mbox or mchain. | |
| subscription_storage_factory_t | default_subscription_storage_factory () const noexcept(noexcept(subscription_storage_factory_t{}=subscription_storage_factory_t{})) |
| Get the default storage subscription factory. | |
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. | |
| 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. | |
Private Attributes | |
| environment_t & | m_env |
| Environment instance to work with. | |
A helper class for accessing the functionality of environment-class which is specific for SObjectizer internals only.
Definition at line 35 of file internal_env_iface.hpp.
|
inline |
Initializing constructor.
Definition at line 42 of file internal_env_iface.hpp.
|
nodiscardnoexcept |
Allocate a new ID for a new custom mbox or mchain.
Definition at line 998 of file environment.cpp.
|
nodiscard |
Create multi-producer/single-consumer mbox that ignores message limits.
| single_consumer | The only consumer for the messages. |
Definition at line 917 of file environment.cpp.
|
nodiscard |
Create multi-producer/single-consumer mbox that handles message limits.
| single_consumer | The only consumer for the messages. |
Definition at line 908 of file environment.cpp.
| 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.
Definition at line 974 of file environment.cpp.
| 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.
Definition at line 967 of file environment.cpp.
|
nodiscardnoexcept |
Get the default storage subscription factory.
Definition at line 1004 of file environment.cpp.
|
nodiscardnoexcept |
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.
Definition at line 982 of file environment.cpp.
|
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.
Definition at line 990 of file environment.cpp.
|
noexcept |
Do the final actions of a cooperation deregistration.
| coop | Cooperation name to be deregistered. |
Definition at line 933 of file environment.cpp.
| bool so_5::impl::internal_env_iface_t::is_msg_tracing_enabled | ( | ) | const |
Is message delivery tracing enabled?
Definition at line 945 of file environment.cpp.
|
nodiscard |
Get access to message delivery tracer stuff holder.
| exception_t | if message delivery tracing is disabled. |
Definition at line 951 of file environment.cpp.
|
nodiscardnoexcept |
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).
Definition at line 961 of file environment.cpp.
|
noexcept |
Notification about readiness to the deregistration.
| coop | Cooperation which is ready to be deregistered. |
Definition at line 926 of file environment.cpp.
|
private |
Environment instance to work with.
Definition at line 38 of file internal_env_iface.hpp.