From: Brian Aker Date: Mon, 1 Oct 2007 13:26:35 +0000 (-0700) Subject: Addinng missing files (getting old quickly...) X-Git-Tag: 0.3~1 X-Git-Url: https://git.m6w6.name/?a=commitdiff_plain;h=ced4280adf00334731d3e17057c6a893ea04be09;p=m6w6%2Flibmemcached Addinng missing files (getting old quickly...) --- diff --git a/src/execute.c b/src/execute.c new file mode 100644 index 00000000..11588ad9 --- /dev/null +++ b/src/execute.c @@ -0,0 +1,62 @@ +/* + Execute a memcached_set() a set of pairs. + Return the number of rows set. +*/ + +#include "execute.h" + +unsigned int execute_set(memcached_st *memc, pairs_st *pairs, unsigned int number_of) +{ + memcached_return rc; + unsigned int x; + unsigned int pairs_sent; + + for (x= 0, pairs_sent= 0; x < number_of; x++) + { + rc= memcached_set(memc, pairs[x].key, pairs[x].key_length, + pairs[x].value, pairs[x].value_length, + 0, 0); + if (rc != MEMCACHED_SUCCESS) + fprintf(stderr, "Failured on insert of %.*s\n", + (unsigned int)pairs[x].key_length, pairs[x].key); + else + pairs_sent++; + } + + return pairs_sent; +} + +/* + 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) +{ + memcached_return rc; + unsigned int x; + unsigned int retrieved; + + + for (x= 0; x < number_of; x++) + { + char *value; + size_t value_length; + uint16_t flags; + unsigned int fetch_key; + + fetch_key= random() % number_of; + + value= memcached_get(memc, pairs[fetch_key].key, pairs[fetch_key].key_length, + &value_length, &flags, &rc); + + if (rc != MEMCACHED_SUCCESS) + fprintf(stderr, "Failured on read of %.*s\n", + (unsigned int)pairs[fetch_key].key_length, pairs[fetch_key].key); + else + retrieved++; + + free(value); + } + + return retrieved; +} diff --git a/src/execute.h b/src/execute.h new file mode 100644 index 00000000..fc041312 --- /dev/null +++ b/src/execute.h @@ -0,0 +1,5 @@ +#include +#include "generator.h" + +unsigned int execute_set(memcached_st *memc, pairs_st *pairs, unsigned int number_of); +unsigned int execute_get(memcached_st *memc, pairs_st *pairs, unsigned int number_of);