return PROTOCOL_BINARY_CMD_SET;
}
-static memcached_return_t memcached_send_binary(memcached_st *ptr,
- memcached_server_write_instance_st server,
+static memcached_return_t memcached_send_binary(Memcached *ptr,
+ memcached_instance_st* server,
uint32_t server_key,
const char *key,
const size_t key_length,
protocol_binary_request_set request= {};
size_t send_length= sizeof(request.bytes);
- request.message.header.request.magic= PROTOCOL_BINARY_REQ;
+ initialize_binary_request(server, request.message.header);
+
request.message.header.request.opcode= get_com_code(verb, reply);
request.message.header.request.keylen= htons((uint16_t)(key_length + memcached_array_size(ptr->_namespace)));
request.message.header.request.datatype= PROTOCOL_BINARY_RAW_BYTES;
}
#endif
- return MEMCACHED_WRITE_FAILURE;
+ assert(memcached_last_error(server->root) != MEMCACHED_SUCCESS);
+ return memcached_last_error(server->root);
}
if (verb == SET_OP and ptr->number_of_replicas > 0)
server_key= 0;
}
- memcached_server_write_instance_st instance= memcached_server_instance_fetch(ptr, server_key);
+ memcached_instance_st* instance= memcached_instance_fetch(ptr, server_key);
if (memcached_vdo(instance, vector, 5, false) != MEMCACHED_SUCCESS)
{
return memcached_response(server, NULL, 0, NULL);
}
-static memcached_return_t memcached_send_ascii(memcached_st *ptr,
- memcached_server_write_instance_st instance,
+static memcached_return_t memcached_send_ascii(Memcached *ptr,
+ memcached_instance_st* instance,
const char *key,
const size_t key_length,
const char *value,
return rc;
}
-static inline memcached_return_t memcached_send(memcached_st *ptr,
+static inline memcached_return_t memcached_send(memcached_st *shell,
const char *group_key, size_t group_key_length,
const char *key, size_t key_length,
const char *value, size_t value_length,
const uint64_t cas,
memcached_storage_action_t verb)
{
+ Memcached* ptr= memcached2Memcached(shell);
memcached_return_t rc;
if (memcached_failed(rc= initialize_query(ptr, true)))
{
}
uint32_t server_key= memcached_generate_hash_with_redistribution(ptr, group_key, group_key_length);
- memcached_server_write_instance_st instance= memcached_server_instance_fetch(ptr, server_key);
+ memcached_instance_st* instance= memcached_instance_fetch(ptr, server_key);
WATCHPOINT_SET(instance->io_wait_count.read= 0);
WATCHPOINT_SET(instance->io_wait_count.write= 0);
-
bool flush= true;
if (memcached_is_buffering(instance->root) and verb == SET_OP)
{