Sha256: ad878d6b540c6b9ce829b0ced5b8d0666f69c6e80d6de27f142359d951ad2076

Contents?: true

Size: 1.52 KB

Versions: 27

Compression:

Stored size: 1.52 KB

Contents

/*
  Execute a memcached_set() a set of pairs.
  Return the number of rows set.
*/

#include "libmemcached/common.h"

#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 && rc != MEMCACHED_BUFFERED)
      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 (retrieved= 0,x= 0; x < number_of; x++)
  {
    char *value;
    size_t value_length;
    uint32_t flags;
    unsigned int fetch_key;

    fetch_key= (unsigned int)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;
}

Version data entries

27 entries across 27 versions & 4 rubygems

Version Path
vinted-memcached-1.8.5 vendor/libmemcached-0.32/clients/execute.c
vinted-memcached-1.8.4 ext/libmemcached-0.32/clients/execute.c
vinted-memcached-1.8.3 ext/libmemcached-0.32/clients/execute.c
vinted-memcached-1.8.2 ext/libmemcached-0.32/clients/execute.c
vinted-memcached-1.8.0 ext/libmemcached-0.32/clients/execute.c
dalli_memcached-1.8.0 ext/libmemcached-0.32/clients/execute.c
memcached-1.8.0 ext/libmemcached-0.32/clients/execute.c
memcached-1.7.2 ext/libmemcached-0.32/clients/execute.c
memcached-1.7.0 ext/libmemcached-0.32/clients/execute.c
memcached-1.6.1 ext/libmemcached-0.32/clients/execute.c
memcached-1.6.0 ext/libmemcached-0.32/clients/execute.c
memcached-1.5.1 ext/libmemcached-0.32/clients/execute.c
memcached-1.5.0 ext/libmemcached-0.32/clients/execute.c
boourns-memcached-1.4.6 ext/libmemcached-0.32/clients/execute.c
memcached-1.4.6 ext/libmemcached-0.32/clients/execute.c
memcached-1.4.5 ext/libmemcached-0.32/clients/execute.c
memcached-1.4.3 ext/libmemcached-0.32/clients/execute.c
memcached-1.4.2 ext/libmemcached-0.32/clients/execute.c
memcached-1.4.1 ext/libmemcached-0.32/clients/execute.c
memcached-1.3.7 ext/libmemcached-0.32/clients/execute.c