X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fbin%2Fcommon%2Fexecute.cc;fp=src%2Fbin%2Fcommon%2Fexecute.cc;h=2e436af8a5ca0cbe79822712652411aaba519cb5;hb=7c2da91b9897c54f66e7fc634a675fcaeef32167;hp=f0a5e47e40e88dc86c594323f1116c25d149dd22;hpb=f48bae7d4b6a832b0d3a71812125770f09c76239;p=awesomized%2Flibmemcached diff --git a/src/bin/common/execute.cc b/src/bin/common/execute.cc index f0a5e47e..2e436af8 100644 --- a/src/bin/common/execute.cc +++ b/src/bin/common/execute.cc @@ -1,38 +1,31 @@ -/* LibMemcached - * Copyright (C) 2011-2012 Data Differential, http://datadifferential.com/ - * Copyright (C) 2006-2009 Brian Aker - * All rights reserved. - * - * Use and distribution licensed under the BSD license. See - * the COPYING file in the parent directory for full text. - * - * Summary: - * - */ - /* - Execute a memcached_set() a set of pairs. - Return the number of rows set. + +--------------------------------------------------------------------+ + | libmemcached - C/C++ Client Library for memcached | + +--------------------------------------------------------------------+ + | Redistribution and use in source and binary forms, with or without | + | modification, are permitted under the terms of the BSD license. | + | You should have received a copy of the license in a bundled file | + | named LICENSE; in case you did not receive a copy you can review | + | the terms online at: https://opensource.org/licenses/BSD-3-Clause | + +--------------------------------------------------------------------+ + | Copyright (c) 2006-2014 Brian Aker https://datadifferential.com/ | + | Copyright (c) 2020 Michael Wallner | + +--------------------------------------------------------------------+ */ #include "mem_config.h" #include "execute.h" -unsigned int execute_set(memcached_st *memc, pairs_st *pairs, unsigned int number_of) -{ - uint32_t count= 0; - for (; count < number_of; ++count) - { - memcached_return_t rc= memcached_set(memc, pairs[count].key, pairs[count].key_length, - pairs[count].value, pairs[count].value_length, - 0, 0); - if (memcached_failed(rc)) - { - fprintf(stderr, "%s:%d Failure on %u insert (%s) of %.*s\n", - __FILE__, __LINE__, count, - memcached_last_error_message(memc), - (unsigned int)pairs[count].key_length, pairs[count].key); - +unsigned int execute_set(memcached_st *memc, pairs_st *pairs, unsigned int number_of) { + uint32_t count = 0; + for (; count < number_of; ++count) { + memcached_return_t rc = memcached_set(memc, pairs[count].key, pairs[count].key_length, + pairs[count].value, pairs[count].value_length, 0, 0); + if (memcached_failed(rc)) { + fprintf(stderr, "%s:%d Failure on %u insert (%s) of %.*s\n", __FILE__, __LINE__, count, + memcached_last_error_message(memc), (unsigned int) pairs[count].key_length, + pairs[count].key); + // We will try to reconnect and see if that fixes the issue memcached_quit(memc); @@ -47,32 +40,25 @@ unsigned int execute_set(memcached_st *memc, pairs_st *pairs, unsigned int numbe Execute a memcached_get() on a set of pairs. Return the number of rows retrieved. */ -unsigned int execute_get(memcached_st *memc, pairs_st *pairs, unsigned int number_of) -{ +unsigned int execute_get(memcached_st *memc, pairs_st *pairs, unsigned int number_of) { unsigned int x; unsigned int retrieved; - - for (retrieved= 0,x= 0; x < number_of; x++) - { + for (retrieved = 0, x = 0; x < number_of; x++) { size_t value_length; uint32_t flags; - unsigned int fetch_key= (unsigned int)((unsigned int)random() % number_of); + unsigned int fetch_key = (unsigned int) ((unsigned int) random() % number_of); memcached_return_t rc; - char *value= memcached_get(memc, pairs[fetch_key].key, pairs[fetch_key].key_length, - &value_length, &flags, &rc); - - if (memcached_failed(rc)) - { - fprintf(stderr, "%s:%d Failure on read(%s) of %.*s\n", - __FILE__, __LINE__, - memcached_last_error_message(memc), - (unsigned int)pairs[fetch_key].key_length, pairs[fetch_key].key); - } - else - { + char *value = memcached_get(memc, pairs[fetch_key].key, pairs[fetch_key].key_length, + &value_length, &flags, &rc); + + if (memcached_failed(rc)) { + fprintf(stderr, "%s:%d Failure on read(%s) of %.*s\n", __FILE__, __LINE__, + memcached_last_error_message(memc), (unsigned int) pairs[fetch_key].key_length, + pairs[fetch_key].key); + } else { retrieved++; } @@ -85,14 +71,12 @@ unsigned int execute_get(memcached_st *memc, pairs_st *pairs, unsigned int numbe /** * Callback function to count the number of results */ -static memcached_return_t callback_counter(const memcached_st *ptr, - memcached_result_st *result, - void *context) -{ - (void)ptr; - (void)result; - unsigned int *counter= (unsigned int *)context; - *counter= *counter + 1; +static memcached_return_t callback_counter(const memcached_st *ptr, memcached_result_st *result, + void *context) { + (void) ptr; + (void) result; + unsigned int *counter = (unsigned int *) context; + *counter = *counter + 1; return MEMCACHED_SUCCESS; } @@ -105,34 +89,25 @@ static memcached_return_t callback_counter(const memcached_st *ptr, * @param number_of the number of keys to try to get * @return the number of keys received */ -unsigned int execute_mget(memcached_st *memc, - const char * const *keys, - size_t *key_length, - unsigned int number_of) -{ - unsigned int retrieved= 0; - memcached_execute_fn callbacks[]= { callback_counter }; +unsigned int execute_mget(memcached_st *memc, const char *const *keys, size_t *key_length, + unsigned int number_of) { + unsigned int retrieved = 0; + memcached_execute_fn callbacks[] = {callback_counter}; memcached_return_t rc; - rc= memcached_mget_execute(memc, keys, key_length, - (size_t)number_of, callbacks, &retrieved, 1); + rc = memcached_mget_execute(memc, keys, key_length, (size_t) number_of, callbacks, &retrieved, 1); - if (rc == MEMCACHED_SUCCESS || rc == MEMCACHED_NOTFOUND || - rc == MEMCACHED_BUFFERED || rc == MEMCACHED_END) + if (rc == MEMCACHED_SUCCESS || rc == MEMCACHED_NOTFOUND || rc == MEMCACHED_BUFFERED + || rc == MEMCACHED_END) { - rc= memcached_fetch_execute(memc, callbacks, (void *)&retrieved, 1); - if (rc != MEMCACHED_SUCCESS && rc != MEMCACHED_NOTFOUND && rc != MEMCACHED_END) - { - fprintf(stderr, "%s:%d Failed to execute mget: %s\n", - __FILE__, __LINE__, + rc = memcached_fetch_execute(memc, callbacks, (void *) &retrieved, 1); + if (rc != MEMCACHED_SUCCESS && rc != MEMCACHED_NOTFOUND && rc != MEMCACHED_END) { + fprintf(stderr, "%s:%d Failed to execute mget: %s\n", __FILE__, __LINE__, memcached_strerror(memc, rc)); memcached_quit(memc); return 0; } - } - else - { - fprintf(stderr, "%s:%d Failed to execute mget: %s\n", - __FILE__, __LINE__, + } else { + fprintf(stderr, "%s:%d Failed to execute mget: %s\n", __FILE__, __LINE__, memcached_strerror(memc, rc)); memcached_quit(memc); return 0;