Show how to enforce durability requirements for store operations.
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <libcouchbase/api3.h>
#define fail(msg) \
fprintf(stderr, "%s\n", msg); \
exit(EXIT_FAILURE)
#define fail2(msg, err) \
fprintf(stderr, "%s\n", msg); \
fprintf(stderr, "Error was 0x%x (%s)\n", err, lcb_strerror(NULL, err)); \
exit(EXIT_FAILURE)
{
fprintf(stderr,
"Got status of operation: 0x%02x, %s\n", resp->
rc,
lcb_strerror(NULL, resp->
rc));
fprintf(stderr,
"Stored: %s\n", resp->
store_ok ?
"true" :
"false");
fprintf(stderr,
"Nodes have value persisted (including master): %d\n", resp->
dur_resp->
npersisted);
}
int main(int argc, char *argv[])
{
const char *key = "foo";
const char *value = "{\"val\":42}";
if (argc > 1) {
}
if (argc > 2) {
}
if (argc > 3) {
}
fail2("cannot create connection instance", err);
}
fail2("Couldn't schedule connection", err);
}
fail2("Couldn't get initial cluster configuration", err);
}
return EXIT_SUCCESS;
}