ZooKeeper Stat结构未更改

时间:2018-07-05 20:43:04

标签: c apache struct apache-zookeeper

您好,我正在使用ZooKeeper的C绑定,当我调用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值。

我做错什么了吗?我的统计结构不会改变。我的buffer_len也没有。获取更新的stat struct后,我想使用s.datalength通过使用以下行来获取存储在znode中的完整数据:

 char* newBuffer = malloc(s.datalength);
 buffer_len = s.datalength;
 zoo_get(zh, "/mypath",0, newBuffer, &buffer_len, NULL);

0 个答案:

没有答案