Commit f50647d0 authored by Dominik Charousset's avatar Dominik Charousset

Integrate review feedback

parent 3c34148d
...@@ -20,7 +20,6 @@ ...@@ -20,7 +20,6 @@
#include <vector> #include <vector>
#include "caf/abstract_actor.hpp"
#include "caf/actor_cast.hpp" #include "caf/actor_cast.hpp"
#include "caf/actor_clock.hpp" #include "caf/actor_clock.hpp"
#include "caf/actor_control_block.hpp" #include "caf/actor_control_block.hpp"
......
...@@ -132,7 +132,8 @@ public: ...@@ -132,7 +132,8 @@ public:
} }
private: private:
local_actor* self_ptr() const; /// Returns a downcasted version of `self_`.
local_actor* self_dptr() const;
execution_unit* context(); execution_unit* context();
......
...@@ -68,7 +68,7 @@ bool response_promise::async() const { ...@@ -68,7 +68,7 @@ bool response_promise::async() const {
return id_.is_async(); return id_.is_async();
} }
local_actor* response_promise::self_ptr() const { local_actor* response_promise::self_dptr() const {
// TODO: We require that self_ was constructed by using a local_actor*. The // TODO: We require that self_ was constructed by using a local_actor*. The
// type erasure performed by strong_actor_ptr hides that fact. We // type erasure performed by strong_actor_ptr hides that fact. We
// probably should use a different pointer type such as // probably should use a different pointer type such as
...@@ -80,7 +80,7 @@ local_actor* response_promise::self_ptr() const { ...@@ -80,7 +80,7 @@ local_actor* response_promise::self_ptr() const {
} }
execution_unit* response_promise::context() { execution_unit* response_promise::context() {
return self_ == nullptr ? nullptr : self_ptr()->context(); return self_ == nullptr ? nullptr : self_dptr()->context();
} }
void response_promise::deliver_impl(message msg) { void response_promise::deliver_impl(message msg) {
...@@ -89,18 +89,18 @@ void response_promise::deliver_impl(message msg) { ...@@ -89,18 +89,18 @@ void response_promise::deliver_impl(message msg) {
CAF_LOG_DEBUG("drop response: invalid promise"); CAF_LOG_DEBUG("drop response: invalid promise");
return; return;
} }
auto self = self_ptr(); auto dptr = self_dptr();
if (!stages_.empty()) { if (!stages_.empty()) {
auto next = std::move(stages_.back()); auto next = std::move(stages_.back());
stages_.pop_back(); stages_.pop_back();
detail::profiled_send(self, std::move(source_), next, id_, detail::profiled_send(dptr, std::move(source_), next, id_,
std::move(stages_), self->context(), std::move(msg)); std::move(stages_), dptr->context(), std::move(msg));
self_.reset(); self_.reset();
return; return;
} }
if (source_) { if (source_) {
detail::profiled_send(self, self_, source_, id_.response_id(), no_stages, detail::profiled_send(dptr, self_, source_, id_.response_id(), no_stages,
self->context(), std::move(msg)); dptr->context(), std::move(msg));
self_.reset(); self_.reset();
source_.reset(); source_.reset();
return; return;
...@@ -118,9 +118,9 @@ void response_promise::delegate_impl(abstract_actor* receiver, message msg) { ...@@ -118,9 +118,9 @@ void response_promise::delegate_impl(abstract_actor* receiver, message msg) {
CAF_LOG_DEBUG("drop response: invalid promise"); CAF_LOG_DEBUG("drop response: invalid promise");
return; return;
} }
auto self = self_ptr(); auto dptr = self_dptr();
detail::profiled_send(self, std::move(source_), receiver, id_, detail::profiled_send(dptr, std::move(source_), receiver, id_,
std::move(stages_), self->context(), std::move(msg)); std::move(stages_), dptr->context(), std::move(msg));
self_.reset(); self_.reset();
} }
......
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