Commit d9bff303 authored by Dominik Charousset's avatar Dominik Charousset

Add `get_all` member function to actor namespace

parent 563e289c
......@@ -78,6 +78,11 @@ class actor_namespace {
*/
size_t count_proxies(const key_type& node);
/**
* Returns all proxies for `node`.
*/
std::vector<actor_proxy_ptr> get_all(const key_type& node);
/**
* Returns the proxy instance identified by `node` and `aid`
* or `nullptr` if the actor either unknown or expired.
......
......@@ -87,6 +87,18 @@ size_t actor_namespace::count_proxies(const key_type& node) {
return (i != m_proxies.end()) ? i->second.size() : 0;
}
std::vector<actor_proxy_ptr> actor_namespace::get_all(const key_type& node) {
std::vector<actor_proxy_ptr> result;
auto& submap = m_proxies[node];
for (auto& kvp : submap) {
auto ptr = kvp.second->get();
if (ptr) {
result.push_back(ptr);
}
}
return result;
}
actor_proxy_ptr actor_namespace::get(const key_type& node, actor_id aid) {
auto& submap = m_proxies[node];
auto i = submap.find(aid);
......
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