本文整理汇总了C++中ZHTClient::compare_and_swap方法的典型用法代码示例。如果您正苦于以下问题:C++ ZHTClient::compare_and_swap方法的具体用法?C++ ZHTClient::compare_and_swap怎么用?C++ ZHTClient::compare_and_swap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ZHTClient
的用法示例。
在下文中一共展示了ZHTClient::compare_and_swap方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: c_zht_compare_and_swap_std
int c_zht_compare_and_swap_std(ZHTClient_c zhtClient, const char *key,
const char *seen_value, const char *new_value, char **value_queried) {
ZHTClient * zhtcppClient = (ZHTClient *) zhtClient;
string sKey(key);
string sSeenValue(seen_value);
string sNewValue(new_value);
Package package;
package.set_virtualpath(sKey);
package.set_isdir(true);
package.set_replicano(5);
package.set_operation(5); // 5 for comapre and swap
if (!sSeenValue.empty()) {
package.set_realfullpath(sSeenValue);
}
if (!sNewValue.empty()) {
package.set_newfullpath(sNewValue);
}
string return_str;
int rc = zhtcppClient->compare_and_swap(package.SerializeAsString(),
return_str);
Package ret_pack;
ret_pack.ParseFromString(return_str);
strcpy(*value_queried, ret_pack.realfullpath().c_str());
return rc;
}