ZooKeeper Стат структура не меняется - PullRequest
0 голосов
/ 05 июля 2018

Здравствуйте, я работаю в привязке C для ZooKeeper, и когда я вызываю функции zoo_exists () или zoo_get (), параметр stat должен обновляться в соответствии с документацией. Однако, когда я запускаю свой код:

create("/mypath", "testnode"); 
//this creates a znode /mypath with data stored being "testnode".

char* buffer= malloc(1);
int buffer_len=1;
struct Stat s;
zoo_get(zh, "/mypath", 0, buffer, &buffer_len, &s);

В документации указано:
\ param buffer_len - размер буфера, на который указывает параметр buffer. После возврата будет установлена ​​фактическая длина данных. Если данные NULL, длина равна -1.

\ param stat, если не NULL, будет содержать значение stat для пути при возврате.

Я что-то не так делаю? моя stat struct s не меняется. Также как и мой buffer_len. После получения обновленной структуры stat я хочу использовать s.datalength, чтобы получить полные данные, хранящиеся в znode, используя строку:

 char* newBuffer = malloc(s.datalength);
 buffer_len = s.datalength;
 zoo_get(zh, "/mypath",0, newBuffer, &buffer_len, NULL);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...