class Memcached
{
memcached_st memc;
+ memcached_result_st result;
public:
{
memcached_clone(&memc, clone);
}
+ char *fetch (char *key, size_t *key_length, size_t *value_length)
+ {
+ uint32_t flags;
+ memcached_return rc;
+ return memcached_fetch(&memc, key, key_length,
+ value_length, &flags, &rc);
+ }
char *get(char *key, size_t *value_length)
{
uint32_t flags;
(time_t)0,
(uint32_t)0 );
}
+ memcached_return
+ increment(char *key, unsigned int offset, uint64_t *value)
+ {
+ return memcached_increment(&memc, key, strlen(key),
+ offset, value);
+ }
+ memcached_return
+ decrement(char *key, unsigned int offset, uint64_t *value)
+ {
+ return memcached_decrement(&memc, key, strlen(key),
+ offset, value);
+ }
memcached_return add(char *key, char *value, size_t value_length)
value, value_length,
(time_t)0, (uint32_t)0);
}
+ memcached_return add_by_key(char *master_key, char *key, char *value, size_t value_length)
+ {
+ return memcached_add_by_key(&memc, master_key, strlen(master_key),
+ key, strlen(key),
+ value, value_length,
+ (time_t)0, (uint32_t)0);
+ }
memcached_return replace(char *key, char *value, size_t value_length)
{
value, value_length,
(time_t)0, (uint32_t)0);
}
+ memcached_return replace_by_key(char *master_key,
+ char *key, char *value, size_t value_length)
+ {
+ return memcached_replace_by_key(&memc, master_key, strlen(master_key),
+ key, strlen(key),
+ value, value_length,
+ (time_t)0, (uint32_t)0);
+ }
memcached_return prepend(char *key, char *value, size_t value_length)
{
(time_t)0,
(uint32_t)0);
}
-
+ memcached_return prepend_by_key(char *master_key,
+ char *key, char *value, size_t value_length)
+ {
+ return memcached_prepend_by_key(&memc, master_key, strlen(master_key),
+ key, strlen(key),
+ value, value_length,
+ (time_t)0,
+ (uint32_t)0);
+ }
memcached_return append(char *key, char *value, size_t value_length)
{
(time_t)0,
(uint32_t)0);
}
+ memcached_return append_by_key(char *master_key,
+ char *key, char *value, size_t value_length)
+ {
+ return memcached_append_by_key(&memc,
+ master_key, strlen(master_key),
+ key, strlen(key),
+ value, value_length,
+ (time_t)0,
+ (uint32_t)0);
+ }
+ memcached_return cas(char *key, char *value, size_t value_length, uint64_t cas)
+ {
+ return memcached_cas(&memc, key, strlen(key),
+ value, value_length,
+ (time_t)0,
+ (uint32_t)0,
+ cas);
+ }
+ memcached_return cas_by_key(char *master_key, char *key, char *value,
+ size_t value_length, uint64_t cas)
+ {
+ return memcached_cas_by_key(&memc,
+ master_key, strlen(master_key),
+ key, strlen(key),
+ value, value_length,
+ (time_t)0,
+ (uint32_t)0,
+ cas);
+ }
+ // using 'remove' vs. 'delete' since 'delete' is a keyword
+ memcached_return remove(char *key)
+ {
+ return memcached_delete (&memc, key, strlen(key), (time_t)0);
+
+ }
+ memcached_return delete_by_key(char *master_key, char *key)
+ {
+ return memcached_delete_by_key(&memc, master_key, strlen(master_key),
+ key, strlen(key), (time_t)0);
+ }
~Memcached()
{
memcached_free(&memc);
return TEST_SUCCESS;
}
+uint8_t increment_test(memcached_st *memc)
+{
+ Memcached mcach;
+ memcached_return rc;
+ char *key= "inctest";
+ char *inc_value= "1";
+ char *ret_value;
+ uint64_t int_inc_value;
+ uint64_t int_ret_value;
+ size_t value_length;
+
+ mcach.set(key, inc_value, strlen(inc_value));
+ ret_value= mcach.get(key, &value_length);
+ printf("\nretvalue %s\n",ret_value);
+ int_inc_value= atoi(inc_value);
+ int_ret_value= atoi(ret_value);
+ assert(int_ret_value == int_inc_value);
+
+ rc= mcach.increment(key, 1, &int_ret_value);
+ assert(rc == MEMCACHED_SUCCESS);
+ assert(int_ret_value == 2);
+
+ rc= mcach.increment(key, 1, &int_ret_value);
+ assert(rc == MEMCACHED_SUCCESS);
+ assert(int_ret_value == 3);
+
+ rc= mcach.increment(key, 5, &int_ret_value);
+ assert(rc == MEMCACHED_SUCCESS);
+ assert(int_ret_value == 8);
+
+ return 0;
+}
+
test_return basic_master_key_test(memcached_st *memc)
{
Memcached foo;