我正在使用像这样的zookeeper c api,我称之为async get并设置监视:
zoo_awget(zhandle_, path.c_str(), true, watch_ctx, GetNodeDataCompletion, watch_ctx);
void GetNodeDataCompletion(int rc, const char* value, int value_len,
const struct Stat* stat, const void* data) {
}
我的问题是:如果GetNodeDataCompletion的rc是ZOPERATIONTIMEOUT或其他一些错误,那么即使zookeeper服务器可能已收到监视请求,zookeeper lib也能保证观察者不会被调用(例如,这只是客户端超时)。
感谢。