#include <libmemcached/common.h>
-static void auto_response(org::libmemcached::Instance* instance, const bool reply, memcached_return_t& rc, uint64_t* value)
+static void auto_response(memcached_instance_st* instance, const bool reply, memcached_return_t& rc, uint64_t* value)
{
// If the message was successfully sent, then get the response, otherwise
// fail.
rc= memcached_response(instance, &instance->root->result);
}
- if (memcached_success(rc))
+ if (memcached_fatal(rc))
{
- *value= instance->root->result.numeric_value;
+ assert(memcached_last_error(instance->root) != MEMCACHED_SUCCESS);
+ *value= UINT64_MAX;
}
else
{
- *value= UINT64_MAX;
+ *value= instance->root->result.numeric_value;
}
}
-static memcached_return_t text_incr_decr(org::libmemcached::Instance* instance,
+static memcached_return_t text_incr_decr(memcached_instance_st* instance,
const bool is_incr,
const char *key, size_t key_length,
const uint64_t offset,
return memcached_vdo(instance, vector, 7, true);
}
-static memcached_return_t binary_incr_decr(org::libmemcached::Instance* instance,
+static memcached_return_t binary_incr_decr(memcached_instance_st* instance,
protocol_binary_command cmd,
const char *key, const size_t key_length,
const uint64_t offset,
}
static memcached_return_t increment_decrement_by_key(const protocol_binary_command command,
- memcached_st *memc,
+ Memcached *memc,
const char *group_key, size_t group_key_length,
const char *key, size_t key_length,
uint64_t offset,
}
uint32_t server_key= memcached_generate_hash_with_redistribution(memc, group_key, group_key_length);
- org::libmemcached::Instance* instance= memcached_instance_fetch(memc, server_key);
+ memcached_instance_st* instance= memcached_instance_fetch(memc, server_key);
bool reply= memcached_is_replying(instance->root);
}
static memcached_return_t increment_decrement_with_initial_by_key(const protocol_binary_command command,
- memcached_st *memc,
+ Memcached *memc,
const char *group_key,
size_t group_key_length,
const char *key,
}
uint32_t server_key= memcached_generate_hash_with_redistribution(memc, group_key, group_key_length);
- org::libmemcached::Instance* instance= memcached_instance_fetch(memc, server_key);
+ memcached_instance_st* instance= memcached_instance_fetch(memc, server_key);
bool reply= memcached_is_replying(instance->root);
}
-memcached_return_t memcached_increment_by_key(memcached_st *memc,
+memcached_return_t memcached_increment_by_key(memcached_st *shell,
const char *group_key, size_t group_key_length,
const char *key, size_t key_length,
uint64_t offset,
uint64_t *value)
{
+ Memcached* memc= memcached2Memcached(shell);
LIBMEMCACHED_MEMCACHED_INCREMENT_START();
memcached_return_t rc= increment_decrement_by_key(PROTOCOL_BINARY_CMD_INCREMENT,
memc,
return rc;
}
-memcached_return_t memcached_decrement_by_key(memcached_st *memc,
+memcached_return_t memcached_decrement_by_key(memcached_st *shell,
const char *group_key, size_t group_key_length,
const char *key, size_t key_length,
uint64_t offset,
uint64_t *value)
{
+ Memcached* memc= memcached2Memcached(shell);
LIBMEMCACHED_MEMCACHED_DECREMENT_START();
memcached_return_t rc= increment_decrement_by_key(PROTOCOL_BINARY_CMD_DECREMENT,
memc,
offset, initial, expiration, value);
}
-memcached_return_t memcached_increment_with_initial_by_key(memcached_st *memc,
+memcached_return_t memcached_increment_with_initial_by_key(memcached_st *shell,
const char *group_key,
size_t group_key_length,
const char *key,
uint64_t *value)
{
LIBMEMCACHED_MEMCACHED_INCREMENT_WITH_INITIAL_START();
+ Memcached* memc= memcached2Memcached(shell);
memcached_return_t rc= increment_decrement_with_initial_by_key(PROTOCOL_BINARY_CMD_INCREMENT,
memc,
group_key, group_key_length,
offset, initial, expiration, value);
}
-memcached_return_t memcached_decrement_with_initial_by_key(memcached_st *memc,
+memcached_return_t memcached_decrement_with_initial_by_key(memcached_st *shell,
const char *group_key,
size_t group_key_length,
const char *key,
uint64_t *value)
{
LIBMEMCACHED_MEMCACHED_INCREMENT_WITH_INITIAL_START();
+ Memcached* memc= memcached2Memcached(shell);
memcached_return_t rc= increment_decrement_with_initial_by_key(PROTOCOL_BINARY_CMD_DECREMENT,
memc,
group_key, group_key_length,