X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=lib%2Fmemcached_delete.c;h=b3ae560d14253bceaac1b7719ed821b40aca0e74;hb=8a86b578acc594d37a8638e3e0afba1286c4b6ca;hp=a7298141ab5f907df46b22711f2a228ccbf5a347;hpb=2eef99ff2e885ddb235623b7434921b18ca21d1e;p=m6w6%2Flibmemcached diff --git a/lib/memcached_delete.c b/lib/memcached_delete.c index a7298141..b3ae560d 100644 --- a/lib/memcached_delete.c +++ b/lib/memcached_delete.c @@ -44,7 +44,7 @@ memcached_return memcached_delete_by_key(memcached_st *ptr, to_write= (ptr->flags & MEM_BUFFER_REQUESTS) ? 0 : 1; - rc= memcached_do(ptr, server_key, buffer, send_length, to_write); + rc= memcached_do(&ptr->hosts[server_key], buffer, send_length, to_write); if (rc != MEMCACHED_SUCCESS) goto error; @@ -54,7 +54,7 @@ memcached_return memcached_delete_by_key(memcached_st *ptr, } else { - rc= memcached_response(ptr, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, NULL, server_key); + rc= memcached_response(&ptr->hosts[server_key], buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, NULL); if (rc == MEMCACHED_DELETED) rc= MEMCACHED_SUCCESS; } @@ -63,57 +63,3 @@ error: LIBMEMCACHED_MEMCACHED_DELETE_END(); return rc; } - -memcached_return memcached_mdelete(memcached_st *ptr, - char **key, size_t *key_length, - unsigned int number_of_keys, - time_t expiration) -{ - return memcached_mdelete_by_key(ptr, NULL, 0, - key, key_length, - number_of_keys, expiration); - -} - -memcached_return memcached_mdelete_by_key(memcached_st *ptr, - char *master_key, size_t master_key_length, - char **key, size_t *key_length, - unsigned int number_of_keys, - time_t expiration) -{ - size_t send_length; - memcached_return rc= MEMCACHED_SUCCESS; - char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE]; - unsigned int master_server_key= 0; - unsigned int x; - - LIBMEMCACHED_MEMCACHED_DELETE_START(); - - if (ptr->hosts == NULL || ptr->number_of_hosts == 0) - return MEMCACHED_NO_SERVERS; - - if (master_key && master_key_length) - master_server_key= memcached_generate_hash(ptr, master_key, master_key_length); - - for (x= 0; x < number_of_keys; x++) - { - unsigned int server_key; - - if (master_key && master_key_length) - server_key= master_server_key; - else - server_key= memcached_generate_hash(ptr, key[x], key_length[x]); - - if (expiration) - send_length= snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, - "delete %.*s %llu\r\n", (int)(key_length[x]), key[x], - (unsigned long long)expiration); - else - send_length= snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, - "delete %.*s\r\n", (int)(key_length[x]), key[x]); - - (void)memcached_do(ptr, server_key, buffer, send_length, 0); - } - - return MEMCACHED_BUFFERED; -}