Персистирующие и эфемерные узлы в ZooKeeper

Я хочу знать, как создавать постоянные узлы в ZooKeeper, с помощью C++ клиент. Я знаю из документация, что есть метод zoo_acreate, И документация говорит об этом методе, что:

Этот метод создаст узел в ZooKeeper. Узел может быть создан, только если он еще не существует. Флаги создания влияют на создание узлов. Если установлен флаг ZOO_EPHEMERAL, узел автоматически удаляется, если сеанс клиента завершается. Если установлен флаг ZOO_SEQUENCE, к имени пути добавляется уникальный монотонно увеличивающийся порядковый номер.

Но, к сожалению, почти как всегда с библиотеками C ++, в этой библиотеке совершенно отсутствуют разумные крошечные примеры, демонстрирующие использование библиотечных методов. Как, например, в этом случае, когда страница документации о zoo_acreate метод, но какой-то ужасно выглядящий пример полностью о чем-то другом (он даже не упоминает zoo_acreate метод).

Итак, мой вопрос, как установить эти флаги ZOO_EPHEMERAL а также ZOO_SEQUENCE, Было бы здорово увидеть это в контексте крошечных примеров. Спасибо!

0

Решение

Поиск в 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

1

Другие решения