Commit b14bcc85 authored by Jakob Otto's avatar Jakob Otto

Minor cleanup

parent 674bb331
...@@ -79,7 +79,7 @@ public: ...@@ -79,7 +79,7 @@ public:
expected<endpoint_manager_ptr> connect(const uri& locator); expected<endpoint_manager_ptr> connect(const uri& locator);
// Publishes an actor. // Publishes an actor.
template <class Handle = actor> template <class Handle>
void publish(Handle whom, const std::string& path) { void publish(Handle whom, const std::string& path) {
system().registry().put(path, whom); system().registry().put(path, whom);
} }
...@@ -87,8 +87,11 @@ public: ...@@ -87,8 +87,11 @@ public:
/// Resolves a path to a remote actor. /// Resolves a path to a remote actor.
void resolve(const uri& locator, const actor& listener); void resolve(const uri& locator, const actor& listener);
template <class Handle = actor> template <class Handle = actor, class Rep, class Period>
expected<Handle> remote_actor(const uri& locator) { expected<Handle>
remote_actor(const uri& locator,
std::chrono::duration<Rep, Period> timeout_duration
= std::chrono::seconds(5)) {
scoped_actor self{sys_}; scoped_actor self{sys_};
resolve(locator, self); resolve(locator, self);
Handle handle; Handle handle;
...@@ -98,8 +101,7 @@ public: ...@@ -98,8 +101,7 @@ public:
handle = actor_cast<Handle>(std::move(ptr)); handle = actor_cast<Handle>(std::move(ptr));
}, },
[&err](const error& e) { err = e; }, [&err](const error& e) { err = e; },
// TODO: how long should the middleman wait before erroring out? after(timeout_duration) >>
after(std::chrono::seconds(5)) >>
[&err] { [&err] {
err = make_error(sec::runtime_error, err = make_error(sec::runtime_error,
"manager did not respond with a proxy."); "manager did not respond with a proxy.");
......
...@@ -65,9 +65,9 @@ error tcp::init() { ...@@ -65,9 +65,9 @@ error tcp::init() {
if (!doorman_uri) if (!doorman_uri)
return doorman_uri.error(); return doorman_uri.error();
auto& mpx = mm_.mpx(); auto& mpx = mm_.mpx();
auto mgr = make_endpoint_manager( auto mgr = make_endpoint_manager(mpx, mm_.system(),
mpx, mm_.system(), doorman{acc_guard.release(),
doorman{acc_guard.release(), tcp::basp_application_factory{proxies_}}); basp_application_factory{proxies_}});
if (auto err = mgr->init()) { if (auto err = mgr->init()) {
CAF_LOG_ERROR("mgr->init() failed: " << err); CAF_LOG_ERROR("mgr->init() failed: " << err);
return err; return err;
......
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