Я хочу знать, как создавать постоянные узлы в ZooKeeper
, с помощью C++
клиент. Я знаю из документация, что есть метод zoo_acreate
, И документация говорит об этом методе, что:
Этот метод создаст узел в ZooKeeper. Узел может быть создан, только если он еще не существует. Флаги создания влияют на создание узлов. Если установлен флаг ZOO_EPHEMERAL, узел автоматически удаляется, если сеанс клиента завершается. Если установлен флаг ZOO_SEQUENCE, к имени пути добавляется уникальный монотонно увеличивающийся порядковый номер.
Но, к сожалению, почти как всегда с библиотеками C ++, в этой библиотеке совершенно отсутствуют разумные крошечные примеры, демонстрирующие использование библиотечных методов. Как, например, в этом случае, когда страница документации о zoo_acreate
метод, но какой-то ужасно выглядящий пример полностью о чем-то другом (он даже не упоминает zoo_acreate
метод).
Итак, мой вопрос, как установить эти флаги ZOO_EPHEMERAL
а также ZOO_SEQUENCE
, Было бы здорово увидеть это в контексте крошечных примеров. Спасибо!
Поиск в Google для «zoo_acreate ZOO_EPHEMERAL» дал седьмой результат:
string path = "/nodes/";
string value = "data";
int rc = zoo_acreate(zh, path.c_str(), value.c_str(), value.length(),
&ZOO_OPEN_ACL_UNSAFE, ZOO_EPHEMERAL | ZOO_SEQUENCE, &czoo_created, &where);
Источник: https://issues.apache.org/jira/browse/ZOOKEEPER-348