X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fflush.cc;h=44a1429afe8c0cbd7ace71f2cccea2f8e8863c01;hb=3c74b93b3db239f4240c907a91678ed401fa41ad;hp=9eb17c655a5a4b462943e8da920c7bd6c8647640;hpb=e978a2d4f1880157358f710e042863dd3ad6e9a3;p=awesomized%2Flibmemcached diff --git a/libmemcached/flush.cc b/libmemcached/flush.cc index 9eb17c65..44a1429a 100644 --- a/libmemcached/flush.cc +++ b/libmemcached/flush.cc @@ -44,7 +44,7 @@ static memcached_return_t memcached_flush_textual(memcached_st *ptr, memcached_return_t memcached_flush(memcached_st *ptr, time_t expiration) { memcached_return_t rc; - if (memcached_failed(rc= initialize_query(ptr))) + if (memcached_failed(rc= initialize_query(ptr, true))) { return rc; } @@ -67,7 +67,7 @@ static memcached_return_t memcached_flush_textual(memcached_st *ptr, time_t expiration) { // Invert the logic to make it simpler to read the code - bool reply= (ptr->flags.no_reply) ? false : true; + bool reply= memcached_is_replying(ptr); char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE]; int send_length= 0; @@ -82,7 +82,7 @@ static memcached_return_t memcached_flush_textual(memcached_st *ptr, memcached_literal_param("snprintf(MEMCACHED_DEFAULT_COMMAND_SIZE)")); } - struct libmemcached_io_vector_st vector[]= + libmemcached_io_vector_st vector[]= { { memcached_literal_param("flush_all ") }, { buffer, send_length }, @@ -134,17 +134,22 @@ static memcached_return_t memcached_flush_binary(memcached_st *ptr, { memcached_server_write_instance_st instance= memcached_server_instance_fetch(ptr, x); - if (ptr->flags.no_reply) + if (memcached_is_replying(ptr)) { - request.message.header.request.opcode= PROTOCOL_BINARY_CMD_FLUSHQ; + request.message.header.request.opcode= PROTOCOL_BINARY_CMD_FLUSH; } else { - request.message.header.request.opcode= PROTOCOL_BINARY_CMD_FLUSH; + request.message.header.request.opcode= PROTOCOL_BINARY_CMD_FLUSHQ; } + libmemcached_io_vector_st vector[]= + { + { request.bytes, sizeof(request.bytes) } + }; + memcached_return_t rrc; - if ((rrc= memcached_do(instance, request.bytes, sizeof(request.bytes), true))) + if ((rrc= memcached_vdo(instance, vector, 1, true))) { memcached_set_error(*instance, rrc, MEMCACHED_AT); memcached_io_reset(instance);