Imported from Launchpad using lp2gh.
#include <libmemcached/memcached.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv) {
//memcached_servers_parse (char *server_strings);
memcached_server_st *servers = NULL;
memcached_st *memc;
memcached_return rc;
char *key = "keystring";
char *value = "keyvalue";
char *retrieved_value;
size_t value_length;
uint32_t flags;
time_t timeout = -1;
memc = memcached_create(NULL);
//rc = memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, 1);
servers = memcached_server_list_append(servers, "localhost", 11211, &rc);
rc = memcached_server_push(memc, servers);
if (rc == MEMCACHED_SUCCESS)
fprintf(stderr, "Added server successfully\n");
else
fprintf(stderr, "Couldn't add server: %s\n", memcached_strerror(memc, rc));
rc = memcached_set(memc, key, strlen(key), value, strlen(value), (time_t)0, (uint32_t)0);
if (rc == MEMCACHED_SUCCESS)
fprintf(stderr, "Key stored successfully\n");
else
fprintf(stderr, "Couldn't store key: %s\n", memcached_strerror(memc, rc));
rc = memcached_touch(memc, key, strlen(key), timeout);
if (rc == MEMCACHED_SUCCESS)
fprintf(stderr, "Key touched successfully\n");
else
fprintf(stderr, "Couldn't touch key: %s\n", memcached_strerror(memc, rc));
return 0;
}
If you uncomment the memcached_behavior_set() call to force it in binary mode, it works properly.
Imported from Launchpad using lp2gh.
The following snippet gives: Couldn't touch key: MEMORY ALLOCATION FAILURE
If you uncomment the memcached_behavior_set() call to force it in binary mode, it works properly.