X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fdump.c;h=a0d62df0e806ffb237a8b84b8761c920eeaea7ca;hb=9df71462f1663e01d6f4317c60b2f5ae1c4fe1da;hp=4c1006e784cd6d46dfb636ac126dd1836d65758b;hpb=7c7750f02368b570353ea109f23a0ea26d226e02;p=m6w6%2Flibmemcached diff --git a/libmemcached/dump.c b/libmemcached/dump.c index 4c1006e7..a0d62df0 100644 --- a/libmemcached/dump.c +++ b/libmemcached/dump.c @@ -9,24 +9,27 @@ #include "common.h" static memcached_return_t ascii_dump(memcached_st *ptr, memcached_dump_fn *callback, void *context, uint32_t number_of_callbacks) { - memcached_return_t rc= 0; + memcached_return_t rc= MEMCACHED_SUCCESS; char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE]; size_t send_length; uint32_t server_key; uint32_t x; - unlikely (ptr->number_of_hosts == 0) + unlikely (memcached_server_count(ptr) == 0) return MEMCACHED_NO_SERVERS; - for (server_key= 0; server_key < ptr->number_of_hosts; server_key++) + for (server_key= 0; server_key < memcached_server_count(ptr); server_key++) { + memcached_server_write_instance_st instance; + instance= memcached_server_instance_fetch(ptr, server_key); + /* 256 I BELIEVE is the upper limit of slabs */ for (x= 0; x < 256; x++) { - send_length= (size_t) snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, + send_length= (size_t) snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, "stats cachedump %u 0 0\r\n", x); - rc= memcached_do(&ptr->hosts[server_key], buffer, send_length, 1); + rc= memcached_do(instance, buffer, send_length, true); unlikely (rc != MEMCACHED_SUCCESS) goto error; @@ -34,7 +37,7 @@ static memcached_return_t ascii_dump(memcached_st *ptr, memcached_dump_fn *callb while (1) { uint32_t callback_counter; - rc= memcached_response(&ptr->hosts[server_key], buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, NULL); + rc= memcached_response(instance, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, NULL); if (rc == MEMCACHED_ITEM) { @@ -88,4 +91,3 @@ memcached_return_t memcached_dump(memcached_st *ptr, memcached_dump_fn *callback return ascii_dump(ptr, callback, context, number_of_callbacks); } -