Я начал играть с кафе и использовать его для представления графика.
Поскольку этот график является однонаправленным, я могу создать актеров, которые мне нужны, и связать их соответственно, но теперь я хочу найти определенного актера, идентифицированного его именем.Как найти актера в кафе
class node_actor : public event_based_actor{
std::string m_name;
...
};
int main(){
auto entry_actor = spawn<node_actor>();
// node_actor will spawn other actors with names
// like this: node_actor will spawn node1
// node1 will spwan node2
// node2 will spwan node3 and so on
// now I want to send a message to node2
scoped_actor self;
self->send(n2, 42});
...
}
0 Что было бы лучше всего подходит для поиска? n2
?
Может ли это быть обработано группой, передающей сообщение? Например так:
{
auto g = group::get("local", "Node events");
auto entry_actor = spawn_in_group<node_actor>(g);
// change all nodes to call spawn_in_group
scoped_actor self;
self->send(g, name, 42})
}
Если так не было бы много накладных расходов, поскольку все узлы должны быть проверены, если они совпадают сообщение?
Или есть другие способы, которых я еще не нашел в документах?
Спасибо, я попробую. Еще одна вещь, поскольку я не нашел ее в документах. Могу ли я использовать параметр второй группы для разделения моих групп. Например, 'group :: get (" local "," EvenNodes ")' и 'group :: get (" local "," OddNodes ")', чтобы сделать два узловых пространства? – mkaes
Да, вторым параметром является любой пользовательский идентификатор (строка). Вы можете создать столько групп, сколько захотите. – neverlord
Как насчет 'ConfigServ' и государственных участников с членом' name'? – mavam