|
SObjectizer
5.8
|
An interface of event queue for agent. More...
#include <event_queue.hpp>
Public Member Functions | |
| event_queue_t ()=default | |
| virtual | ~event_queue_t () noexcept=default |
| virtual void | push (execution_demand_t demand)=0 |
| Enqueue new event to the queue. | |
| virtual void | push_evt_start (execution_demand_t demand)=0 |
| Enqueue a demand for evt_start event. | |
| virtual void | push_evt_finish (execution_demand_t demand) noexcept=0 |
| Enqueue a demand for evt_finish event. | |
Private Member Functions | |
| event_queue_t (const event_queue_t &)=delete | |
| event_queue_t (event_queue_t &&)=delete | |
| event_queue_t & | operator= (const event_queue_t &)=delete |
| event_queue_t & | operator= (event_queue_t &&)=delete |
|
privatedelete |
|
privatedelete |
|
default |
|
virtualdefaultnoexcept |
|
privatedelete |
|
privatedelete |
|
pure virtual |
Enqueue new event to the queue.
Since v.5.8.0 this method will be used for all demands except evt_start and evt_finish events. For these events special methods push_evt_start() and push_evt_finish() are used.
Implemented in so_5::disp::adv_thread_pool::impl::agent_queue_t, so_5::disp::nef_one_thread::impl::agent_queue_t, so_5::disp::prio_one_thread::quoted_round_robin::impl::demand_queue_t::queue_for_one_priority_t, so_5::disp::prio_one_thread::strictly_ordered::impl::demand_queue_t::queue_for_one_priority_t, so_5::disp::reuse::work_thread::demand_queue_details::queue_template_t< Impl >, so_5::disp::thread_pool::impl::basic_event_queue_t, so_5::env_infrastructures::simple_mtsafe::impl::event_queue_impl_t, so_5::env_infrastructures::simple_not_mtsafe::impl::event_queue_impl_t, and so_5::experimental::testing::v1::impl::special_event_queue_t.
|
pure virtualnoexcept |
Enqueue a demand for evt_finish event.
The last event for an agent is evt_finish event. Since v.5.8.0 a demand for the last event is pushed to agent's event_queue via this method. The ordinal push() method is used for all other demands except the evt_start and evt_finish demands.
Implemented in so_5::disp::adv_thread_pool::impl::agent_queue_t, so_5::disp::nef_one_thread::impl::agent_queue_t, so_5::disp::nef_thread_pool::impl::agent_queue_with_preallocated_finish_demand_t, so_5::disp::prio_one_thread::quoted_round_robin::impl::demand_queue_t::queue_for_one_priority_t, so_5::disp::prio_one_thread::strictly_ordered::impl::demand_queue_t::queue_for_one_priority_t, so_5::disp::reuse::work_thread::demand_queue_details::queue_template_t< Impl >, so_5::disp::thread_pool::impl::basic_event_queue_t, so_5::env_infrastructures::simple_mtsafe::impl::event_queue_impl_t, so_5::env_infrastructures::simple_not_mtsafe::impl::event_queue_impl_t, and so_5::experimental::testing::v1::impl::special_event_queue_t.
|
pure virtual |
Enqueue a demand for evt_start event.
The first event for an agent is evt_start event. Since v.5.8.0 a demand for the first event is pushed to agent's event_queue via this method. The ordinal push() method is used for all other demands except the evt_start and evt_finish demands.
Implemented in so_5::disp::adv_thread_pool::impl::agent_queue_t, so_5::disp::nef_one_thread::impl::agent_queue_t, so_5::disp::prio_one_thread::quoted_round_robin::impl::demand_queue_t::queue_for_one_priority_t, so_5::disp::prio_one_thread::strictly_ordered::impl::demand_queue_t::queue_for_one_priority_t, so_5::disp::reuse::work_thread::demand_queue_details::queue_template_t< Impl >, so_5::disp::thread_pool::impl::basic_event_queue_t, so_5::env_infrastructures::simple_mtsafe::impl::event_queue_impl_t, so_5::env_infrastructures::simple_not_mtsafe::impl::event_queue_impl_t, and so_5::experimental::testing::v1::impl::special_event_queue_t.