SObjectizer
5.5
|
Implementation of free functions send/send_delayed. More...
Go to the source code of this file.
Classes | |
struct | so_5::impl::instantiator_and_sender_base< Message, Is_Signal > |
struct | so_5::impl::instantiator_and_sender_base< Message, true > |
struct | so_5::impl::instantiator_and_sender< Message > |
Namespaces | |
so_5 | |
Public part of message limit implementation. | |
so_5::impl | |
Details of SObjectizer run-time implementations. | |
so_5::send_functions_details | |
Implementation details for send-family and request_future/value helper functions. | |
Functions | |
const so_5::mbox_t & | so_5::send_functions_details::arg_to_mbox (const so_5::mbox_t &mbox) |
const so_5::mbox_t & | so_5::send_functions_details::arg_to_mbox (const so_5::agent_t &agent) |
const so_5::mbox_t & | so_5::send_functions_details::arg_to_mbox (const so_5::adhoc_agent_definition_proxy_t &agent) |
so_5::mbox_t | so_5::send_functions_details::arg_to_mbox (const so_5::mchain_t &chain) |
so_5::environment_t & | so_5::send_functions_details::arg_to_env (const so_5::agent_t &agent) |
so_5::environment_t & | so_5::send_functions_details::arg_to_env (const so_5::adhoc_agent_definition_proxy_t &agent) |
so_5::environment_t & | so_5::send_functions_details::arg_to_env (const so_5::mchain_t &chain) |
template<typename Message , typename Target , typename... Args> | |
void | so_5::send (Target &&to, Args &&... args) |
A utility function for creating and delivering a message or a signal. More... | |
template<typename Target , typename Message > | |
std::enable_if< !is_signal< Message >::value >::type | so_5::send (Target &&to, mhood_t< Message > what) |
A version of send function for redirection of a message from exising message hood. More... | |
template<typename Target , typename Message > | |
std::enable_if< is_signal< Message >::value >::type | so_5::send (Target &&to, mhood_t< Message >) |
A version of send function for redirection of a signal from exising message hood. More... | |
template<typename Message , typename... Args> | |
void | so_5::send_to_agent (const so_5::agent_t &receiver, Args &&... args) |
A utility function for creating and delivering a message to the agent's direct mbox. More... | |
template<typename Message , typename... Args> | |
void | so_5::send_to_agent (const so_5::adhoc_agent_definition_proxy_t &receiver, Args &&... args) |
A utility function for creating and delivering a message to the ad-hoc agent's direct mbox. More... | |
template<typename Message , typename... Args> | |
void | so_5::send_delayed (so_5::environment_t &env, const so_5::mbox_t &to, std::chrono::steady_clock::duration pause, Args &&... args) |
A utility function for creating and delivering a delayed message. More... | |
template<typename Message , typename Target , typename... Args> | |
void | so_5::send_delayed (Target &&target, std::chrono::steady_clock::duration pause, Args &&... args) |
A utility function for creating and delivering a delayed message to the specified destination. More... | |
template<typename Message , typename... Args> | |
void | so_5::send_delayed (so_5::agent_t &agent, const so_5::mbox_t &to, std::chrono::steady_clock::duration pause, Args &&... args) |
A utility function for creating and delivering a delayed message. More... | |
template<typename Message > | |
std::enable_if< !message_payload_type< Message >::is_signal >::type | so_5::send_delayed (so_5::environment_t &env, const so_5::mbox_t &to, std::chrono::steady_clock::duration pause, mhood_t< Message > msg) |
A utility function for delayed redirection of a message from existing message hood. More... | |
template<typename Message > | |
std::enable_if< message_payload_type< Message >::is_signal >::type | so_5::send_delayed (so_5::environment_t &env, const so_5::mbox_t &to, std::chrono::steady_clock::duration pause, mhood_t< Message >) |
A utility function for delayed redirection of a signal from existing message hood. More... | |
template<typename Message , typename... Args> | |
void | so_5::send_delayed_to_agent (so_5::agent_t &agent, std::chrono::steady_clock::duration pause, Args &&... args) |
A utility function for creating and delivering a delayed message to the agent's direct mbox. More... | |
template<typename Target , typename Message > | |
void | so_5::send_delayed (Target &&target, std::chrono::steady_clock::duration pause, mhood_t< Message > mhood) |
A helper function for redirection of a message/signal as a delayed message/signal. More... | |
template<typename Message , typename... Args> | |
void | so_5::send_delayed_to_agent (const so_5::adhoc_agent_definition_proxy_t &agent, std::chrono::steady_clock::duration pause, Args &&... args) |
A utility function for creating and delivering a delayed message to the ad-hoc agent's direct mbox. More... | |
template<typename Message , typename... Args> | |
SO_5_NODISCARD timer_id_t | so_5::send_periodic (so_5::environment_t &env, const so_5::mbox_t &to, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period, Args &&... args) |
A utility function for creating and delivering a periodic message. More... | |
template<typename Message , typename... Args> | |
SO_5_NODISCARD timer_id_t | so_5::send_periodic (so_5::agent_t &agent, const so_5::mbox_t &to, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period, Args &&... args) |
A utility function for creating and delivering a periodic message. More... | |
template<typename Message , typename Target , typename... Args> | |
SO_5_NODISCARD timer_id_t | so_5::send_periodic (Target &&target, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period, Args &&... args) |
A utility function for creating and delivering a periodic message to the specified destination. More... | |
template<typename Message > | |
SO_5_NODISCARD std::enable_if< !is_signal< Message >::value, timer_id_t >::type | so_5::send_periodic (so_5::environment_t &env, const so_5::mbox_t &to, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period, mhood_t< Message > mhood) |
A utility function for delivering a periodic from an existing message hood. More... | |
template<typename Message > | |
SO_5_NODISCARD std::enable_if< is_signal< Message >::value, timer_id_t >::type | so_5::send_periodic (so_5::environment_t &env, const so_5::mbox_t &to, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period, mhood_t< Message >) |
A utility function for periodic redirection of a signal from existing message hood. More... | |
template<typename Target , typename Message > | |
SO_5_NODISCARD timer_id_t | so_5::send_periodic (Target &&target, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period, mhood_t< Message > mhood) |
A helper function for redirection of a message/signal as a periodic message/signal. More... | |
template<typename Message , typename... Args> | |
SO_5_NODISCARD timer_id_t | so_5::send_periodic_to_agent (so_5::agent_t &agent, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period, Args &&... args) |
A utility function for creating and delivering a periodic message to the agent's direct mbox. More... | |
template<typename Message , typename... Args> | |
SO_5_NODISCARD timer_id_t | so_5::send_periodic_to_agent (const so_5::adhoc_agent_definition_proxy_t &agent, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period, Args &&... args) |
A utility function for creating and delivering a periodic message to the agent's direct mbox. More... | |
Helper functions for simplification of synchronous interactions. | |
template<typename Result , typename Msg , typename Target , typename... Args> | |
std::future< Result > | so_5::request_future (Target &&who, Args &&... args) |
Make a synchronous request and receive result in form of a future object. Intended to use with messages. More... | |
template<typename Result , typename Msg , typename Target > | |
std::enable_if< !is_signal< Msg >::value, std::future< Result > >::type | so_5::request_future (Target &&who, mhood_t< Msg > mhood) |
A version of request_future function for initiating of a synchonous request from exising message hood. More... | |
template<typename Result , typename Msg , typename Target > | |
std::enable_if< is_signal< Msg >::value, std::future< Result > >::type | so_5::request_future (Target &&who, mhood_t< Msg >) |
A version of request_future function for initiating of a synchonous request from exising message hood. More... | |
template<typename Result , typename Signal , typename Target , typename Future_Type = typename std::enable_if< so_5::is_signal< Signal >::value, std::future< Result > >::type> | |
Future_Type | so_5::request_future (Target &&who) |
Make a synchronous request and receive result in form of a future object. Intended to use with signals. More... | |
template<typename Result , typename Msg , typename Target , typename Duration , typename... Args> | |
Result | so_5::request_value (Target &&who, Duration timeout, Args &&... args) |
Make a synchronous request and receive result in form of a value with waiting for some time. Intended to use with messages. More... | |
template<typename Result , typename Target , typename Duration , typename Msg > | |
std::enable_if< !so_5::is_signal< Msg >::value, Result >::type | so_5::request_value (Target &&who, Duration timeout, mhood_t< Msg > mhood) |
A version of request_value function for initiating of a synchonous request from exising message hood. More... | |
template<typename Result , typename Signal , typename Target , typename Duration , typename Result_Type = typename std::enable_if< so_5::is_signal< Signal >::value, Result >::type> | |
Result_Type | so_5::request_value (Target &&who, Duration timeout) |
Make a synchronous request and receive result in form of a value with waiting for some time. Intended to use with signals. More... | |
template<typename Result , typename Target , typename Duration , typename Msg > | |
std::enable_if< so_5::is_signal< Msg >::value, Result >::type | so_5::request_value (Target &&who, Duration timeout, mhood_t< Msg >) |
A version of request_value function for initiating of a synchonous request from exising message hood. More... | |
Implementation of free functions send/send_delayed.