X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=lib%2Fmemcached_storage.c;h=d8b124325aafb4c08270f0cadae4f423aa85e8bc;hb=2c213592852ceb196be1b1760d17284150fc0678;hp=4c36edc6dfc8ff2b8af9222410eef0b4aba3fab3;hpb=b1d5d8be2237f04ccc99939399ebe7efad3f684e;p=m6w6%2Flibmemcached diff --git a/lib/memcached_storage.c b/lib/memcached_storage.c index 4c36edc6..d8b12432 100644 --- a/lib/memcached_storage.c +++ b/lib/memcached_storage.c @@ -20,7 +20,7 @@ typedef enum { } memcached_storage_action; /* Inline this */ -char *storage_op_string(memcached_storage_action verb) +static char *storage_op_string(memcached_storage_action verb) { switch (verb) { @@ -86,31 +86,31 @@ static inline memcached_return memcached_send(memcached_st *ptr, goto error; } - rc= memcached_do(ptr, server_key, buffer, write_length, 0); + rc= memcached_do(&ptr->hosts[server_key], buffer, write_length, 0); if (rc != MEMCACHED_SUCCESS) goto error; - if ((sent_length= memcached_io_write(ptr, server_key, value, value_length, 0)) == -1) + if ((sent_length= memcached_io_write(&ptr->hosts[server_key], value, value_length, 0)) == -1) { rc= MEMCACHED_WRITE_FAILURE; goto error; } - if ((ptr->flags & MEM_NO_BLOCK) && verb == SET_OP) + if ((ptr->flags & MEM_BUFFER_REQUESTS) && verb == SET_OP) to_write= 0; else to_write= 1; - if ((sent_length= memcached_io_write(ptr, server_key, "\r\n", 2, to_write)) == -1) + if ((sent_length= memcached_io_write(&ptr->hosts[server_key], "\r\n", 2, to_write)) == -1) { rc= MEMCACHED_WRITE_FAILURE; goto error; } if (to_write == 0) - rc= MEMCACHED_SUCCESS; - else - rc= memcached_response(ptr, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, NULL, server_key); + return MEMCACHED_BUFFERED; + + rc= memcached_response(&ptr->hosts[server_key], buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, NULL); if (rc == MEMCACHED_STORED) return MEMCACHED_SUCCESS; @@ -118,7 +118,7 @@ static inline memcached_return memcached_send(memcached_st *ptr, return rc; error: - memcached_io_reset(ptr, server_key); + memcached_io_reset(&ptr->hosts[server_key]); return rc; }