Commit 18ac4661 authored by Dominik Charousset's avatar Dominik Charousset

implemented (sync) chained enqueue

parent 2ff02ff3
...@@ -116,10 +116,16 @@ class abstract_scheduled_actor : public abstract_actor<scheduled_actor> { ...@@ -116,10 +116,16 @@ class abstract_scheduled_actor : public abstract_actor<scheduled_actor> {
, m_active_timeout_id(0) { , m_active_timeout_id(0) {
} }
bool pending_enqueue(actor* sender, any_tuple msg) { bool chained_enqueue(actor* sender, any_tuple msg) {
return enqueue_node(super::fetch_node(sender, std::move(msg)), pending); return enqueue_node(super::fetch_node(sender, std::move(msg)), pending);
} }
bool chained_sync_enqueue(actor* sender,
message_id_t id,
any_tuple msg) {
return enqueue_node(super::fetch_node(sender, std::move(msg), id), pending);
}
void quit(std::uint32_t reason = exit_reason::normal) { void quit(std::uint32_t reason = exit_reason::normal) {
this->cleanup(reason); this->cleanup(reason);
throw actor_exited(reason); throw actor_exited(reason);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment