[-]
[+]
|
Changed |
libmemcached.changes
|
|
[-]
[+]
|
Changed |
libmemcached.spec
^
|
|
[-]
[+]
|
Deleted |
libmemcached-0.52.tar.bz2/m4/pandora_check_cxx_standard.m4
^
|
@@ -1,23 +0,0 @@
-dnl Copyright (C) 2009 Sun Microsystems, Inc.
-dnl This file is free software; Sun Microsystems, Inc.
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([PANDORA_CHECK_CXX_STANDARD],[
- dnl AC_REQUIRE([AC_CXX_COMPILE_STDCXX_0X])
- AS_IF([test "$GCC" = "yes"],
- [AS_IF([test "$ac_cv_cxx_compile_cxx0x_native" = "yes"],[],
- [AS_IF([test "$ac_cv_cxx_compile_cxx0x_gxx" = "yes"],
- [CXX_STANDARD="-std=gnu++0x"],
- [CXX_STANDARD="-std=gnu++98"])
- ])
- ])
- AM_CXXFLAGS="${CXX_STANDARD} ${AM_CXXFLAGS}"
-
- save_CXXFLAGS="${CXXFLAGS}"
- CXXFLAGS="${CXXFLAGS} ${CXX_STANDARD}"
- AC_CXX_HEADER_STDCXX_98
- CXXFLAGS="${save_CXXFLAGS}"
-
- AC_SUBST([CXX_STANDARD])
-])
|
[-]
[+]
|
Deleted |
libmemcached-0.52.tar.bz2/m4/pandora_compile_stdcxx_0x.m4
^
|
@@ -1,103 +0,0 @@
-# ===========================================================================
-# http://autoconf-archive.cryp.to/ac_cxx_compile_stdcxx_0x.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AC_CXX_COMPILE_STDCXX_0X
-#
-# DESCRIPTION
-#
-# Check for baseline language coverage in the compiler for the C++0x
-# standard.
-#
-# LICENSE
-#
-# Copyright (C) 2008 Benjamin Kosnik <bkoz@redhat.com>
-#
-# Copying and distribution of this file, with or without modification, are
-# permitted in any medium without royalty provided the copyright notice
-# and this notice are preserved.
-
-AC_DEFUN([AC_CXX_COMPILE_STDCXX_0X], [
- AC_CACHE_CHECK(if g++ supports C++0x features without additional flags,
- ac_cv_cxx_compile_cxx0x_native,
- [AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([
- template <typename T>
- struct check
- {
- static_assert(sizeof(int) <= sizeof(T), "not big enough");
- };
-
- typedef check<check<bool>> right_angle_brackets;
-
- int a;
- decltype(a) b;
-
- typedef check<int> check_type;
- check_type c;
- check_type&& cr = c;],,
- ac_cv_cxx_compile_cxx0x_native=yes, ac_cv_cxx_compile_cxx0x_native=no)
- AC_LANG_RESTORE
- ])
-
- AC_CACHE_CHECK(if g++ supports C++0x features with -std=c++0x,
- ac_cv_cxx_compile_cxx0x_cxx,
- [AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS -std=c++0x"
- AC_TRY_COMPILE([
- template <typename T>
- struct check
- {
- static_assert(sizeof(int) <= sizeof(T), "not big enough");
- };
-
- typedef check<check<bool>> right_angle_brackets;
-
- int a;
- decltype(a) b;
-
- typedef check<int> check_type;
- check_type c;
- check_type&& cr = c;],,
- ac_cv_cxx_compile_cxx0x_cxx=yes, ac_cv_cxx_compile_cxx0x_cxx=no)
- CXXFLAGS="$ac_save_CXXFLAGS"
- AC_LANG_RESTORE
- ])
-
- AC_CACHE_CHECK(if g++ supports C++0x features with -std=gnu++0x,
- ac_cv_cxx_compile_cxx0x_gxx,
- [AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS -std=gnu++0x"
- AC_TRY_COMPILE([
- template <typename T>
- struct check
- {
- static_assert(sizeof(int) <= sizeof(T), "not big enough");
- };
-
- typedef check<check<bool>> right_angle_brackets;
-
- int a;
- decltype(a) b;
-
- typedef check<int> check_type;
- check_type c;
- check_type&& cr = c;],,
- ac_cv_cxx_compile_cxx0x_gxx=yes, ac_cv_cxx_compile_cxx0x_gxx=no)
- CXXFLAGS="$ac_save_CXXFLAGS"
- AC_LANG_RESTORE
- ])
-
- if test "$ac_cv_cxx_compile_cxx0x_native" = yes ||
- test "$ac_cv_cxx_compile_cxx0x_cxx" = yes ||
- test "$ac_cv_cxx_compile_cxx0x_gxx" = yes; then
- AC_DEFINE(HAVE_STDCXX_0X,,[Define if g++ supports C++0x features. ])
- fi
-])
|
[-]
[+]
|
Deleted |
libmemcached-0.52.tar.bz2/m4/pandora_have_libgtest.m4
^
|
@@ -1,47 +0,0 @@
-dnl Copyright (C) 2010 Monty Taylor
-dnl This file is free software; Monty Taylor
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([_PANDORA_SEARCH_LIBGTEST],[
- AC_REQUIRE([AC_LIB_PREFIX])
-
- dnl --------------------------------------------------------------------
- dnl Check for libgtest
- dnl --------------------------------------------------------------------
-
- AC_ARG_ENABLE([libgtest],
- [AS_HELP_STRING([--disable-libgtest],
- [Build with libgtest support @<:@default=on@:>@])],
- [ac_enable_libgtest="$enableval"],
- [ac_enable_libgtest="yes"])
-
- AS_IF([test "x$ac_enable_libgtest" = "xyes"],[
- AC_LANG_PUSH(C++)
- save_CXXFLAGS="${CXXFLAGS}"
- CXXFLAGS="${AM_CXXFLAGS} ${CXXFLAGS}"
- AC_LIB_HAVE_LINKFLAGS(gtest,,[
- #include <gtest/gtest.h>
-TEST(pandora_test_libgtest, PandoraTest)
-{
- ASSERT_EQ(1, 1);
-}
- ],[])
- CXXFLAGS="${save_CXXFLAGS}"
- AC_LANG_POP()
- ],[
- ac_cv_libgtest="no"
- ])
-
- AM_CONDITIONAL(HAVE_LIBGTEST, [test "x${ac_cv_libgtest}" = "xyes"])
-])
-
-AC_DEFUN([PANDORA_HAVE_LIBGTEST],[
- AC_REQUIRE([_PANDORA_SEARCH_LIBGTEST])
-])
-
-AC_DEFUN([PANDORA_REQUIRE_LIBGTEST],[
- AC_REQUIRE([_PANDORA_SEARCH_LIBGTEST])
- AS_IF([test "x${ac_cv_libgtest}" = "xno"],
- AC_MSG_ERROR([libgtest is required for ${PACKAGE}]))
-])
|
[-]
[+]
|
Deleted |
libmemcached-0.52.tar.bz2/m4/pandora_header_stdcxx_98.m4
^
|
@@ -1,83 +0,0 @@
-# ===========================================================================
-# http://autoconf-archive.cryp.to/ac_cxx_header_stdcxx_98.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AC_CXX_HEADER_STDCXX_98
-#
-# DESCRIPTION
-#
-# Check for complete library coverage of the C++1998/2003 standard.
-#
-# LICENSE
-#
-# Copyright (C) 2008 Benjamin Kosnik <bkoz@redhat.com>
-#
-# Copying and distribution of this file, with or without modification, are
-# permitted in any medium without royalty provided the copyright notice
-# and this notice are preserved.
-
-AC_DEFUN([AC_CXX_HEADER_STDCXX_98], [
- AC_CACHE_CHECK(for ISO C++ 98 include files,
- ac_cv_cxx_stdcxx_98,
- [AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([
- #include <cassert>
- #include <cctype>
- #include <cerrno>
- #include <cfloat>
- #include <ciso646>
- #include <climits>
- #include <clocale>
- #include <cmath>
- #include <csetjmp>
- #include <csignal>
- #include <cstdarg>
- #include <cstddef>
- #include <cstdio>
- #include <cstdlib>
- #include <cstring>
- #include <ctime>
-
- #include <algorithm>
- #include <bitset>
- #include <complex>
- #include <deque>
- #include <exception>
- #include <fstream>
- #include <functional>
- #include <iomanip>
- #include <ios>
- #include <iosfwd>
- #include <iostream>
- #include <istream>
- #include <iterator>
- #include <limits>
- #include <list>
- #include <locale>
- #include <map>
- #include <memory>
- #include <new>
- #include <numeric>
- #include <ostream>
- #include <queue>
- #include <set>
- #include <sstream>
- #include <stack>
- #include <stdexcept>
- #include <streambuf>
- #include <string>
- #include <typeinfo>
- #include <utility>
- #include <valarray>
- #include <vector>
- ],,
- ac_cv_cxx_stdcxx_98=yes, ac_cv_cxx_stdcxx_98=no)
- AC_LANG_RESTORE
- ])
- if test "$ac_cv_cxx_stdcxx_98" = yes; then
- AC_DEFINE(STDCXX_98_HEADERS,,[Define if ISO C++ 1998 header files are present. ])
- fi
-])
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/ChangeLog
^
|
@@ -1,3 +1,9 @@
+0.53 Mon Sep 26 20:50:33 PDT 2011
+ * Fix for FreeBSD/OpenBSD and -lm
+ * Added memcached_exist()
+ * Fix for memory when using config test.
+ * CLI gained --quiet
+
0.52 Sun Sep 11 22:16:08 PDT 2011
* Build fixes for Ubuntu/Suse.
* Fixes for OSX Lion.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/Makefile.in
^
|
@@ -138,10 +138,11 @@
TESTS = $(check_PROGRAMS)
bin_PROGRAMS = clients/memcapable$(EXEEXT) clients/memcat$(EXEEXT) \
clients/memcp$(EXEEXT) clients/memdump$(EXEEXT) \
- clients/memerror$(EXEEXT) clients/memflush$(EXEEXT) \
- clients/memparse$(EXEEXT) clients/memping$(EXEEXT) \
- clients/memrm$(EXEEXT) clients/memslap$(EXEEXT) \
- clients/memstat$(EXEEXT) $(am__EXEEXT_1)
+ clients/memerror$(EXEEXT) clients/memexist$(EXEEXT) \
+ clients/memflush$(EXEEXT) clients/memparse$(EXEEXT) \
+ clients/memping$(EXEEXT) clients/memrm$(EXEEXT) \
+ clients/memslap$(EXEEXT) clients/memstat$(EXEEXT) \
+ $(am__EXEEXT_1)
noinst_PROGRAMS = $(am__EXEEXT_2) libtest/unittest$(EXEEXT) \
libtest/skiptest$(EXEEXT) libtest/wait$(EXEEXT) \
tests/cycle$(EXEEXT) tests/internals$(EXEEXT) \
@@ -149,7 +150,11 @@
tests/testplus$(EXEEXT) tests/failure$(EXEEXT) \
tests/atomsmasher$(EXEEXT) tests/testudp$(EXEEXT) \
tests/testhashkit$(EXEEXT) tests/hash_plus$(EXEEXT) \
- tests/memcapable$(EXEEXT) tests/memslap$(EXEEXT) \
+ tests/memcapable$(EXEEXT) tests/memstat$(EXEEXT) \
+ tests/memcp$(EXEEXT) tests/memflush$(EXEEXT) \
+ tests/memrm$(EXEEXT) tests/memexist$(EXEEXT) \
+ tests/memcat$(EXEEXT) tests/memerror$(EXEEXT) \
+ tests/memslap$(EXEEXT) tests/memdump$(EXEEXT) \
tests/c_test$(EXEEXT) tests/c_sasl_test$(EXEEXT)
check_PROGRAMS = libtest/unittest$(EXEEXT) libtest/skiptest$(EXEEXT) \
tests/cycle$(EXEEXT) tests/internals$(EXEEXT) \
@@ -157,7 +162,11 @@
tests/testplus$(EXEEXT) tests/failure$(EXEEXT) \
tests/testudp$(EXEEXT) tests/testhashkit$(EXEEXT) \
tests/hash_plus$(EXEEXT) tests/memcapable$(EXEEXT) \
- tests/memslap$(EXEEXT) tests/c_test$(EXEEXT) \
+ tests/memstat$(EXEEXT) tests/memcp$(EXEEXT) \
+ tests/memflush$(EXEEXT) tests/memrm$(EXEEXT) \
+ tests/memexist$(EXEEXT) tests/memcat$(EXEEXT) \
+ tests/memerror$(EXEEXT) tests/memslap$(EXEEXT) \
+ tests/memdump$(EXEEXT) tests/c_test$(EXEEXT) \
tests/c_sasl_test$(EXEEXT)
DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \
$(nobase_include_HEADERS) $(noinst_HEADERS) \
@@ -190,8 +199,8 @@
@HAVE_LIBEVENT_TRUE@am__append_3 = example/memcached_light
@HAVE_LIBINNODB_TRUE@am__append_4 = example/storage_innodb.c
@HAVE_LIBINNODB_FALSE@am__append_5 = example/storage.c
-@INCLUDE_HSIEH_SRC_TRUE@am__append_6 = libhashkit/hsieh.cc
-@INCLUDE_MURMUR_SRC_TRUE@am__append_7 = libhashkit/murmur.cc
+@TARGET_LINUX_TRUE@am__append_6 = -lm
+@TARGET_LINUX_TRUE@am__append_7 = -lm
@HAVE_SASL_TRUE@am__append_8 = ${PTHREAD_CFLAGS}
@HAVE_SASL_TRUE@am__append_9 = ${PTHREAD_LIBS}
@HAVE_DTRACE_TRUE@am__append_10 = libmemcached/dtrace_probes.h
@@ -250,19 +259,20 @@
@BUILD_WIN32_WRAPPERS_TRUE@am__append_42 = -no-undefined
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_header_stdcxx_98.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/ax_with_prog.m4 $(top_srcdir)/m4/bottom.m4 \
$(top_srcdir)/m4/byteorder.m4 $(top_srcdir)/m4/deprecated.m4 \
$(top_srcdir)/m4/eagain.m4 $(top_srcdir)/m4/enable_utillib.m4 \
- $(top_srcdir)/m4/hsieh.m4 $(top_srcdir)/m4/lib-ld.m4 \
- $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/memaslap.m4 \
- $(top_srcdir)/m4/murmur.m4 $(top_srcdir)/m4/pandora_64bit.m4 \
+ $(top_srcdir)/m4/fnv.m4 $(top_srcdir)/m4/hsieh.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/memaslap.m4 $(top_srcdir)/m4/murmur.m4 \
+ $(top_srcdir)/m4/pandora_64bit.m4 \
$(top_srcdir)/m4/pandora_canonical.m4 \
$(top_srcdir)/m4/pandora_check_compiler_version.m4 \
- $(top_srcdir)/m4/pandora_check_cxx_standard.m4 \
$(top_srcdir)/m4/pandora_cinttypes.m4 \
$(top_srcdir)/m4/pandora_clock_gettime.m4 \
$(top_srcdir)/m4/pandora_cstdint.m4 \
@@ -274,7 +284,6 @@
$(top_srcdir)/m4/pandora_have_libinnodb.m4 \
$(top_srcdir)/m4/pandora_have_sasl.m4 \
$(top_srcdir)/m4/pandora_header_assert.m4 \
- $(top_srcdir)/m4/pandora_header_stdcxx_98.m4 \
$(top_srcdir)/m4/pandora_optimize.m4 \
$(top_srcdir)/m4/pandora_platform.m4 \
$(top_srcdir)/m4/pandora_use_pipe.m4 \
@@ -333,17 +342,8 @@
AM_V_lt = $(am__v_lt_$(V))
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
am__v_lt_0 = --silent
-libhashkit_libhashkit_la_LIBADD =
-am__libhashkit_libhashkit_la_SOURCES_DIST = libhashkit/algorithm.cc \
- libhashkit/behavior.cc libhashkit/crc32.cc \
- libhashkit/digest.cc libhashkit/fnv_32.cc libhashkit/fnv_64.cc \
- libhashkit/function.cc libhashkit/hashkit.cc \
- libhashkit/jenkins.cc libhashkit/ketama.cc libhashkit/md5.cc \
- libhashkit/one_at_a_time.cc libhashkit/str_algorithm.cc \
- libhashkit/strerror.cc libhashkit/hsieh.cc \
- libhashkit/murmur.cc
-@INCLUDE_HSIEH_SRC_TRUE@am__objects_1 = libhashkit/libhashkit_libhashkit_la-hsieh.lo
-@INCLUDE_MURMUR_SRC_TRUE@am__objects_2 = libhashkit/libhashkit_libhashkit_la-murmur.lo
+am__DEPENDENCIES_1 =
+libhashkit_libhashkit_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am_libhashkit_libhashkit_la_OBJECTS = \
libhashkit/libhashkit_libhashkit_la-algorithm.lo \
libhashkit/libhashkit_libhashkit_la-behavior.lo \
@@ -352,14 +352,16 @@
libhashkit/libhashkit_libhashkit_la-fnv_32.lo \
libhashkit/libhashkit_libhashkit_la-fnv_64.lo \
libhashkit/libhashkit_libhashkit_la-function.lo \
+ libhashkit/libhashkit_libhashkit_la-has.lo \
libhashkit/libhashkit_libhashkit_la-hashkit.lo \
+ libhashkit/libhashkit_libhashkit_la-hsieh.lo \
libhashkit/libhashkit_libhashkit_la-jenkins.lo \
libhashkit/libhashkit_libhashkit_la-ketama.lo \
libhashkit/libhashkit_libhashkit_la-md5.lo \
+ libhashkit/libhashkit_libhashkit_la-murmur.lo \
libhashkit/libhashkit_libhashkit_la-one_at_a_time.lo \
libhashkit/libhashkit_libhashkit_la-str_algorithm.lo \
- libhashkit/libhashkit_libhashkit_la-strerror.lo \
- $(am__objects_1) $(am__objects_2)
+ libhashkit/libhashkit_libhashkit_la-strerror.lo
libhashkit_libhashkit_la_OBJECTS = \
$(am_libhashkit_libhashkit_la_OBJECTS)
libhashkit_libhashkit_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
@@ -367,51 +369,40 @@
$(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) \
$(libhashkit_libhashkit_la_LDFLAGS) $(LDFLAGS) -o $@
libhashkit_libhashkitinc_la_LIBADD =
-am__libhashkit_libhashkitinc_la_SOURCES_DIST = \
- libhashkit/algorithm.cc libhashkit/behavior.cc \
- libhashkit/crc32.cc libhashkit/digest.cc libhashkit/fnv_32.cc \
- libhashkit/fnv_64.cc libhashkit/function.cc \
- libhashkit/hashkit.cc libhashkit/jenkins.cc \
- libhashkit/ketama.cc libhashkit/md5.cc \
- libhashkit/one_at_a_time.cc libhashkit/str_algorithm.cc \
- libhashkit/strerror.cc libhashkit/hsieh.cc \
- libhashkit/murmur.cc
-@INCLUDE_HSIEH_SRC_TRUE@am__objects_3 = libhashkit/hsieh.lo
-@INCLUDE_MURMUR_SRC_TRUE@am__objects_4 = libhashkit/murmur.lo
-am__objects_5 = libhashkit/algorithm.lo libhashkit/behavior.lo \
+am__objects_1 = libhashkit/algorithm.lo libhashkit/behavior.lo \
libhashkit/crc32.lo libhashkit/digest.lo libhashkit/fnv_32.lo \
- libhashkit/fnv_64.lo libhashkit/function.lo \
- libhashkit/hashkit.lo libhashkit/jenkins.lo \
- libhashkit/ketama.lo libhashkit/md5.lo \
- libhashkit/one_at_a_time.lo libhashkit/str_algorithm.lo \
- libhashkit/strerror.lo $(am__objects_3) $(am__objects_4)
-am_libhashkit_libhashkitinc_la_OBJECTS = $(am__objects_5)
+ libhashkit/fnv_64.lo libhashkit/function.lo libhashkit/has.lo \
+ libhashkit/hashkit.lo libhashkit/hsieh.lo \
+ libhashkit/jenkins.lo libhashkit/ketama.lo libhashkit/md5.lo \
+ libhashkit/murmur.lo libhashkit/one_at_a_time.lo \
+ libhashkit/str_algorithm.lo libhashkit/strerror.lo
+am_libhashkit_libhashkitinc_la_OBJECTS = $(am__objects_1)
libhashkit_libhashkitinc_la_OBJECTS = \
$(am_libhashkit_libhashkitinc_la_OBJECTS)
libhashkit_libhashkitinc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) \
$(libhashkit_libhashkitinc_la_LDFLAGS) $(LDFLAGS) -o $@
-am__DEPENDENCIES_1 =
@HAVE_SASL_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
am__libmemcached_libmemcached_la_SOURCES_DIST = \
libmemcached/csl/context.cc libmemcached/csl/parser.cc \
libmemcached/csl/scanner.cc libhashkit/algorithm.cc \
libhashkit/behavior.cc libhashkit/crc32.cc \
libhashkit/digest.cc libhashkit/fnv_32.cc libhashkit/fnv_64.cc \
- libhashkit/function.cc libhashkit/hashkit.cc \
- libhashkit/jenkins.cc libhashkit/ketama.cc libhashkit/md5.cc \
+ libhashkit/function.cc libhashkit/has.cc libhashkit/hashkit.cc \
+ libhashkit/hsieh.cc libhashkit/jenkins.cc libhashkit/ketama.cc \
+ libhashkit/md5.cc libhashkit/murmur.cc \
libhashkit/one_at_a_time.cc libhashkit/str_algorithm.cc \
- libhashkit/strerror.cc libhashkit/hsieh.cc \
- libhashkit/murmur.cc libmemcached/allocators.cc \
+ libhashkit/strerror.cc libmemcached/allocators.cc \
libmemcached/analyze.cc libmemcached/array.c \
libmemcached/auto.cc libmemcached/backtrace.cc \
libmemcached/behavior.cc libmemcached/byteorder.cc \
libmemcached/callback.cc libmemcached/connect.cc \
libmemcached/delete.cc libmemcached/do.cc libmemcached/dump.cc \
- libmemcached/error.cc libmemcached/fetch.cc \
- libmemcached/flush.cc libmemcached/flush_buffers.cc \
- libmemcached/get.cc libmemcached/hash.cc libmemcached/hosts.cc \
+ libmemcached/error.cc libmemcached/exist.cc \
+ libmemcached/fetch.cc libmemcached/flush.cc \
+ libmemcached/flush_buffers.cc libmemcached/get.cc \
+ libmemcached/hash.cc libmemcached/hosts.cc \
libmemcached/initialize_query.cc libmemcached/io.cc \
libmemcached/key.cc libmemcached/memcached.cc \
libmemcached/options.cc libmemcached/parse.cc \
@@ -424,31 +415,31 @@
libmemcached/version.cc libmemcached/virtual_bucket.c \
libmemcached/sasl.cc libmemcached/libmemcached_probes.d \
poll/poll.c
-@INCLUDE_HSIEH_SRC_TRUE@am__objects_6 = libhashkit/libmemcached_libmemcached_la-hsieh.lo
-@INCLUDE_MURMUR_SRC_TRUE@am__objects_7 = libhashkit/libmemcached_libmemcached_la-murmur.lo
-am__objects_8 = libhashkit/libmemcached_libmemcached_la-algorithm.lo \
+am__objects_2 = libhashkit/libmemcached_libmemcached_la-algorithm.lo \
libhashkit/libmemcached_libmemcached_la-behavior.lo \
libhashkit/libmemcached_libmemcached_la-crc32.lo \
libhashkit/libmemcached_libmemcached_la-digest.lo \
libhashkit/libmemcached_libmemcached_la-fnv_32.lo \
libhashkit/libmemcached_libmemcached_la-fnv_64.lo \
libhashkit/libmemcached_libmemcached_la-function.lo \
+ libhashkit/libmemcached_libmemcached_la-has.lo \
libhashkit/libmemcached_libmemcached_la-hashkit.lo \
+ libhashkit/libmemcached_libmemcached_la-hsieh.lo \
libhashkit/libmemcached_libmemcached_la-jenkins.lo \
libhashkit/libmemcached_libmemcached_la-ketama.lo \
libhashkit/libmemcached_libmemcached_la-md5.lo \
+ libhashkit/libmemcached_libmemcached_la-murmur.lo \
libhashkit/libmemcached_libmemcached_la-one_at_a_time.lo \
libhashkit/libmemcached_libmemcached_la-str_algorithm.lo \
- libhashkit/libmemcached_libmemcached_la-strerror.lo \
- $(am__objects_6) $(am__objects_7)
-am__objects_9 =
-@BUILD_POLL_TRUE@am__objects_10 = \
+ libhashkit/libmemcached_libmemcached_la-strerror.lo
+am__objects_3 =
+@BUILD_POLL_TRUE@am__objects_4 = \
@BUILD_POLL_TRUE@ poll/libmemcached_libmemcached_la-poll.lo
am_libmemcached_libmemcached_la_OBJECTS = \
libmemcached/csl/libmemcached_libmemcached_la-context.lo \
libmemcached/csl/libmemcached_libmemcached_la-parser.lo \
libmemcached/csl/libmemcached_libmemcached_la-scanner.lo \
- $(am__objects_8) \
+ $(am__objects_2) \
libmemcached/libmemcached_libmemcached_la-allocators.lo \
libmemcached/libmemcached_libmemcached_la-analyze.lo \
libmemcached/libmemcached_libmemcached_la-array.lo \
@@ -462,6 +453,7 @@
libmemcached/libmemcached_libmemcached_la-do.lo \
libmemcached/libmemcached_libmemcached_la-dump.lo \
libmemcached/libmemcached_libmemcached_la-error.lo \
+ libmemcached/libmemcached_libmemcached_la-exist.lo \
libmemcached/libmemcached_libmemcached_la-fetch.lo \
libmemcached/libmemcached_libmemcached_la-flush.lo \
libmemcached/libmemcached_libmemcached_la-flush_buffers.lo \
@@ -489,7 +481,7 @@
libmemcached/libmemcached_libmemcached_la-version.lo \
libmemcached/libmemcached_libmemcached_la-virtual_bucket.lo \
libmemcached/libmemcached_libmemcached_la-sasl.lo \
- $(am__objects_9) $(am__objects_10)
+ $(am__objects_3) $(am__objects_4)
libmemcached_libmemcached_la_OBJECTS = \
$(am_libmemcached_libmemcached_la_OBJECTS)
libmemcached_libmemcached_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
@@ -532,19 +524,20 @@
libmemcached/csl/scanner.cc libhashkit/algorithm.cc \
libhashkit/behavior.cc libhashkit/crc32.cc \
libhashkit/digest.cc libhashkit/fnv_32.cc libhashkit/fnv_64.cc \
- libhashkit/function.cc libhashkit/hashkit.cc \
- libhashkit/jenkins.cc libhashkit/ketama.cc libhashkit/md5.cc \
+ libhashkit/function.cc libhashkit/has.cc libhashkit/hashkit.cc \
+ libhashkit/hsieh.cc libhashkit/jenkins.cc libhashkit/ketama.cc \
+ libhashkit/md5.cc libhashkit/murmur.cc \
libhashkit/one_at_a_time.cc libhashkit/str_algorithm.cc \
- libhashkit/strerror.cc libhashkit/hsieh.cc \
- libhashkit/murmur.cc libmemcached/allocators.cc \
+ libhashkit/strerror.cc libmemcached/allocators.cc \
libmemcached/analyze.cc libmemcached/array.c \
libmemcached/auto.cc libmemcached/backtrace.cc \
libmemcached/behavior.cc libmemcached/byteorder.cc \
libmemcached/callback.cc libmemcached/connect.cc \
libmemcached/delete.cc libmemcached/do.cc libmemcached/dump.cc \
- libmemcached/error.cc libmemcached/fetch.cc \
- libmemcached/flush.cc libmemcached/flush_buffers.cc \
- libmemcached/get.cc libmemcached/hash.cc libmemcached/hosts.cc \
+ libmemcached/error.cc libmemcached/exist.cc \
+ libmemcached/fetch.cc libmemcached/flush.cc \
+ libmemcached/flush_buffers.cc libmemcached/get.cc \
+ libmemcached/hash.cc libmemcached/hosts.cc \
libmemcached/initialize_query.cc libmemcached/io.cc \
libmemcached/key.cc libmemcached/memcached.cc \
libmemcached/options.cc libmemcached/parse.cc \
@@ -557,28 +550,28 @@
libmemcached/version.cc libmemcached/virtual_bucket.c \
libmemcached/sasl.cc libmemcached/libmemcached_probes.d \
poll/poll.c
-@INCLUDE_HSIEH_SRC_TRUE@am__objects_11 = libhashkit/libmemcachedinternal_libmemcachedinternal_la-hsieh.lo
-@INCLUDE_MURMUR_SRC_TRUE@am__objects_12 = libhashkit/libmemcachedinternal_libmemcachedinternal_la-murmur.lo
-am__objects_13 = libhashkit/libmemcachedinternal_libmemcachedinternal_la-algorithm.lo \
+am__objects_5 = libhashkit/libmemcachedinternal_libmemcachedinternal_la-algorithm.lo \
libhashkit/libmemcachedinternal_libmemcachedinternal_la-behavior.lo \
libhashkit/libmemcachedinternal_libmemcachedinternal_la-crc32.lo \
libhashkit/libmemcachedinternal_libmemcachedinternal_la-digest.lo \
libhashkit/libmemcachedinternal_libmemcachedinternal_la-fnv_32.lo \
libhashkit/libmemcachedinternal_libmemcachedinternal_la-fnv_64.lo \
libhashkit/libmemcachedinternal_libmemcachedinternal_la-function.lo \
+ libhashkit/libmemcachedinternal_libmemcachedinternal_la-has.lo \
libhashkit/libmemcachedinternal_libmemcachedinternal_la-hashkit.lo \
+ libhashkit/libmemcachedinternal_libmemcachedinternal_la-hsieh.lo \
libhashkit/libmemcachedinternal_libmemcachedinternal_la-jenkins.lo \
libhashkit/libmemcachedinternal_libmemcachedinternal_la-ketama.lo \
libhashkit/libmemcachedinternal_libmemcachedinternal_la-md5.lo \
+ libhashkit/libmemcachedinternal_libmemcachedinternal_la-murmur.lo \
libhashkit/libmemcachedinternal_libmemcachedinternal_la-one_at_a_time.lo \
libhashkit/libmemcachedinternal_libmemcachedinternal_la-str_algorithm.lo \
- libhashkit/libmemcachedinternal_libmemcachedinternal_la-strerror.lo \
- $(am__objects_11) $(am__objects_12)
-@BUILD_POLL_TRUE@am__objects_14 = poll/libmemcachedinternal_libmemcachedinternal_la-poll.lo
-am__objects_15 = libmemcached/csl/libmemcachedinternal_libmemcachedinternal_la-context.lo \
+ libhashkit/libmemcachedinternal_libmemcachedinternal_la-strerror.lo
+@BUILD_POLL_TRUE@am__objects_6 = poll/libmemcachedinternal_libmemcachedinternal_la-poll.lo
+am__objects_7 = libmemcached/csl/libmemcachedinternal_libmemcachedinternal_la-context.lo \
libmemcached/csl/libmemcachedinternal_libmemcachedinternal_la-parser.lo \
libmemcached/csl/libmemcachedinternal_libmemcachedinternal_la-scanner.lo \
- $(am__objects_13) \
+ $(am__objects_5) \
libmemcached/libmemcachedinternal_libmemcachedinternal_la-allocators.lo \
libmemcached/libmemcachedinternal_libmemcachedinternal_la-analyze.lo \
libmemcached/libmemcachedinternal_libmemcachedinternal_la-array.lo \
@@ -592,6 +585,7 @@
libmemcached/libmemcachedinternal_libmemcachedinternal_la-do.lo \
libmemcached/libmemcachedinternal_libmemcachedinternal_la-dump.lo \
libmemcached/libmemcachedinternal_libmemcachedinternal_la-error.lo \
+ libmemcached/libmemcachedinternal_libmemcachedinternal_la-exist.lo \
libmemcached/libmemcachedinternal_libmemcachedinternal_la-fetch.lo \
libmemcached/libmemcachedinternal_libmemcachedinternal_la-flush.lo \
libmemcached/libmemcachedinternal_libmemcachedinternal_la-flush_buffers.lo \
@@ -619,9 +613,9 @@
libmemcached/libmemcachedinternal_libmemcachedinternal_la-version.lo \
libmemcached/libmemcachedinternal_libmemcachedinternal_la-virtual_bucket.lo \
libmemcached/libmemcachedinternal_libmemcachedinternal_la-sasl.lo \
- $(am__objects_9) $(am__objects_14)
+ $(am__objects_3) $(am__objects_6)
am_libmemcachedinternal_libmemcachedinternal_la_OBJECTS = \
- $(am__objects_15)
+ $(am__objects_7)
libmemcachedinternal_libmemcachedinternal_la_OBJECTS = \
$(am_libmemcachedinternal_libmemcachedinternal_la_OBJECTS)
libmemcachedinternal_libmemcachedinternal_la_LINK = $(LIBTOOL) \
@@ -631,14 +625,14 @@
$(CXXFLAGS) \
$(libmemcachedinternal_libmemcachedinternal_la_LDFLAGS) \
$(LDFLAGS) -o $@
-am__objects_16 = libmemcached/libmemcachedinternal_libmemcachedutilinternal_la-backtrace.lo \
+am__objects_8 = libmemcached/libmemcachedinternal_libmemcachedutilinternal_la-backtrace.lo \
libmemcached/util/libmemcachedinternal_libmemcachedutilinternal_la-flush.lo \
libmemcached/util/libmemcachedinternal_libmemcachedutilinternal_la-pid.lo \
libmemcached/util/libmemcachedinternal_libmemcachedutilinternal_la-ping.lo \
libmemcached/util/libmemcachedinternal_libmemcachedutilinternal_la-pool.lo \
libmemcached/util/libmemcachedinternal_libmemcachedutilinternal_la-version.lo
am_libmemcachedinternal_libmemcachedutilinternal_la_OBJECTS = \
- $(am__objects_16)
+ $(am__objects_8)
libmemcachedinternal_libmemcachedutilinternal_la_OBJECTS = $(am_libmemcachedinternal_libmemcachedutilinternal_la_OBJECTS)
libmemcachedinternal_libmemcachedutilinternal_la_LINK = $(LIBTOOL) \
$(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -653,13 +647,13 @@
libtest/socket.cc libtest/strerror.cc libtest/test.cc \
libtest/memcached.cc libtest/blobslap_worker.cc \
libtest/gearmand.cc util/instance.cc util/operation.cc
-@BUILDING_LIBMEMCACHED_TRUE@am__objects_17 = libtest/libtest_libtest_la-memcached.lo
-@BUILDING_LIBMEMCACHED_FALSE@@HAVE_LIBMEMCACHED_TRUE@am__objects_18 = libtest/libtest_libtest_la-memcached.lo
-@BUILDING_GEARMAN_TRUE@am__objects_19 = libtest/libtest_libtest_la-blobslap_worker.lo \
+@BUILDING_LIBMEMCACHED_TRUE@am__objects_9 = libtest/libtest_libtest_la-memcached.lo
+@BUILDING_LIBMEMCACHED_FALSE@@HAVE_LIBMEMCACHED_TRUE@am__objects_10 = libtest/libtest_libtest_la-memcached.lo
+@BUILDING_GEARMAN_TRUE@am__objects_11 = libtest/libtest_libtest_la-blobslap_worker.lo \
@BUILDING_GEARMAN_TRUE@ libtest/libtest_libtest_la-gearmand.lo \
@BUILDING_GEARMAN_TRUE@ util/libtest_libtest_la-instance.lo \
@BUILDING_GEARMAN_TRUE@ util/libtest_libtest_la-operation.lo
-@BUILDING_GEARMAN_FALSE@@HAVE_LIBGEARMAN_TRUE@am__objects_20 = libtest/libtest_libtest_la-blobslap_worker.lo \
+@BUILDING_GEARMAN_FALSE@@HAVE_LIBGEARMAN_TRUE@am__objects_12 = libtest/libtest_libtest_la-blobslap_worker.lo \
@BUILDING_GEARMAN_FALSE@@HAVE_LIBGEARMAN_TRUE@ libtest/libtest_libtest_la-gearmand.lo \
@BUILDING_GEARMAN_FALSE@@HAVE_LIBGEARMAN_TRUE@ util/libtest_libtest_la-instance.lo \
@BUILDING_GEARMAN_FALSE@@HAVE_LIBGEARMAN_TRUE@ util/libtest_libtest_la-operation.lo
@@ -678,8 +672,8 @@
libtest/libtest_libtest_la-signal.lo \
libtest/libtest_libtest_la-socket.lo \
libtest/libtest_libtest_la-strerror.lo \
- libtest/libtest_libtest_la-test.lo $(am__objects_17) \
- $(am__objects_18) $(am__objects_19) $(am__objects_20)
+ libtest/libtest_libtest_la-test.lo $(am__objects_9) \
+ $(am__objects_10) $(am__objects_11) $(am__objects_12)
libtest_libtest_la_OBJECTS = $(am_libtest_libtest_la_OBJECTS)
libtest_libtest_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
@@ -714,6 +708,9 @@
am_clients_memerror_OBJECTS = clients/memerror.$(OBJEXT)
clients_memerror_OBJECTS = $(am_clients_memerror_OBJECTS)
clients_memerror_DEPENDENCIES = $(am__DEPENDENCIES_4)
+am_clients_memexist_OBJECTS = clients/memexist.$(OBJEXT)
+clients_memexist_OBJECTS = $(am_clients_memexist_OBJECTS)
+clients_memexist_DEPENDENCIES = $(am__DEPENDENCIES_4)
am_clients_memflush_OBJECTS = clients/memflush.$(OBJEXT)
clients_memflush_OBJECTS = $(am_clients_memflush_OBJECTS)
clients_memflush_DEPENDENCIES = $(am__DEPENDENCIES_4)
@@ -745,13 +742,13 @@
example/interface_v0.c example/interface_v1.c \
example/memcached_light.c example/storage_innodb.c \
example/storage.c
-@HAVE_LIBINNODB_TRUE@am__objects_21 = \
+@HAVE_LIBINNODB_TRUE@am__objects_13 = \
@HAVE_LIBINNODB_TRUE@ example/storage_innodb.$(OBJEXT)
-@HAVE_LIBINNODB_FALSE@am__objects_22 = example/storage.$(OBJEXT)
+@HAVE_LIBINNODB_FALSE@am__objects_14 = example/storage.$(OBJEXT)
am_example_memcached_light_OBJECTS = example/byteorder.$(OBJEXT) \
example/interface_v0.$(OBJEXT) example/interface_v1.$(OBJEXT) \
- example/memcached_light.$(OBJEXT) $(am__objects_21) \
- $(am__objects_22)
+ example/memcached_light.$(OBJEXT) $(am__objects_13) \
+ $(am__objects_14)
example_memcached_light_OBJECTS = \
$(am_example_memcached_light_OBJECTS)
example_memcached_light_DEPENDENCIES = \
@@ -811,12 +808,57 @@
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(tests_memcapable_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
+am_tests_memcat_OBJECTS = tests/tests_memcat-memcat.$(OBJEXT)
+tests_memcat_OBJECTS = $(am_tests_memcat_OBJECTS)
+tests_memcat_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(tests_memcat_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_tests_memcp_OBJECTS = tests/tests_memcp-memcp.$(OBJEXT)
+tests_memcp_OBJECTS = $(am_tests_memcp_OBJECTS)
+tests_memcp_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(tests_memcp_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_tests_memdump_OBJECTS = tests/tests_memdump-memdump.$(OBJEXT)
+tests_memdump_OBJECTS = $(am_tests_memdump_OBJECTS)
+tests_memdump_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(tests_memdump_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+ -o $@
+am_tests_memerror_OBJECTS = tests/tests_memerror-memerror.$(OBJEXT)
+tests_memerror_OBJECTS = $(am_tests_memerror_OBJECTS)
+tests_memerror_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(tests_memerror_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am_tests_memexist_OBJECTS = tests/tests_memexist-memexist.$(OBJEXT)
+tests_memexist_OBJECTS = $(am_tests_memexist_OBJECTS)
+tests_memexist_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(tests_memexist_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am_tests_memflush_OBJECTS = tests/tests_memflush-memflush.$(OBJEXT)
+tests_memflush_OBJECTS = $(am_tests_memflush_OBJECTS)
+tests_memflush_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(tests_memflush_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am_tests_memrm_OBJECTS = tests/tests_memrm-memrm.$(OBJEXT)
+tests_memrm_OBJECTS = $(am_tests_memrm_OBJECTS)
+tests_memrm_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(tests_memrm_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
am_tests_memslap_OBJECTS = tests/tests_memslap-memslap.$(OBJEXT)
tests_memslap_OBJECTS = $(am_tests_memslap_OBJECTS)
tests_memslap_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(tests_memslap_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
+am_tests_memstat_OBJECTS = tests/tests_memstat-memstat.$(OBJEXT)
+tests_memstat_OBJECTS = $(am_tests_memstat_OBJECTS)
+tests_memstat_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(tests_memstat_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+ -o $@
am_tests_sasl_OBJECTS = tests/tests_sasl-basic.$(OBJEXT) \
tests/tests_sasl-debug.$(OBJEXT) \
tests/tests_sasl-deprecated.$(OBJEXT) \
@@ -839,6 +881,7 @@
tests/tests_testapp-debug.$(OBJEXT) \
tests/tests_testapp-deprecated.$(OBJEXT) \
tests/tests_testapp-error_conditions.$(OBJEXT) \
+ tests/tests_testapp-exist.$(OBJEXT) \
tests/tests_testapp-ketama.$(OBJEXT) \
tests/tests_testapp-mem_functions.$(OBJEXT) \
tests/tests_testapp-namespace.$(OBJEXT) \
@@ -918,22 +961,26 @@
$(libtest_libtest_la_SOURCES) $(clients_memaslap_SOURCES) \
$(clients_memcapable_SOURCES) $(clients_memcat_SOURCES) \
$(clients_memcp_SOURCES) $(clients_memdump_SOURCES) \
- $(clients_memerror_SOURCES) $(clients_memflush_SOURCES) \
- $(clients_memparse_SOURCES) $(clients_memping_SOURCES) \
- $(clients_memrm_SOURCES) $(clients_memslap_SOURCES) \
- $(clients_memstat_SOURCES) $(example_memcached_light_SOURCES) \
- $(libtest_skiptest_SOURCES) $(libtest_unittest_SOURCES) \
- $(libtest_wait_SOURCES) $(tests_atomsmasher_SOURCES) \
- $(tests_c_sasl_test_SOURCES) $(tests_c_test_SOURCES) \
- $(tests_cycle_SOURCES) $(tests_failure_SOURCES) \
- $(tests_hash_plus_SOURCES) $(tests_internals_SOURCES) \
- $(tests_memcapable_SOURCES) $(tests_memslap_SOURCES) \
- $(tests_sasl_SOURCES) $(tests_testapp_SOURCES) \
- $(tests_testhashkit_SOURCES) $(tests_testplus_SOURCES) \
- $(tests_testudp_SOURCES)
+ $(clients_memerror_SOURCES) $(clients_memexist_SOURCES) \
+ $(clients_memflush_SOURCES) $(clients_memparse_SOURCES) \
+ $(clients_memping_SOURCES) $(clients_memrm_SOURCES) \
+ $(clients_memslap_SOURCES) $(clients_memstat_SOURCES) \
+ $(example_memcached_light_SOURCES) $(libtest_skiptest_SOURCES) \
+ $(libtest_unittest_SOURCES) $(libtest_wait_SOURCES) \
+ $(tests_atomsmasher_SOURCES) $(tests_c_sasl_test_SOURCES) \
+ $(tests_c_test_SOURCES) $(tests_cycle_SOURCES) \
+ $(tests_failure_SOURCES) $(tests_hash_plus_SOURCES) \
+ $(tests_internals_SOURCES) $(tests_memcapable_SOURCES) \
+ $(tests_memcat_SOURCES) $(tests_memcp_SOURCES) \
+ $(tests_memdump_SOURCES) $(tests_memerror_SOURCES) \
+ $(tests_memexist_SOURCES) $(tests_memflush_SOURCES) \
+ $(tests_memrm_SOURCES) $(tests_memslap_SOURCES) \
+ $(tests_memstat_SOURCES) $(tests_sasl_SOURCES) \
+ $(tests_testapp_SOURCES) $(tests_testhashkit_SOURCES) \
+ $(tests_testplus_SOURCES) $(tests_testudp_SOURCES)
DIST_SOURCES = $(clients_libutilities_la_SOURCES) \
- $(am__libhashkit_libhashkit_la_SOURCES_DIST) \
- $(am__libhashkit_libhashkitinc_la_SOURCES_DIST) \
+ $(libhashkit_libhashkit_la_SOURCES) \
+ $(libhashkit_libhashkitinc_la_SOURCES) \
$(am__libmemcached_libmemcached_la_SOURCES_DIST) \
$(libmemcached_libmemcachedprotocol_la_SOURCES) \
$(libmemcached_libmemcachedutil_la_SOURCES) \
@@ -943,16 +990,21 @@
$(clients_memaslap_SOURCES) $(clients_memcapable_SOURCES) \
$(clients_memcat_SOURCES) $(clients_memcp_SOURCES) \
$(clients_memdump_SOURCES) $(clients_memerror_SOURCES) \
- $(clients_memflush_SOURCES) $(clients_memparse_SOURCES) \
- $(clients_memping_SOURCES) $(clients_memrm_SOURCES) \
- $(clients_memslap_SOURCES) $(clients_memstat_SOURCES) \
+ $(clients_memexist_SOURCES) $(clients_memflush_SOURCES) \
+ $(clients_memparse_SOURCES) $(clients_memping_SOURCES) \
+ $(clients_memrm_SOURCES) $(clients_memslap_SOURCES) \
+ $(clients_memstat_SOURCES) \
$(am__example_memcached_light_SOURCES_DIST) \
$(libtest_skiptest_SOURCES) $(libtest_unittest_SOURCES) \
$(libtest_wait_SOURCES) $(tests_atomsmasher_SOURCES) \
$(tests_c_sasl_test_SOURCES) $(tests_c_test_SOURCES) \
$(tests_cycle_SOURCES) $(tests_failure_SOURCES) \
$(tests_hash_plus_SOURCES) $(tests_internals_SOURCES) \
- $(tests_memcapable_SOURCES) $(tests_memslap_SOURCES) \
+ $(tests_memcapable_SOURCES) $(tests_memcat_SOURCES) \
+ $(tests_memcp_SOURCES) $(tests_memdump_SOURCES) \
+ $(tests_memerror_SOURCES) $(tests_memexist_SOURCES) \
+ $(tests_memflush_SOURCES) $(tests_memrm_SOURCES) \
+ $(tests_memslap_SOURCES) $(tests_memstat_SOURCES) \
$(tests_sasl_SOURCES) $(tests_testapp_SOURCES) \
$(tests_testhashkit_SOURCES) $(tests_testplus_SOURCES) \
$(tests_testudp_SOURCES)
@@ -1004,7 +1056,6 @@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
-CXX_STANDARD = @CXX_STANDARD@
CXX_VERSION = @CXX_VERSION@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
@@ -1050,7 +1101,6 @@
LIBEVENT_PREFIX = @LIBEVENT_PREFIX@
LIBINNODB = @LIBINNODB@
LIBINNODB_PREFIX = @LIBINNODB_PREFIX@
-LIBM = @LIBM@
LIBMEMCACHED_WITH_SASL_SUPPORT = @LIBMEMCACHED_WITH_SASL_SUPPORT@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
@@ -1184,10 +1234,9 @@
# includes append to these:
SUFFIXES = .d
-.PHONY = helgrind cachegrind callgrind
+.PHONY =
CLEANFILES = $(am__append_11) tmp_chroot/var/log/* \
- tmp_chroot/var/run/* tmp_chroot/var/tmp/* tests/cachegrind.out \
- tests/callgrind.out
+ tmp_chroot/var/run/* tmp_chroot/var/tmp/*
DISTCLEANFILES = libmemcached/csl/parser.output config/top.h
# vim:ft=automake
@@ -1230,14 +1279,15 @@
libtest/strerror.h libtest/string.hpp libtest/test.h \
libtest/test.hpp libtest/visibility.h libtest/wait.h \
poll/poll.h tests/basic.h tests/debug.h \
- tests/error_conditions.h tests/hash_results.h tests/ketama.h \
- tests/ketama_test_cases.h tests/ketama_test_cases_spy.h \
- tests/libmemcached_world.h tests/namespace.h tests/parser.h \
- tests/deprecated.h tests/pool.h tests/print.h \
- tests/replication.h tests/server_add.h tests/string.h \
- tests/virtual_buckets.h util/daemon.hpp util/instance.hpp \
- util/logfile.hpp util/operation.hpp util/signal.hpp \
- util/string.hpp util/pidfile.hpp win32/wrappers.h
+ tests/error_conditions.h tests/exist.h tests/hash_results.h \
+ tests/ketama.h tests/ketama_test_cases.h \
+ tests/ketama_test_cases_spy.h tests/libmemcached_world.h \
+ tests/namespace.h tests/parser.h tests/deprecated.h \
+ tests/pool.h tests/print.h tests/replication.h \
+ tests/server_add.h tests/string.h tests/virtual_buckets.h \
+ util/daemon.hpp util/instance.hpp util/logfile.hpp \
+ util/operation.hpp util/signal.hpp util/string.hpp \
+ util/pidfile.hpp win32/wrappers.h
lib_LTLIBRARIES = libhashkit/libhashkit.la \
libmemcached/libmemcached.la libmemcached/libmemcachedutil.la \
libmemcached/libmemcachedprotocol.la
@@ -1262,6 +1312,7 @@
docs/man/memcached_create.3 docs/man/memcached_decrement.3 \
docs/man/memcached_decrement_with_initial.3 \
docs/man/memcached_delete.3 docs/man/memcached_delete_by_key.3 \
+ docs/man/memcached_exist.3 docs/man/memcached_exist_by_key.3 \
docs/man/memcached_destroy_sasl_auth_data.3 \
docs/man/memcached_dump.3 docs/man/memcached_fetch.3 \
docs/man/memcached_fetch_execute.3 \
@@ -1281,12 +1332,15 @@
docs/man/memcached_mget_by_key.3 \
docs/man/memcached_mget_execute.3 \
docs/man/memcached_mget_execute_by_key.3 \
+ docs/man/memcached_pool.3 \
docs/man/memcached_pool_behavior_get.3 \
docs/man/memcached_pool_behavior_set.3 \
docs/man/memcached_pool_create.3 \
docs/man/memcached_pool_destroy.3 \
- docs/man/memcached_pool_pop.3 docs/man/memcached_pool_push.3 \
- docs/man/memcached_pool_st.3 docs/man/memcached_prepend.3 \
+ docs/man/memcached_pool_fetch.3 docs/man/memcached_pool_pop.3 \
+ docs/man/memcached_pool_push.3 \
+ docs/man/memcached_pool_release.3 docs/man/memcached_pool_st.3 \
+ docs/man/memcached_prepend.3 \
docs/man/memcached_prepend_by_key.3 docs/man/memcached_quit.3 \
docs/man/memcached_replace.3 \
docs/man/memcached_replace_by_key.3 \
@@ -1332,7 +1386,7 @@
include_HEADERS =
nobase_include_HEADERS = libhashkit/algorithm.h libhashkit/behavior.h \
libhashkit/configure.h libhashkit/digest.h \
- libhashkit/function.h libhashkit/hashkit.h \
+ libhashkit/function.h libhashkit/has.h libhashkit/hashkit.h \
libhashkit/hashkit.hpp libhashkit/strerror.h \
libhashkit/str_algorithm.h libhashkit/types.h \
libhashkit/visibility.h libmemcached/allocators.h \
@@ -1341,10 +1395,11 @@
libmemcached/behavior.h libmemcached/callback.h \
libmemcached/configure.h libmemcached/constants.h \
libmemcached/delete.h libmemcached/dump.h libmemcached/error.h \
- libmemcached/exception.hpp libmemcached/fetch.h \
- libmemcached/flush.h libmemcached/flush_buffers.h \
- libmemcached/get.h libmemcached/hash.h \
- libmemcached/memcached.h libmemcached/memcached.hpp \
+ libmemcached/exist.h libmemcached/exception.hpp \
+ libmemcached/fetch.h libmemcached/flush.h \
+ libmemcached/flush_buffers.h libmemcached/get.h \
+ libmemcached/hash.h libmemcached/memcached.h \
+ libmemcached/memcached.hpp \
libmemcached/memcached/protocol_binary.h \
libmemcached/memcached/vbucket.h libmemcached/options.h \
libmemcached/parse.h libmemcached/namespace.h \
@@ -1388,6 +1443,8 @@
clients_memstat_LDADD = $(CLIENTS_LDADDS)
clients_memrm_SOURCES = clients/memrm.cc
clients_memrm_LDADD = $(CLIENTS_LDADDS)
+clients_memexist_SOURCES = clients/memexist.cc
+clients_memexist_LDADD = $(CLIENTS_LDADDS)
clients_memflush_SOURCES = clients/memflush.cc
clients_memflush_LDADD = $(CLIENTS_LDADDS)
clients_memping_SOURCES = clients/memping.cc
@@ -1422,17 +1479,30 @@
example_memcached_light_LDADD = libmemcached/libmemcachedprotocol.la \
$(LIBINNODB) $(LTLIBEVENT)
-libhashkit_libhashkit_la_SOURCES = libhashkit/algorithm.cc \
- libhashkit/behavior.cc libhashkit/crc32.cc \
- libhashkit/digest.cc libhashkit/fnv_32.cc libhashkit/fnv_64.cc \
- libhashkit/function.cc libhashkit/hashkit.cc \
- libhashkit/jenkins.cc libhashkit/ketama.cc libhashkit/md5.cc \
- libhashkit/one_at_a_time.cc libhashkit/str_algorithm.cc \
- libhashkit/strerror.cc $(am__append_6) $(am__append_7)
+libhashkit_libhashkit_la_SOURCES = \
+ libhashkit/algorithm.cc \
+ libhashkit/behavior.cc \
+ libhashkit/crc32.cc \
+ libhashkit/digest.cc \
+ libhashkit/fnv_32.cc \
+ libhashkit/fnv_64.cc \
+ libhashkit/function.cc \
+ libhashkit/has.cc \
+ libhashkit/hashkit.cc \
+ libhashkit/hsieh.cc \
+ libhashkit/jenkins.cc \
+ libhashkit/ketama.cc \
+ libhashkit/md5.cc \
+ libhashkit/murmur.cc \
+ libhashkit/one_at_a_time.cc \
+ libhashkit/str_algorithm.cc \
+ libhashkit/strerror.cc
+
libhashkit_libhashkit_la_CPPFLAGS = -DBUILDING_HASHKIT
libhashkit_libhashkit_la_CFLAGS = -DBUILDING_HASHKIT
libhashkit_libhashkit_la_CXXFLAGS = -DBUILDING_HASHKIT
-libhashkit_libhashkit_la_LDFLAGS = $(LIBM) -version-info \
+libhashkit_libhashkit_la_LIBADD = $(am__append_6)
+libhashkit_libhashkit_la_LDFLAGS = -version-info \
$(HASHKIT_LIBRARY_VERSION) $(am__append_42)
libhashkit_libhashkitinc_la_SOURCES = ${libhashkit_libhashkit_la_SOURCES}
libhashkit_libhashkitinc_la_CFLAGS = ${libhashkit_libhashkit_la_CFLAGS}
@@ -1445,9 +1515,10 @@
libmemcached/behavior.cc libmemcached/byteorder.cc \
libmemcached/callback.cc libmemcached/connect.cc \
libmemcached/delete.cc libmemcached/do.cc libmemcached/dump.cc \
- libmemcached/error.cc libmemcached/fetch.cc \
- libmemcached/flush.cc libmemcached/flush_buffers.cc \
- libmemcached/get.cc libmemcached/hash.cc libmemcached/hosts.cc \
+ libmemcached/error.cc libmemcached/exist.cc \
+ libmemcached/fetch.cc libmemcached/flush.cc \
+ libmemcached/flush_buffers.cc libmemcached/get.cc \
+ libmemcached/hash.cc libmemcached/hosts.cc \
libmemcached/initialize_query.cc libmemcached/io.cc \
libmemcached/key.cc libmemcached/memcached.cc \
libmemcached/options.cc libmemcached/parse.cc \
@@ -1463,7 +1534,7 @@
libmemcached_libmemcached_la_CXXFLAGS = -DBUILDING_LIBMEMCACHED \
$(am__append_8)
libmemcached_libmemcached_la_DEPENDENCIES = $(am__append_12)
-libmemcached_libmemcached_la_LIBADD = $(LIBM) $(LTLIBSASL) \
+libmemcached_libmemcached_la_LIBADD = $(am__append_7) $(LTLIBSASL) \
$(LTLIBSASL2) $(am__append_9) $(am__append_13)
libmemcached_libmemcachedutil_la_SOURCES = \
libmemcached/backtrace.cc \
@@ -1523,7 +1594,7 @@
libmemcachedinternal_libmemcachedutilinternal_la_DEPENDENCIES = libmemcachedinternal/libmemcachedinternal.la
LIBTOOL_COMMAND = ${abs_top_builddir}/libtool --mode=execute
VALGRIND_COMMAND = $(LIBTOOL_COMMAND) valgrind --error-exitcode=1 --leak-check=yes --show-reachable=yes --track-fds=yes --malloc-fill=A5 --free-fill=DE
-HELGRIND_COMMAND = $(LIBTOOL_COMMAND) valgrind --tool=helgrind --read-var-info=yes --error-exitcode=1
+HELGRIND_COMMAND = $(LIBTOOL_COMMAND) valgrind --tool=helgrind --read-var-info=yes --error-exitcode=1 --read-var-info=yes
DRD_COMMAND = $(LIBTOOL_COMMAND) valgrind --tool=drd
GDB_COMMAND = $(LIBTOOL_COMMAND) gdb -f -x libtest/run.gdb
libtest_libtest_la_SOURCES = libtest/binaries.cc libtest/cmdline.cc \
@@ -1582,11 +1653,12 @@
tests_testapp_CXXFLAGS = $(AM_CXXFLAGS) ${PTHREAD_CFLAGS}
tests_testapp_CFLAGS = $(AM_CFLAGS) $(NO_CONVERSION) $(NO_STRICT_ALIASING)
tests_testapp_SOURCES = tests/basic.cc tests/debug.cc \
- tests/deprecated.cc tests/error_conditions.cc tests/ketama.cc \
- tests/mem_functions.cc tests/namespace.cc tests/parser.cc \
- tests/pool.cc tests/print.cc tests/replication.cc \
- tests/server_add.cc tests/virtual_buckets.cc \
- clients/generator.cc clients/execute.cc
+ tests/deprecated.cc tests/error_conditions.cc tests/exist.cc \
+ tests/ketama.cc tests/mem_functions.cc tests/namespace.cc \
+ tests/parser.cc tests/pool.cc tests/print.cc \
+ tests/replication.cc tests/server_add.cc \
+ tests/virtual_buckets.cc clients/generator.cc \
+ clients/execute.cc
tests_testapp_DEPENDENCIES = \
libmemcached/libmemcached.la \
libtest/libtest.la
@@ -1648,10 +1720,42 @@
tests_memcapable_CXXFLAGS = $(AM_CXXFLAGS) $(NO_EFF_CXX)
tests_memcapable_DEPENDENCIES = libtest/libtest.la $(TESTS_LDADDS)
tests_memcapable_LDADD = $(tests_memcapable_DEPENDENCIES)
+tests_memstat_SOURCES = tests/memstat.cc
+tests_memstat_CXXFLAGS = $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memstat_DEPENDENCIES = libtest/libtest.la $(TESTS_LDADDS)
+tests_memstat_LDADD = $(tests_memstat_DEPENDENCIES)
+tests_memcp_SOURCES = tests/memcp.cc
+tests_memcp_CXXFLAGS = $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memcp_DEPENDENCIES = libtest/libtest.la $(TESTS_LDADDS)
+tests_memcp_LDADD = $(tests_memcp_DEPENDENCIES)
+tests_memflush_SOURCES = tests/memflush.cc
+tests_memflush_CXXFLAGS = $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memflush_DEPENDENCIES = libtest/libtest.la $(TESTS_LDADDS)
+tests_memflush_LDADD = $(tests_memflush_DEPENDENCIES)
+tests_memrm_SOURCES = tests/memrm.cc
+tests_memrm_CXXFLAGS = $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memrm_DEPENDENCIES = libtest/libtest.la $(TESTS_LDADDS)
+tests_memrm_LDADD = $(tests_memrm_DEPENDENCIES)
+tests_memexist_SOURCES = tests/memexist.cc
+tests_memexist_CXXFLAGS = $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memexist_DEPENDENCIES = libtest/libtest.la $(TESTS_LDADDS)
+tests_memexist_LDADD = $(tests_memexist_DEPENDENCIES)
+tests_memcat_SOURCES = tests/memcat.cc
+tests_memcat_CXXFLAGS = $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memcat_DEPENDENCIES = libtest/libtest.la $(TESTS_LDADDS)
+tests_memcat_LDADD = $(tests_memcat_DEPENDENCIES)
+tests_memerror_SOURCES = tests/memerror.cc
+tests_memerror_CXXFLAGS = $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memerror_DEPENDENCIES = libtest/libtest.la $(TESTS_LDADDS)
+tests_memerror_LDADD = $(tests_memerror_DEPENDENCIES)
tests_memslap_SOURCES = tests/memslap.cc
tests_memslap_CXXFLAGS = $(AM_CXXFLAGS) $(NO_EFF_CXX)
tests_memslap_DEPENDENCIES = libtest/libtest.la $(TESTS_LDADDS)
tests_memslap_LDADD = $(tests_memslap_DEPENDENCIES)
+tests_memdump_SOURCES = tests/memdump.cc
+tests_memdump_CXXFLAGS = $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memdump_DEPENDENCIES = libtest/libtest.la $(TESTS_LDADDS)
+tests_memdump_LDADD = $(tests_memdump_DEPENDENCIES)
# Test linking with C application
tests_c_test_SOURCES = tests/c_test.c
@@ -1809,9 +1913,15 @@
libhashkit/libhashkit_libhashkit_la-function.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
+libhashkit/libhashkit_libhashkit_la-has.lo: \
+ libhashkit/$(am__dirstamp) \
+ libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/libhashkit_libhashkit_la-hashkit.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
+libhashkit/libhashkit_libhashkit_la-hsieh.lo: \
+ libhashkit/$(am__dirstamp) \
+ libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/libhashkit_libhashkit_la-jenkins.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
@@ -1821,6 +1931,9 @@
libhashkit/libhashkit_libhashkit_la-md5.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
+libhashkit/libhashkit_libhashkit_la-murmur.lo: \
+ libhashkit/$(am__dirstamp) \
+ libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/libhashkit_libhashkit_la-one_at_a_time.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
@@ -1830,12 +1943,6 @@
libhashkit/libhashkit_libhashkit_la-strerror.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
-libhashkit/libhashkit_libhashkit_la-hsieh.lo: \
- libhashkit/$(am__dirstamp) \
- libhashkit/$(DEPDIR)/$(am__dirstamp)
-libhashkit/libhashkit_libhashkit_la-murmur.lo: \
- libhashkit/$(am__dirstamp) \
- libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/libhashkit.la: $(libhashkit_libhashkit_la_OBJECTS) $(libhashkit_libhashkit_la_DEPENDENCIES) libhashkit/$(am__dirstamp)
$(AM_V_CXXLD)$(libhashkit_libhashkit_la_LINK) -rpath $(libdir) $(libhashkit_libhashkit_la_OBJECTS) $(libhashkit_libhashkit_la_LIBADD) $(LIBS)
libhashkit/algorithm.lo: libhashkit/$(am__dirstamp) \
@@ -1852,24 +1959,26 @@
libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/function.lo: libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
+libhashkit/has.lo: libhashkit/$(am__dirstamp) \
+ libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/hashkit.lo: libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
+libhashkit/hsieh.lo: libhashkit/$(am__dirstamp) \
+ libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/jenkins.lo: libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/ketama.lo: libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/md5.lo: libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
+libhashkit/murmur.lo: libhashkit/$(am__dirstamp) \
+ libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/one_at_a_time.lo: libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/str_algorithm.lo: libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/strerror.lo: libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
-libhashkit/hsieh.lo: libhashkit/$(am__dirstamp) \
- libhashkit/$(DEPDIR)/$(am__dirstamp)
-libhashkit/murmur.lo: libhashkit/$(am__dirstamp) \
- libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/libhashkitinc.la: $(libhashkit_libhashkitinc_la_OBJECTS) $(libhashkit_libhashkitinc_la_DEPENDENCIES) libhashkit/$(am__dirstamp)
$(AM_V_CXXLD)$(libhashkit_libhashkitinc_la_LINK) $(libhashkit_libhashkitinc_la_OBJECTS) $(libhashkit_libhashkitinc_la_LIBADD) $(LIBS)
libmemcached/csl/$(am__dirstamp):
@@ -1908,9 +2017,15 @@
libhashkit/libmemcached_libmemcached_la-function.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
+libhashkit/libmemcached_libmemcached_la-has.lo: \
+ libhashkit/$(am__dirstamp) \
+ libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/libmemcached_libmemcached_la-hashkit.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
+libhashkit/libmemcached_libmemcached_la-hsieh.lo: \
+ libhashkit/$(am__dirstamp) \
+ libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/libmemcached_libmemcached_la-jenkins.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
@@ -1920,6 +2035,9 @@
libhashkit/libmemcached_libmemcached_la-md5.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
+libhashkit/libmemcached_libmemcached_la-murmur.lo: \
+ libhashkit/$(am__dirstamp) \
+ libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/libmemcached_libmemcached_la-one_at_a_time.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
@@ -1929,12 +2047,6 @@
libhashkit/libmemcached_libmemcached_la-strerror.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
-libhashkit/libmemcached_libmemcached_la-hsieh.lo: \
- libhashkit/$(am__dirstamp) \
- libhashkit/$(DEPDIR)/$(am__dirstamp)
-libhashkit/libmemcached_libmemcached_la-murmur.lo: \
- libhashkit/$(am__dirstamp) \
- libhashkit/$(DEPDIR)/$(am__dirstamp)
libmemcached/$(am__dirstamp):
@$(MKDIR_P) libmemcached
@: > libmemcached/$(am__dirstamp)
@@ -1980,6 +2092,9 @@
libmemcached/libmemcached_libmemcached_la-error.lo: \
libmemcached/$(am__dirstamp) \
libmemcached/$(DEPDIR)/$(am__dirstamp)
+libmemcached/libmemcached_libmemcached_la-exist.lo: \
+ libmemcached/$(am__dirstamp) \
+ libmemcached/$(DEPDIR)/$(am__dirstamp)
libmemcached/libmemcached_libmemcached_la-fetch.lo: \
libmemcached/$(am__dirstamp) \
libmemcached/$(DEPDIR)/$(am__dirstamp)
@@ -2153,9 +2268,15 @@
libhashkit/libmemcachedinternal_libmemcachedinternal_la-function.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
+libhashkit/libmemcachedinternal_libmemcachedinternal_la-has.lo: \
+ libhashkit/$(am__dirstamp) \
+ libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/libmemcachedinternal_libmemcachedinternal_la-hashkit.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
+libhashkit/libmemcachedinternal_libmemcachedinternal_la-hsieh.lo: \
+ libhashkit/$(am__dirstamp) \
+ libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/libmemcachedinternal_libmemcachedinternal_la-jenkins.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
@@ -2165,6 +2286,9 @@
libhashkit/libmemcachedinternal_libmemcachedinternal_la-md5.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
+libhashkit/libmemcachedinternal_libmemcachedinternal_la-murmur.lo: \
+ libhashkit/$(am__dirstamp) \
+ libhashkit/$(DEPDIR)/$(am__dirstamp)
libhashkit/libmemcachedinternal_libmemcachedinternal_la-one_at_a_time.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
@@ -2174,12 +2298,6 @@
libhashkit/libmemcachedinternal_libmemcachedinternal_la-strerror.lo: \
libhashkit/$(am__dirstamp) \
libhashkit/$(DEPDIR)/$(am__dirstamp)
-libhashkit/libmemcachedinternal_libmemcachedinternal_la-hsieh.lo: \
- libhashkit/$(am__dirstamp) \
- libhashkit/$(DEPDIR)/$(am__dirstamp)
-libhashkit/libmemcachedinternal_libmemcachedinternal_la-murmur.lo: \
- libhashkit/$(am__dirstamp) \
- libhashkit/$(DEPDIR)/$(am__dirstamp)
libmemcached/libmemcachedinternal_libmemcachedinternal_la-allocators.lo: \
libmemcached/$(am__dirstamp) \
libmemcached/$(DEPDIR)/$(am__dirstamp)
@@ -2219,6 +2337,9 @@
libmemcached/libmemcachedinternal_libmemcachedinternal_la-error.lo: \
libmemcached/$(am__dirstamp) \
libmemcached/$(DEPDIR)/$(am__dirstamp)
+libmemcached/libmemcachedinternal_libmemcachedinternal_la-exist.lo: \
+ libmemcached/$(am__dirstamp) \
+ libmemcached/$(DEPDIR)/$(am__dirstamp)
libmemcached/libmemcachedinternal_libmemcachedinternal_la-fetch.lo: \
libmemcached/$(am__dirstamp) \
libmemcached/$(DEPDIR)/$(am__dirstamp)
@@ -2490,6 +2611,11 @@
clients/memerror$(EXEEXT): $(clients_memerror_OBJECTS) $(clients_memerror_DEPENDENCIES) clients/$(am__dirstamp)
@rm -f clients/memerror$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(clients_memerror_OBJECTS) $(clients_memerror_LDADD) $(LIBS)
+clients/memexist.$(OBJEXT): clients/$(am__dirstamp) \
+ clients/$(DEPDIR)/$(am__dirstamp)
+clients/memexist$(EXEEXT): $(clients_memexist_OBJECTS) $(clients_memexist_DEPENDENCIES) clients/$(am__dirstamp)
+ @rm -f clients/memexist$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(clients_memexist_OBJECTS) $(clients_memexist_LDADD) $(LIBS)
clients/memflush.$(OBJEXT): clients/$(am__dirstamp) \
clients/$(DEPDIR)/$(am__dirstamp)
clients/memflush$(EXEEXT): $(clients_memflush_OBJECTS) $(clients_memflush_DEPENDENCIES) clients/$(am__dirstamp)
@@ -2612,11 +2738,51 @@
tests/memcapable$(EXEEXT): $(tests_memcapable_OBJECTS) $(tests_memcapable_DEPENDENCIES) tests/$(am__dirstamp)
@rm -f tests/memcapable$(EXEEXT)
$(AM_V_CXXLD)$(tests_memcapable_LINK) $(tests_memcapable_OBJECTS) $(tests_memcapable_LDADD) $(LIBS)
+tests/tests_memcat-memcat.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/memcat$(EXEEXT): $(tests_memcat_OBJECTS) $(tests_memcat_DEPENDENCIES) tests/$(am__dirstamp)
+ @rm -f tests/memcat$(EXEEXT)
+ $(AM_V_CXXLD)$(tests_memcat_LINK) $(tests_memcat_OBJECTS) $(tests_memcat_LDADD) $(LIBS)
+tests/tests_memcp-memcp.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/memcp$(EXEEXT): $(tests_memcp_OBJECTS) $(tests_memcp_DEPENDENCIES) tests/$(am__dirstamp)
+ @rm -f tests/memcp$(EXEEXT)
+ $(AM_V_CXXLD)$(tests_memcp_LINK) $(tests_memcp_OBJECTS) $(tests_memcp_LDADD) $(LIBS)
+tests/tests_memdump-memdump.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/memdump$(EXEEXT): $(tests_memdump_OBJECTS) $(tests_memdump_DEPENDENCIES) tests/$(am__dirstamp)
+ @rm -f tests/memdump$(EXEEXT)
+ $(AM_V_CXXLD)$(tests_memdump_LINK) $(tests_memdump_OBJECTS) $(tests_memdump_LDADD) $(LIBS)
+tests/tests_memerror-memerror.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/memerror$(EXEEXT): $(tests_memerror_OBJECTS) $(tests_memerror_DEPENDENCIES) tests/$(am__dirstamp)
+ @rm -f tests/memerror$(EXEEXT)
+ $(AM_V_CXXLD)$(tests_memerror_LINK) $(tests_memerror_OBJECTS) $(tests_memerror_LDADD) $(LIBS)
+tests/tests_memexist-memexist.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/memexist$(EXEEXT): $(tests_memexist_OBJECTS) $(tests_memexist_DEPENDENCIES) tests/$(am__dirstamp)
+ @rm -f tests/memexist$(EXEEXT)
+ $(AM_V_CXXLD)$(tests_memexist_LINK) $(tests_memexist_OBJECTS) $(tests_memexist_LDADD) $(LIBS)
+tests/tests_memflush-memflush.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/memflush$(EXEEXT): $(tests_memflush_OBJECTS) $(tests_memflush_DEPENDENCIES) tests/$(am__dirstamp)
+ @rm -f tests/memflush$(EXEEXT)
+ $(AM_V_CXXLD)$(tests_memflush_LINK) $(tests_memflush_OBJECTS) $(tests_memflush_LDADD) $(LIBS)
+tests/tests_memrm-memrm.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/memrm$(EXEEXT): $(tests_memrm_OBJECTS) $(tests_memrm_DEPENDENCIES) tests/$(am__dirstamp)
+ @rm -f tests/memrm$(EXEEXT)
+ $(AM_V_CXXLD)$(tests_memrm_LINK) $(tests_memrm_OBJECTS) $(tests_memrm_LDADD) $(LIBS)
tests/tests_memslap-memslap.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/memslap$(EXEEXT): $(tests_memslap_OBJECTS) $(tests_memslap_DEPENDENCIES) tests/$(am__dirstamp)
@rm -f tests/memslap$(EXEEXT)
$(AM_V_CXXLD)$(tests_memslap_LINK) $(tests_memslap_OBJECTS) $(tests_memslap_LDADD) $(LIBS)
+tests/tests_memstat-memstat.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/memstat$(EXEEXT): $(tests_memstat_OBJECTS) $(tests_memstat_DEPENDENCIES) tests/$(am__dirstamp)
+ @rm -f tests/memstat$(EXEEXT)
+ $(AM_V_CXXLD)$(tests_memstat_LINK) $(tests_memstat_OBJECTS) $(tests_memstat_LDADD) $(LIBS)
tests/tests_sasl-basic.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/tests_sasl-debug.$(OBJEXT): tests/$(am__dirstamp) \
@@ -2656,6 +2822,8 @@
tests/$(DEPDIR)/$(am__dirstamp)
tests/tests_testapp-error_conditions.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
+tests/tests_testapp-exist.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
tests/tests_testapp-ketama.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/tests_testapp-mem_functions.$(OBJEXT): tests/$(am__dirstamp) \
@@ -2710,6 +2878,7 @@
-rm -f clients/memcp.$(OBJEXT)
-rm -f clients/memdump.$(OBJEXT)
-rm -f clients/memerror.$(OBJEXT)
+ -rm -f clients/memexist.$(OBJEXT)
-rm -f clients/memflush.$(OBJEXT)
-rm -f clients/memparse.$(OBJEXT)
-rm -f clients/memping.$(OBJEXT)
@@ -2747,6 +2916,8 @@
-rm -f libhashkit/fnv_64.lo
-rm -f libhashkit/function.$(OBJEXT)
-rm -f libhashkit/function.lo
+ -rm -f libhashkit/has.$(OBJEXT)
+ -rm -f libhashkit/has.lo
-rm -f libhashkit/hashkit.$(OBJEXT)
-rm -f libhashkit/hashkit.lo
-rm -f libhashkit/hsieh.$(OBJEXT)
@@ -2769,6 +2940,8 @@
-rm -f libhashkit/libhashkit_libhashkit_la-fnv_64.lo
-rm -f libhashkit/libhashkit_libhashkit_la-function.$(OBJEXT)
-rm -f libhashkit/libhashkit_libhashkit_la-function.lo
+ -rm -f libhashkit/libhashkit_libhashkit_la-has.$(OBJEXT)
+ -rm -f libhashkit/libhashkit_libhashkit_la-has.lo
-rm -f libhashkit/libhashkit_libhashkit_la-hashkit.$(OBJEXT)
-rm -f libhashkit/libhashkit_libhashkit_la-hashkit.lo
-rm -f libhashkit/libhashkit_libhashkit_la-hsieh.$(OBJEXT)
@@ -2801,6 +2974,8 @@
-rm -f libhashkit/libmemcached_libmemcached_la-fnv_64.lo
-rm -f libhashkit/libmemcached_libmemcached_la-function.$(OBJEXT)
-rm -f libhashkit/libmemcached_libmemcached_la-function.lo
+ -rm -f libhashkit/libmemcached_libmemcached_la-has.$(OBJEXT)
+ -rm -f libhashkit/libmemcached_libmemcached_la-has.lo
-rm -f libhashkit/libmemcached_libmemcached_la-hashkit.$(OBJEXT)
-rm -f libhashkit/libmemcached_libmemcached_la-hashkit.lo
-rm -f libhashkit/libmemcached_libmemcached_la-hsieh.$(OBJEXT)
@@ -2833,6 +3008,8 @@
-rm -f libhashkit/libmemcachedinternal_libmemcachedinternal_la-fnv_64.lo
-rm -f libhashkit/libmemcachedinternal_libmemcachedinternal_la-function.$(OBJEXT)
-rm -f libhashkit/libmemcachedinternal_libmemcachedinternal_la-function.lo
+ -rm -f libhashkit/libmemcachedinternal_libmemcachedinternal_la-has.$(OBJEXT)
+ -rm -f libhashkit/libmemcachedinternal_libmemcachedinternal_la-has.lo
-rm -f libhashkit/libmemcachedinternal_libmemcachedinternal_la-hashkit.$(OBJEXT)
-rm -f libhashkit/libmemcachedinternal_libmemcachedinternal_la-hashkit.lo
-rm -f libhashkit/libmemcachedinternal_libmemcachedinternal_la-hsieh.$(OBJEXT)
@@ -2900,6 +3077,8 @@
-rm -f libmemcached/libmemcached_libmemcached_la-dump.lo
-rm -f libmemcached/libmemcached_libmemcached_la-error.$(OBJEXT)
-rm -f libmemcached/libmemcached_libmemcached_la-error.lo
+ -rm -f libmemcached/libmemcached_libmemcached_la-exist.$(OBJEXT)
+ -rm -f libmemcached/libmemcached_libmemcached_la-exist.lo
-rm -f libmemcached/libmemcached_libmemcached_la-fetch.$(OBJEXT)
-rm -f libmemcached/libmemcached_libmemcached_la-fetch.lo
-rm -f libmemcached/libmemcached_libmemcached_la-flush.$(OBJEXT)
@@ -2984,6 +3163,8 @@
-rm -f libmemcached/libmemcachedinternal_libmemcachedinternal_la-dump.lo
-rm -f libmemcached/libmemcachedinternal_libmemcachedinternal_la-error.$(OBJEXT)
-rm -f libmemcached/libmemcachedinternal_libmemcachedinternal_la-error.lo
+ -rm -f libmemcached/libmemcachedinternal_libmemcachedinternal_la-exist.$(OBJEXT)
+ -rm -f libmemcached/libmemcachedinternal_libmemcachedinternal_la-exist.lo
-rm -f libmemcached/libmemcachedinternal_libmemcachedinternal_la-fetch.$(OBJEXT)
-rm -f libmemcached/libmemcachedinternal_libmemcachedinternal_la-fetch.lo
-rm -f libmemcached/libmemcachedinternal_libmemcachedinternal_la-flush.$(OBJEXT)
@@ -3126,7 +3307,15 @@
-rm -f tests/tests_internals-internals.$(OBJEXT)
-rm -f tests/tests_internals-string.$(OBJEXT)
-rm -f tests/tests_memcapable-memcapable.$(OBJEXT)
+ -rm -f tests/tests_memcat-memcat.$(OBJEXT)
+ -rm -f tests/tests_memcp-memcp.$(OBJEXT)
+ -rm -f tests/tests_memdump-memdump.$(OBJEXT)
+ -rm -f tests/tests_memerror-memerror.$(OBJEXT)
+ -rm -f tests/tests_memexist-memexist.$(OBJEXT)
+ -rm -f tests/tests_memflush-memflush.$(OBJEXT)
+ -rm -f tests/tests_memrm-memrm.$(OBJEXT)
-rm -f tests/tests_memslap-memslap.$(OBJEXT)
+ -rm -f tests/tests_memstat-memstat.$(OBJEXT)
-rm -f tests/tests_sasl-basic.$(OBJEXT)
-rm -f tests/tests_sasl-debug.$(OBJEXT)
-rm -f tests/tests_sasl-deprecated.$(OBJEXT)
@@ -3143,6 +3332,7 @@
-rm -f tests/tests_testapp-debug.$(OBJEXT)
-rm -f tests/tests_testapp-deprecated.$(OBJEXT)
-rm -f tests/tests_testapp-error_conditions.$(OBJEXT)
+ -rm -f tests/tests_testapp-exist.$(OBJEXT)
-rm -f tests/tests_testapp-ketama.$(OBJEXT)
-rm -f tests/tests_testapp-mem_functions.$(OBJEXT)
-rm -f tests/tests_testapp-namespace.$(OBJEXT)
@@ -3172,6 +3362,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@clients/$(DEPDIR)/memcp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@clients/$(DEPDIR)/memdump.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@clients/$(DEPDIR)/memerror.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@clients/$(DEPDIR)/memexist.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@clients/$(DEPDIR)/memflush.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@clients/$(DEPDIR)/memparse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@clients/$(DEPDIR)/memping.Po@am__quote@
@@ -3201,6 +3392,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/fnv_32.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/fnv_64.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/function.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/has.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/hashkit.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/hsieh.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/jenkins.Plo@am__quote@
@@ -3212,6 +3404,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-fnv_32.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-fnv_64.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-function.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-has.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-hashkit.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-hsieh.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-jenkins.Plo@am__quote@
@@ -3228,6 +3421,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-fnv_32.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-fnv_64.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-function.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-has.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-hashkit.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-hsieh.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-jenkins.Plo@am__quote@
@@ -3244,6 +3438,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-fnv_32.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-fnv_64.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-function.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-has.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-hashkit.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-hsieh.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-jenkins.Plo@am__quote@
@@ -3272,6 +3467,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-do.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-dump.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-error.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-exist.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-fetch.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-flush.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-flush_buffers.Plo@am__quote@
@@ -3314,6 +3510,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-do.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-dump.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-error.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-exist.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-fetch.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-flush.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-flush_buffers.Plo@am__quote@
@@ -3399,7 +3596,15 @@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_internals-internals.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_internals-string.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_memcapable-memcapable.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_memcat-memcat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_memcp-memcp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_memdump-memdump.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_memerror-memerror.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_memexist-memexist.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_memflush-memflush.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_memrm-memrm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_memslap-memslap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_memstat-memstat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_sasl-basic.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_sasl-debug.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_sasl-deprecated.Po@am__quote@
@@ -3416,6 +3621,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_testapp-debug.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_testapp-deprecated.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_testapp-error_conditions.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_testapp-exist.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_testapp-ketama.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_testapp-mem_functions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/tests_testapp-namespace.Po@am__quote@
@@ -3627,6 +3833,14 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libhashkit_libhashkit_la-function.lo `test -f 'libhashkit/function.cc' || echo '$(srcdir)/'`libhashkit/function.cc
+libhashkit/libhashkit_libhashkit_la-has.lo: libhashkit/has.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libhashkit_libhashkit_la-has.lo -MD -MP -MF libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-has.Tpo -c -o libhashkit/libhashkit_libhashkit_la-has.lo `test -f 'libhashkit/has.cc' || echo '$(srcdir)/'`libhashkit/has.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-has.Tpo libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-has.Plo
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libhashkit/has.cc' object='libhashkit/libhashkit_libhashkit_la-has.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libhashkit_libhashkit_la-has.lo `test -f 'libhashkit/has.cc' || echo '$(srcdir)/'`libhashkit/has.cc
+
libhashkit/libhashkit_libhashkit_la-hashkit.lo: libhashkit/hashkit.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libhashkit_libhashkit_la-hashkit.lo -MD -MP -MF libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-hashkit.Tpo -c -o libhashkit/libhashkit_libhashkit_la-hashkit.lo `test -f 'libhashkit/hashkit.cc' || echo '$(srcdir)/'`libhashkit/hashkit.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-hashkit.Tpo libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-hashkit.Plo
@@ -3635,6 +3849,14 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libhashkit_libhashkit_la-hashkit.lo `test -f 'libhashkit/hashkit.cc' || echo '$(srcdir)/'`libhashkit/hashkit.cc
+libhashkit/libhashkit_libhashkit_la-hsieh.lo: libhashkit/hsieh.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libhashkit_libhashkit_la-hsieh.lo -MD -MP -MF libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-hsieh.Tpo -c -o libhashkit/libhashkit_libhashkit_la-hsieh.lo `test -f 'libhashkit/hsieh.cc' || echo '$(srcdir)/'`libhashkit/hsieh.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-hsieh.Tpo libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-hsieh.Plo
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libhashkit/hsieh.cc' object='libhashkit/libhashkit_libhashkit_la-hsieh.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libhashkit_libhashkit_la-hsieh.lo `test -f 'libhashkit/hsieh.cc' || echo '$(srcdir)/'`libhashkit/hsieh.cc
+
libhashkit/libhashkit_libhashkit_la-jenkins.lo: libhashkit/jenkins.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libhashkit_libhashkit_la-jenkins.lo -MD -MP -MF libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-jenkins.Tpo -c -o libhashkit/libhashkit_libhashkit_la-jenkins.lo `test -f 'libhashkit/jenkins.cc' || echo '$(srcdir)/'`libhashkit/jenkins.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-jenkins.Tpo libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-jenkins.Plo
@@ -3659,6 +3881,14 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libhashkit_libhashkit_la-md5.lo `test -f 'libhashkit/md5.cc' || echo '$(srcdir)/'`libhashkit/md5.cc
+libhashkit/libhashkit_libhashkit_la-murmur.lo: libhashkit/murmur.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libhashkit_libhashkit_la-murmur.lo -MD -MP -MF libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-murmur.Tpo -c -o libhashkit/libhashkit_libhashkit_la-murmur.lo `test -f 'libhashkit/murmur.cc' || echo '$(srcdir)/'`libhashkit/murmur.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-murmur.Tpo libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-murmur.Plo
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libhashkit/murmur.cc' object='libhashkit/libhashkit_libhashkit_la-murmur.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libhashkit_libhashkit_la-murmur.lo `test -f 'libhashkit/murmur.cc' || echo '$(srcdir)/'`libhashkit/murmur.cc
+
libhashkit/libhashkit_libhashkit_la-one_at_a_time.lo: libhashkit/one_at_a_time.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libhashkit_libhashkit_la-one_at_a_time.lo -MD -MP -MF libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-one_at_a_time.Tpo -c -o libhashkit/libhashkit_libhashkit_la-one_at_a_time.lo `test -f 'libhashkit/one_at_a_time.cc' || echo '$(srcdir)/'`libhashkit/one_at_a_time.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-one_at_a_time.Tpo libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-one_at_a_time.Plo
@@ -3683,22 +3913,6 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libhashkit_libhashkit_la-strerror.lo `test -f 'libhashkit/strerror.cc' || echo '$(srcdir)/'`libhashkit/strerror.cc
-libhashkit/libhashkit_libhashkit_la-hsieh.lo: libhashkit/hsieh.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libhashkit_libhashkit_la-hsieh.lo -MD -MP -MF libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-hsieh.Tpo -c -o libhashkit/libhashkit_libhashkit_la-hsieh.lo `test -f 'libhashkit/hsieh.cc' || echo '$(srcdir)/'`libhashkit/hsieh.cc
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-hsieh.Tpo libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-hsieh.Plo
-@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libhashkit/hsieh.cc' object='libhashkit/libhashkit_libhashkit_la-hsieh.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libhashkit_libhashkit_la-hsieh.lo `test -f 'libhashkit/hsieh.cc' || echo '$(srcdir)/'`libhashkit/hsieh.cc
-
-libhashkit/libhashkit_libhashkit_la-murmur.lo: libhashkit/murmur.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libhashkit_libhashkit_la-murmur.lo -MD -MP -MF libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-murmur.Tpo -c -o libhashkit/libhashkit_libhashkit_la-murmur.lo `test -f 'libhashkit/murmur.cc' || echo '$(srcdir)/'`libhashkit/murmur.cc
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-murmur.Tpo libhashkit/$(DEPDIR)/libhashkit_libhashkit_la-murmur.Plo
-@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libhashkit/murmur.cc' object='libhashkit/libhashkit_libhashkit_la-murmur.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhashkit_libhashkit_la_CPPFLAGS) $(CPPFLAGS) $(libhashkit_libhashkit_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libhashkit_libhashkit_la-murmur.lo `test -f 'libhashkit/murmur.cc' || echo '$(srcdir)/'`libhashkit/murmur.cc
-
libmemcached/csl/libmemcached_libmemcached_la-context.lo: libmemcached/csl/context.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -MT libmemcached/csl/libmemcached_libmemcached_la-context.lo -MD -MP -MF libmemcached/csl/$(DEPDIR)/libmemcached_libmemcached_la-context.Tpo -c -o libmemcached/csl/libmemcached_libmemcached_la-context.lo `test -f 'libmemcached/csl/context.cc' || echo '$(srcdir)/'`libmemcached/csl/context.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libmemcached/csl/$(DEPDIR)/libmemcached_libmemcached_la-context.Tpo libmemcached/csl/$(DEPDIR)/libmemcached_libmemcached_la-context.Plo
@@ -3779,6 +3993,14 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcached_libmemcached_la-function.lo `test -f 'libhashkit/function.cc' || echo '$(srcdir)/'`libhashkit/function.cc
+libhashkit/libmemcached_libmemcached_la-has.lo: libhashkit/has.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcached_libmemcached_la-has.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-has.Tpo -c -o libhashkit/libmemcached_libmemcached_la-has.lo `test -f 'libhashkit/has.cc' || echo '$(srcdir)/'`libhashkit/has.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-has.Tpo libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-has.Plo
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libhashkit/has.cc' object='libhashkit/libmemcached_libmemcached_la-has.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcached_libmemcached_la-has.lo `test -f 'libhashkit/has.cc' || echo '$(srcdir)/'`libhashkit/has.cc
+
libhashkit/libmemcached_libmemcached_la-hashkit.lo: libhashkit/hashkit.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcached_libmemcached_la-hashkit.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-hashkit.Tpo -c -o libhashkit/libmemcached_libmemcached_la-hashkit.lo `test -f 'libhashkit/hashkit.cc' || echo '$(srcdir)/'`libhashkit/hashkit.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-hashkit.Tpo libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-hashkit.Plo
@@ -3787,6 +4009,14 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcached_libmemcached_la-hashkit.lo `test -f 'libhashkit/hashkit.cc' || echo '$(srcdir)/'`libhashkit/hashkit.cc
+libhashkit/libmemcached_libmemcached_la-hsieh.lo: libhashkit/hsieh.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcached_libmemcached_la-hsieh.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-hsieh.Tpo -c -o libhashkit/libmemcached_libmemcached_la-hsieh.lo `test -f 'libhashkit/hsieh.cc' || echo '$(srcdir)/'`libhashkit/hsieh.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-hsieh.Tpo libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-hsieh.Plo
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libhashkit/hsieh.cc' object='libhashkit/libmemcached_libmemcached_la-hsieh.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcached_libmemcached_la-hsieh.lo `test -f 'libhashkit/hsieh.cc' || echo '$(srcdir)/'`libhashkit/hsieh.cc
+
libhashkit/libmemcached_libmemcached_la-jenkins.lo: libhashkit/jenkins.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcached_libmemcached_la-jenkins.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-jenkins.Tpo -c -o libhashkit/libmemcached_libmemcached_la-jenkins.lo `test -f 'libhashkit/jenkins.cc' || echo '$(srcdir)/'`libhashkit/jenkins.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-jenkins.Tpo libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-jenkins.Plo
@@ -3811,6 +4041,14 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcached_libmemcached_la-md5.lo `test -f 'libhashkit/md5.cc' || echo '$(srcdir)/'`libhashkit/md5.cc
+libhashkit/libmemcached_libmemcached_la-murmur.lo: libhashkit/murmur.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcached_libmemcached_la-murmur.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-murmur.Tpo -c -o libhashkit/libmemcached_libmemcached_la-murmur.lo `test -f 'libhashkit/murmur.cc' || echo '$(srcdir)/'`libhashkit/murmur.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-murmur.Tpo libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-murmur.Plo
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libhashkit/murmur.cc' object='libhashkit/libmemcached_libmemcached_la-murmur.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcached_libmemcached_la-murmur.lo `test -f 'libhashkit/murmur.cc' || echo '$(srcdir)/'`libhashkit/murmur.cc
+
libhashkit/libmemcached_libmemcached_la-one_at_a_time.lo: libhashkit/one_at_a_time.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcached_libmemcached_la-one_at_a_time.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-one_at_a_time.Tpo -c -o libhashkit/libmemcached_libmemcached_la-one_at_a_time.lo `test -f 'libhashkit/one_at_a_time.cc' || echo '$(srcdir)/'`libhashkit/one_at_a_time.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-one_at_a_time.Tpo libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-one_at_a_time.Plo
@@ -3835,22 +4073,6 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcached_libmemcached_la-strerror.lo `test -f 'libhashkit/strerror.cc' || echo '$(srcdir)/'`libhashkit/strerror.cc
-libhashkit/libmemcached_libmemcached_la-hsieh.lo: libhashkit/hsieh.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcached_libmemcached_la-hsieh.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-hsieh.Tpo -c -o libhashkit/libmemcached_libmemcached_la-hsieh.lo `test -f 'libhashkit/hsieh.cc' || echo '$(srcdir)/'`libhashkit/hsieh.cc
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-hsieh.Tpo libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-hsieh.Plo
-@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libhashkit/hsieh.cc' object='libhashkit/libmemcached_libmemcached_la-hsieh.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcached_libmemcached_la-hsieh.lo `test -f 'libhashkit/hsieh.cc' || echo '$(srcdir)/'`libhashkit/hsieh.cc
-
-libhashkit/libmemcached_libmemcached_la-murmur.lo: libhashkit/murmur.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcached_libmemcached_la-murmur.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-murmur.Tpo -c -o libhashkit/libmemcached_libmemcached_la-murmur.lo `test -f 'libhashkit/murmur.cc' || echo '$(srcdir)/'`libhashkit/murmur.cc
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-murmur.Tpo libhashkit/$(DEPDIR)/libmemcached_libmemcached_la-murmur.Plo
-@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libhashkit/murmur.cc' object='libhashkit/libmemcached_libmemcached_la-murmur.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcached_libmemcached_la-murmur.lo `test -f 'libhashkit/murmur.cc' || echo '$(srcdir)/'`libhashkit/murmur.cc
-
libmemcached/libmemcached_libmemcached_la-allocators.lo: libmemcached/allocators.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -MT libmemcached/libmemcached_libmemcached_la-allocators.lo -MD -MP -MF libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-allocators.Tpo -c -o libmemcached/libmemcached_libmemcached_la-allocators.lo `test -f 'libmemcached/allocators.cc' || echo '$(srcdir)/'`libmemcached/allocators.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-allocators.Tpo libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-allocators.Plo
@@ -3947,6 +4169,14 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -c -o libmemcached/libmemcached_libmemcached_la-error.lo `test -f 'libmemcached/error.cc' || echo '$(srcdir)/'`libmemcached/error.cc
+libmemcached/libmemcached_libmemcached_la-exist.lo: libmemcached/exist.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -MT libmemcached/libmemcached_libmemcached_la-exist.lo -MD -MP -MF libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-exist.Tpo -c -o libmemcached/libmemcached_libmemcached_la-exist.lo `test -f 'libmemcached/exist.cc' || echo '$(srcdir)/'`libmemcached/exist.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-exist.Tpo libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-exist.Plo
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libmemcached/exist.cc' object='libmemcached/libmemcached_libmemcached_la-exist.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -c -o libmemcached/libmemcached_libmemcached_la-exist.lo `test -f 'libmemcached/exist.cc' || echo '$(srcdir)/'`libmemcached/exist.cc
+
libmemcached/libmemcached_libmemcached_la-fetch.lo: libmemcached/fetch.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmemcached_libmemcached_la_CXXFLAGS) $(CXXFLAGS) -MT libmemcached/libmemcached_libmemcached_la-fetch.lo -MD -MP -MF libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-fetch.Tpo -c -o libmemcached/libmemcached_libmemcached_la-fetch.lo `test -f 'libmemcached/fetch.cc' || echo '$(srcdir)/'`libmemcached/fetch.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-fetch.Tpo libmemcached/$(DEPDIR)/libmemcached_libmemcached_la-fetch.Plo
@@ -4291,6 +4521,14 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-function.lo `test -f 'libhashkit/function.cc' || echo '$(srcdir)/'`libhashkit/function.cc
+libhashkit/libmemcachedinternal_libmemcachedinternal_la-has.lo: libhashkit/has.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcachedinternal_libmemcachedinternal_la-has.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-has.Tpo -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-has.lo `test -f 'libhashkit/has.cc' || echo '$(srcdir)/'`libhashkit/has.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-has.Tpo libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-has.Plo
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libhashkit/has.cc' object='libhashkit/libmemcachedinternal_libmemcachedinternal_la-has.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-has.lo `test -f 'libhashkit/has.cc' || echo '$(srcdir)/'`libhashkit/has.cc
+
libhashkit/libmemcachedinternal_libmemcachedinternal_la-hashkit.lo: libhashkit/hashkit.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcachedinternal_libmemcachedinternal_la-hashkit.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-hashkit.Tpo -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-hashkit.lo `test -f 'libhashkit/hashkit.cc' || echo '$(srcdir)/'`libhashkit/hashkit.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-hashkit.Tpo libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-hashkit.Plo
@@ -4299,6 +4537,14 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-hashkit.lo `test -f 'libhashkit/hashkit.cc' || echo '$(srcdir)/'`libhashkit/hashkit.cc
+libhashkit/libmemcachedinternal_libmemcachedinternal_la-hsieh.lo: libhashkit/hsieh.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcachedinternal_libmemcachedinternal_la-hsieh.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-hsieh.Tpo -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-hsieh.lo `test -f 'libhashkit/hsieh.cc' || echo '$(srcdir)/'`libhashkit/hsieh.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-hsieh.Tpo libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-hsieh.Plo
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libhashkit/hsieh.cc' object='libhashkit/libmemcachedinternal_libmemcachedinternal_la-hsieh.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-hsieh.lo `test -f 'libhashkit/hsieh.cc' || echo '$(srcdir)/'`libhashkit/hsieh.cc
+
libhashkit/libmemcachedinternal_libmemcachedinternal_la-jenkins.lo: libhashkit/jenkins.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcachedinternal_libmemcachedinternal_la-jenkins.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-jenkins.Tpo -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-jenkins.lo `test -f 'libhashkit/jenkins.cc' || echo '$(srcdir)/'`libhashkit/jenkins.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-jenkins.Tpo libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-jenkins.Plo
@@ -4323,6 +4569,14 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-md5.lo `test -f 'libhashkit/md5.cc' || echo '$(srcdir)/'`libhashkit/md5.cc
+libhashkit/libmemcachedinternal_libmemcachedinternal_la-murmur.lo: libhashkit/murmur.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcachedinternal_libmemcachedinternal_la-murmur.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-murmur.Tpo -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-murmur.lo `test -f 'libhashkit/murmur.cc' || echo '$(srcdir)/'`libhashkit/murmur.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-murmur.Tpo libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-murmur.Plo
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libhashkit/murmur.cc' object='libhashkit/libmemcachedinternal_libmemcachedinternal_la-murmur.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-murmur.lo `test -f 'libhashkit/murmur.cc' || echo '$(srcdir)/'`libhashkit/murmur.cc
+
libhashkit/libmemcachedinternal_libmemcachedinternal_la-one_at_a_time.lo: libhashkit/one_at_a_time.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcachedinternal_libmemcachedinternal_la-one_at_a_time.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-one_at_a_time.Tpo -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-one_at_a_time.lo `test -f 'libhashkit/one_at_a_time.cc' || echo '$(srcdir)/'`libhashkit/one_at_a_time.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-one_at_a_time.Tpo libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-one_at_a_time.Plo
@@ -4347,22 +4601,6 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-strerror.lo `test -f 'libhashkit/strerror.cc' || echo '$(srcdir)/'`libhashkit/strerror.cc
-libhashkit/libmemcachedinternal_libmemcachedinternal_la-hsieh.lo: libhashkit/hsieh.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcachedinternal_libmemcachedinternal_la-hsieh.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-hsieh.Tpo -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-hsieh.lo `test -f 'libhashkit/hsieh.cc' || echo '$(srcdir)/'`libhashkit/hsieh.cc
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-hsieh.Tpo libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-hsieh.Plo
-@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libhashkit/hsieh.cc' object='libhashkit/libmemcachedinternal_libmemcachedinternal_la-hsieh.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-hsieh.lo `test -f 'libhashkit/hsieh.cc' || echo '$(srcdir)/'`libhashkit/hsieh.cc
-
-libhashkit/libmemcachedinternal_libmemcachedinternal_la-murmur.lo: libhashkit/murmur.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -MT libhashkit/libmemcachedinternal_libmemcachedinternal_la-murmur.lo -MD -MP -MF libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-murmur.Tpo -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-murmur.lo `test -f 'libhashkit/murmur.cc' || echo '$(srcdir)/'`libhashkit/murmur.cc
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-murmur.Tpo libhashkit/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-murmur.Plo
-@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libhashkit/murmur.cc' object='libhashkit/libmemcachedinternal_libmemcachedinternal_la-murmur.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -c -o libhashkit/libmemcachedinternal_libmemcachedinternal_la-murmur.lo `test -f 'libhashkit/murmur.cc' || echo '$(srcdir)/'`libhashkit/murmur.cc
-
libmemcached/libmemcachedinternal_libmemcachedinternal_la-allocators.lo: libmemcached/allocators.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -MT libmemcached/libmemcachedinternal_libmemcachedinternal_la-allocators.lo -MD -MP -MF libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-allocators.Tpo -c -o libmemcached/libmemcachedinternal_libmemcachedinternal_la-allocators.lo `test -f 'libmemcached/allocators.cc' || echo '$(srcdir)/'`libmemcached/allocators.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-allocators.Tpo libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-allocators.Plo
@@ -4459,6 +4697,14 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -c -o libmemcached/libmemcachedinternal_libmemcachedinternal_la-error.lo `test -f 'libmemcached/error.cc' || echo '$(srcdir)/'`libmemcached/error.cc
+libmemcached/libmemcachedinternal_libmemcachedinternal_la-exist.lo: libmemcached/exist.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -MT libmemcached/libmemcachedinternal_libmemcachedinternal_la-exist.lo -MD -MP -MF libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-exist.Tpo -c -o libmemcached/libmemcachedinternal_libmemcachedinternal_la-exist.lo `test -f 'libmemcached/exist.cc' || echo '$(srcdir)/'`libmemcached/exist.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-exist.Tpo libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-exist.Plo
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libmemcached/exist.cc' object='libmemcached/libmemcachedinternal_libmemcachedinternal_la-exist.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -c -o libmemcached/libmemcachedinternal_libmemcachedinternal_la-exist.lo `test -f 'libmemcached/exist.cc' || echo '$(srcdir)/'`libmemcached/exist.cc
+
libmemcached/libmemcachedinternal_libmemcachedinternal_la-fetch.lo: libmemcached/fetch.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmemcachedinternal_libmemcachedinternal_la_CPPFLAGS) $(CPPFLAGS) $(libmemcachedinternal_libmemcachedinternal_la_CXXFLAGS) $(CXXFLAGS) -MT libmemcached/libmemcachedinternal_libmemcachedinternal_la-fetch.lo -MD -MP -MF libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-fetch.Tpo -c -o libmemcached/libmemcachedinternal_libmemcachedinternal_la-fetch.lo `test -f 'libmemcached/fetch.cc' || echo '$(srcdir)/'`libmemcached/fetch.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-fetch.Tpo libmemcached/$(DEPDIR)/libmemcachedinternal_libmemcachedinternal_la-fetch.Plo
@@ -5035,6 +5281,118 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memcapable_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memcapable-memcapable.obj `if test -f 'tests/memcapable.cc'; then $(CYGPATH_W) 'tests/memcapable.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memcapable.cc'; fi`
+tests/tests_memcat-memcat.o: tests/memcat.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memcat_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memcat-memcat.o -MD -MP -MF tests/$(DEPDIR)/tests_memcat-memcat.Tpo -c -o tests/tests_memcat-memcat.o `test -f 'tests/memcat.cc' || echo '$(srcdir)/'`tests/memcat.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memcat-memcat.Tpo tests/$(DEPDIR)/tests_memcat-memcat.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memcat.cc' object='tests/tests_memcat-memcat.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memcat_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memcat-memcat.o `test -f 'tests/memcat.cc' || echo '$(srcdir)/'`tests/memcat.cc
+
+tests/tests_memcat-memcat.obj: tests/memcat.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memcat_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memcat-memcat.obj -MD -MP -MF tests/$(DEPDIR)/tests_memcat-memcat.Tpo -c -o tests/tests_memcat-memcat.obj `if test -f 'tests/memcat.cc'; then $(CYGPATH_W) 'tests/memcat.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memcat.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memcat-memcat.Tpo tests/$(DEPDIR)/tests_memcat-memcat.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memcat.cc' object='tests/tests_memcat-memcat.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memcat_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memcat-memcat.obj `if test -f 'tests/memcat.cc'; then $(CYGPATH_W) 'tests/memcat.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memcat.cc'; fi`
+
+tests/tests_memcp-memcp.o: tests/memcp.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memcp_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memcp-memcp.o -MD -MP -MF tests/$(DEPDIR)/tests_memcp-memcp.Tpo -c -o tests/tests_memcp-memcp.o `test -f 'tests/memcp.cc' || echo '$(srcdir)/'`tests/memcp.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memcp-memcp.Tpo tests/$(DEPDIR)/tests_memcp-memcp.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memcp.cc' object='tests/tests_memcp-memcp.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memcp_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memcp-memcp.o `test -f 'tests/memcp.cc' || echo '$(srcdir)/'`tests/memcp.cc
+
+tests/tests_memcp-memcp.obj: tests/memcp.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memcp_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memcp-memcp.obj -MD -MP -MF tests/$(DEPDIR)/tests_memcp-memcp.Tpo -c -o tests/tests_memcp-memcp.obj `if test -f 'tests/memcp.cc'; then $(CYGPATH_W) 'tests/memcp.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memcp.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memcp-memcp.Tpo tests/$(DEPDIR)/tests_memcp-memcp.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memcp.cc' object='tests/tests_memcp-memcp.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memcp_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memcp-memcp.obj `if test -f 'tests/memcp.cc'; then $(CYGPATH_W) 'tests/memcp.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memcp.cc'; fi`
+
+tests/tests_memdump-memdump.o: tests/memdump.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memdump_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memdump-memdump.o -MD -MP -MF tests/$(DEPDIR)/tests_memdump-memdump.Tpo -c -o tests/tests_memdump-memdump.o `test -f 'tests/memdump.cc' || echo '$(srcdir)/'`tests/memdump.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memdump-memdump.Tpo tests/$(DEPDIR)/tests_memdump-memdump.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memdump.cc' object='tests/tests_memdump-memdump.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memdump_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memdump-memdump.o `test -f 'tests/memdump.cc' || echo '$(srcdir)/'`tests/memdump.cc
+
+tests/tests_memdump-memdump.obj: tests/memdump.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memdump_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memdump-memdump.obj -MD -MP -MF tests/$(DEPDIR)/tests_memdump-memdump.Tpo -c -o tests/tests_memdump-memdump.obj `if test -f 'tests/memdump.cc'; then $(CYGPATH_W) 'tests/memdump.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memdump.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memdump-memdump.Tpo tests/$(DEPDIR)/tests_memdump-memdump.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memdump.cc' object='tests/tests_memdump-memdump.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memdump_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memdump-memdump.obj `if test -f 'tests/memdump.cc'; then $(CYGPATH_W) 'tests/memdump.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memdump.cc'; fi`
+
+tests/tests_memerror-memerror.o: tests/memerror.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memerror_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memerror-memerror.o -MD -MP -MF tests/$(DEPDIR)/tests_memerror-memerror.Tpo -c -o tests/tests_memerror-memerror.o `test -f 'tests/memerror.cc' || echo '$(srcdir)/'`tests/memerror.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memerror-memerror.Tpo tests/$(DEPDIR)/tests_memerror-memerror.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memerror.cc' object='tests/tests_memerror-memerror.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memerror_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memerror-memerror.o `test -f 'tests/memerror.cc' || echo '$(srcdir)/'`tests/memerror.cc
+
+tests/tests_memerror-memerror.obj: tests/memerror.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memerror_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memerror-memerror.obj -MD -MP -MF tests/$(DEPDIR)/tests_memerror-memerror.Tpo -c -o tests/tests_memerror-memerror.obj `if test -f 'tests/memerror.cc'; then $(CYGPATH_W) 'tests/memerror.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memerror.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memerror-memerror.Tpo tests/$(DEPDIR)/tests_memerror-memerror.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memerror.cc' object='tests/tests_memerror-memerror.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memerror_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memerror-memerror.obj `if test -f 'tests/memerror.cc'; then $(CYGPATH_W) 'tests/memerror.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memerror.cc'; fi`
+
+tests/tests_memexist-memexist.o: tests/memexist.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memexist_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memexist-memexist.o -MD -MP -MF tests/$(DEPDIR)/tests_memexist-memexist.Tpo -c -o tests/tests_memexist-memexist.o `test -f 'tests/memexist.cc' || echo '$(srcdir)/'`tests/memexist.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memexist-memexist.Tpo tests/$(DEPDIR)/tests_memexist-memexist.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memexist.cc' object='tests/tests_memexist-memexist.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memexist_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memexist-memexist.o `test -f 'tests/memexist.cc' || echo '$(srcdir)/'`tests/memexist.cc
+
+tests/tests_memexist-memexist.obj: tests/memexist.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memexist_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memexist-memexist.obj -MD -MP -MF tests/$(DEPDIR)/tests_memexist-memexist.Tpo -c -o tests/tests_memexist-memexist.obj `if test -f 'tests/memexist.cc'; then $(CYGPATH_W) 'tests/memexist.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memexist.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memexist-memexist.Tpo tests/$(DEPDIR)/tests_memexist-memexist.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memexist.cc' object='tests/tests_memexist-memexist.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memexist_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memexist-memexist.obj `if test -f 'tests/memexist.cc'; then $(CYGPATH_W) 'tests/memexist.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memexist.cc'; fi`
+
+tests/tests_memflush-memflush.o: tests/memflush.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memflush_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memflush-memflush.o -MD -MP -MF tests/$(DEPDIR)/tests_memflush-memflush.Tpo -c -o tests/tests_memflush-memflush.o `test -f 'tests/memflush.cc' || echo '$(srcdir)/'`tests/memflush.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memflush-memflush.Tpo tests/$(DEPDIR)/tests_memflush-memflush.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memflush.cc' object='tests/tests_memflush-memflush.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memflush_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memflush-memflush.o `test -f 'tests/memflush.cc' || echo '$(srcdir)/'`tests/memflush.cc
+
+tests/tests_memflush-memflush.obj: tests/memflush.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memflush_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memflush-memflush.obj -MD -MP -MF tests/$(DEPDIR)/tests_memflush-memflush.Tpo -c -o tests/tests_memflush-memflush.obj `if test -f 'tests/memflush.cc'; then $(CYGPATH_W) 'tests/memflush.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memflush.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memflush-memflush.Tpo tests/$(DEPDIR)/tests_memflush-memflush.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memflush.cc' object='tests/tests_memflush-memflush.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memflush_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memflush-memflush.obj `if test -f 'tests/memflush.cc'; then $(CYGPATH_W) 'tests/memflush.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memflush.cc'; fi`
+
+tests/tests_memrm-memrm.o: tests/memrm.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memrm_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memrm-memrm.o -MD -MP -MF tests/$(DEPDIR)/tests_memrm-memrm.Tpo -c -o tests/tests_memrm-memrm.o `test -f 'tests/memrm.cc' || echo '$(srcdir)/'`tests/memrm.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memrm-memrm.Tpo tests/$(DEPDIR)/tests_memrm-memrm.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memrm.cc' object='tests/tests_memrm-memrm.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memrm_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memrm-memrm.o `test -f 'tests/memrm.cc' || echo '$(srcdir)/'`tests/memrm.cc
+
+tests/tests_memrm-memrm.obj: tests/memrm.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memrm_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memrm-memrm.obj -MD -MP -MF tests/$(DEPDIR)/tests_memrm-memrm.Tpo -c -o tests/tests_memrm-memrm.obj `if test -f 'tests/memrm.cc'; then $(CYGPATH_W) 'tests/memrm.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memrm.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memrm-memrm.Tpo tests/$(DEPDIR)/tests_memrm-memrm.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memrm.cc' object='tests/tests_memrm-memrm.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memrm_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memrm-memrm.obj `if test -f 'tests/memrm.cc'; then $(CYGPATH_W) 'tests/memrm.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memrm.cc'; fi`
+
tests/tests_memslap-memslap.o: tests/memslap.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memslap_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memslap-memslap.o -MD -MP -MF tests/$(DEPDIR)/tests_memslap-memslap.Tpo -c -o tests/tests_memslap-memslap.o `test -f 'tests/memslap.cc' || echo '$(srcdir)/'`tests/memslap.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memslap-memslap.Tpo tests/$(DEPDIR)/tests_memslap-memslap.Po
@@ -5051,6 +5409,22 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memslap_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memslap-memslap.obj `if test -f 'tests/memslap.cc'; then $(CYGPATH_W) 'tests/memslap.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memslap.cc'; fi`
+tests/tests_memstat-memstat.o: tests/memstat.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memstat_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memstat-memstat.o -MD -MP -MF tests/$(DEPDIR)/tests_memstat-memstat.Tpo -c -o tests/tests_memstat-memstat.o `test -f 'tests/memstat.cc' || echo '$(srcdir)/'`tests/memstat.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memstat-memstat.Tpo tests/$(DEPDIR)/tests_memstat-memstat.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memstat.cc' object='tests/tests_memstat-memstat.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memstat_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memstat-memstat.o `test -f 'tests/memstat.cc' || echo '$(srcdir)/'`tests/memstat.cc
+
+tests/tests_memstat-memstat.obj: tests/memstat.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memstat_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_memstat-memstat.obj -MD -MP -MF tests/$(DEPDIR)/tests_memstat-memstat.Tpo -c -o tests/tests_memstat-memstat.obj `if test -f 'tests/memstat.cc'; then $(CYGPATH_W) 'tests/memstat.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memstat.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_memstat-memstat.Tpo tests/$(DEPDIR)/tests_memstat-memstat.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/memstat.cc' object='tests/tests_memstat-memstat.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_memstat_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_memstat-memstat.obj `if test -f 'tests/memstat.cc'; then $(CYGPATH_W) 'tests/memstat.cc'; else $(CYGPATH_W) '$(srcdir)/tests/memstat.cc'; fi`
+
tests/tests_sasl-basic.o: tests/basic.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_sasl_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_sasl-basic.o -MD -MP -MF tests/$(DEPDIR)/tests_sasl-basic.Tpo -c -o tests/tests_sasl-basic.o `test -f 'tests/basic.cc' || echo '$(srcdir)/'`tests/basic.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_sasl-basic.Tpo tests/$(DEPDIR)/tests_sasl-basic.Po
@@ -5339,6 +5713,22 @@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_testapp_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_testapp-error_conditions.obj `if test -f 'tests/error_conditions.cc'; then $(CYGPATH_W) 'tests/error_conditions.cc'; else $(CYGPATH_W) '$(srcdir)/tests/error_conditions.cc'; fi`
+tests/tests_testapp-exist.o: tests/exist.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_testapp_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_testapp-exist.o -MD -MP -MF tests/$(DEPDIR)/tests_testapp-exist.Tpo -c -o tests/tests_testapp-exist.o `test -f 'tests/exist.cc' || echo '$(srcdir)/'`tests/exist.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_testapp-exist.Tpo tests/$(DEPDIR)/tests_testapp-exist.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/exist.cc' object='tests/tests_testapp-exist.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_testapp_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_testapp-exist.o `test -f 'tests/exist.cc' || echo '$(srcdir)/'`tests/exist.cc
+
+tests/tests_testapp-exist.obj: tests/exist.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_testapp_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_testapp-exist.obj -MD -MP -MF tests/$(DEPDIR)/tests_testapp-exist.Tpo -c -o tests/tests_testapp-exist.obj `if test -f 'tests/exist.cc'; then $(CYGPATH_W) 'tests/exist.cc'; else $(CYGPATH_W) '$(srcdir)/tests/exist.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_testapp-exist.Tpo tests/$(DEPDIR)/tests_testapp-exist.Po
+@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tests/exist.cc' object='tests/tests_testapp-exist.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_testapp_CXXFLAGS) $(CXXFLAGS) -c -o tests/tests_testapp-exist.obj `if test -f 'tests/exist.cc'; then $(CYGPATH_W) 'tests/exist.cc'; else $(CYGPATH_W) '$(srcdir)/tests/exist.cc'; fi`
+
tests/tests_testapp-ketama.o: tests/ketama.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tests_testapp_CXXFLAGS) $(CXXFLAGS) -MT tests/tests_testapp-ketama.o -MD -MP -MF tests/$(DEPDIR)/tests_testapp-ketama.Tpo -c -o tests/tests_testapp-ketama.o `test -f 'tests/ketama.cc' || echo '$(srcdir)/'`tests/ketama.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/tests_testapp-ketama.Tpo tests/$(DEPDIR)/tests_testapp-ketama.Po
@@ -6399,31 +6789,9 @@
check-local: $(TEST_DOCS)
@echo "Tests completed"
-test-x: test-plus test-memcat test-memcp test-memrm test-memerror test-memdump test-memflush test-memstat
+test-x: test-plus test-memcp test-memdump test-memflush test-memstat
@echo "Tests completed"
-test-memcat: clients/memcat clients/memcp
- @echo "Testing memcat"
- @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
- @clients/memcp --servers="localhost:12555" `pwd`/clients/memcp
- @clients/memcat --servers="localhost:12555" memcp > `pwd`/tests/scratch
- @clients/memcat --servers="localhost:12555" --file=`pwd`/tests/scratch2 memcp
-# @diff clients/memcp tests/scratch
- @cat `pwd`/tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
- @rm `pwd`/tests/Xumemc.pid
- @rm `pwd`/tests/scratch
- @rm `pwd`/tests/scratch2
-
-valgrind-memcat: clients/memcat clients/memcp
- @echo "Testing memcat"
- @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
- @clients/memcp --servers="localhost:12555" clients/memcp
- @$(VALGRIND_COMMAND) clients/memcat --servers="localhost:12555" memcp > tests/scratch
-# @diff clients/memcp tests/scratch
- @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
- @rm tests/Xumemc.pid
- @rm tests/scratch
-
test-memcp: clients/memcp
@echo "Testing memcp"
@@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
@@ -6438,22 +6806,6 @@
@cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
@rm tests/Xumemc.pid
-test-memrm: clients/memrm clients/memcp
- @echo "Testing memrm"
- @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
- @clients/memcp --servers="localhost:12555" clients/memcat
- @clients/memrm --servers="localhost:12555" memcat
- @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
- @rm tests/Xumemc.pid
-
-valgrind-memrm: clients/memcat clients/memcp
- @echo "Testing memrm"
- @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
- @clients/memcp --servers="localhost:12555" clients/memcat
- @$(VALGRIND_COMMAND) clients/memrm --servers="localhost:12555" memcat
- @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
- @rm tests/Xumemc.pid
-
test-memflush: clients/memflush
@echo "Testing memflush"
@$(MEMC_BINARY) -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
@@ -6498,23 +6850,12 @@
@cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
@rm tests/Xumemc.pid
-test-memerror: clients/memerror
- @echo "Testing memerror"
- @clients/memerror 0 > /dev/null
-
-valgrind-memerror: clients/memerror
- @echo "Testing memerror"
- @$(VALGRIND_COMMAND) clients/memerror 0 > /dev/null
-
test-mem: tests/var tests/testapp
@tests/testapp
test-sasl: tests/sasl
@tests/sasl
-test-udp: tests/var tests/testudp
- @tests/testudp
-
test-atom: tests/var tests/atomsmasher
@tests/atomsmasher
@@ -6610,18 +6951,6 @@
helgrind-hashplus: tests/hash_plus
@$(HELGRIND_COMMAND) tests/hash_plus
-helgrind: helgrind-cycle helgrind-mem helgrind-udp helgrind-plus helgrind-hash helgrind-hashplus
-cachegrind:
- rm -f tests/cachegrind.out.*
- $(LIBTOOL) --mode=execute valgrind --tool=cachegrind --cachegrind-out-file=tests/cachegrind.out.%p --branch-sim=yes tests/testapp
- cg_annotate tests/cachegrind.out.* --auto=yes > tests/cachegrind.out
-callgrind:
- rm -f tests/callgrind.out.*
- $(LIBTOOL) --mode=execute valgrind --tool=callgrind --callgrind-out-file=tests/callgrind.out.%p tests/testapp
- callgrind_annotate tests/callgrind.out.* --auto=yes > tests/callgrind.out
-
-hudson-valgrind: tests/testapp
- $(VALGRIND_COMMAND) --log-file=tests/valgrind.out tests/testapp
docs: html man
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/aclocal.m4
^
|
@@ -1103,6 +1103,7 @@
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
+m4_include([m4/ac_cxx_header_stdcxx_98.m4])
m4_include([m4/ax_pthread.m4])
m4_include([m4/ax_with_prog.m4])
m4_include([m4/bottom.m4])
@@ -1110,6 +1111,7 @@
m4_include([m4/deprecated.m4])
m4_include([m4/eagain.m4])
m4_include([m4/enable_utillib.m4])
+m4_include([m4/fnv.m4])
m4_include([m4/hsieh.m4])
m4_include([m4/lib-ld.m4])
m4_include([m4/lib-link.m4])
@@ -1124,7 +1126,6 @@
m4_include([m4/pandora_64bit.m4])
m4_include([m4/pandora_canonical.m4])
m4_include([m4/pandora_check_compiler_version.m4])
-m4_include([m4/pandora_check_cxx_standard.m4])
m4_include([m4/pandora_cinttypes.m4])
m4_include([m4/pandora_clock_gettime.m4])
m4_include([m4/pandora_cstdint.m4])
@@ -1136,7 +1137,6 @@
m4_include([m4/pandora_have_libinnodb.m4])
m4_include([m4/pandora_have_sasl.m4])
m4_include([m4/pandora_header_assert.m4])
-m4_include([m4/pandora_header_stdcxx_98.m4])
m4_include([m4/pandora_optimize.m4])
m4_include([m4/pandora_platform.m4])
m4_include([m4/pandora_use_pipe.m4])
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/clients/client_options.h
^
|
@@ -9,12 +9,11 @@
*
*/
-#ifndef __CLIENT_OPTIONS_H__
-#define __CLIENT_OPTIONS_H__
+#pragma once
typedef struct memcached_help_text_st memcached_help_text_st;
-typedef enum {
+enum memcached_options {
OPT_SERVERS= 's',
OPT_VERSION= 'V',
OPT_HELP= 'h',
@@ -39,7 +38,6 @@
OPT_USERNAME,
OPT_PASSWD,
OPT_STAT_ARGS,
+ OPT_QUIET,
OPT_FILE= 'f'
-} memcached_options;
-
-#endif /* CLIENT_OPTIONS */
+};
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/clients/generator.cc
^
|
@@ -9,12 +9,15 @@
*
*/
-#include "config.h"
+#include <config.h>
-#include <stdio.h>
-#include <stdlib.h>
#include <stdint.h>
-#include <string.h>
+
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <iostream>
+#include <unistd.h>
#include "generator.h"
@@ -40,13 +43,11 @@
void pairs_free(pairs_st *pairs)
{
- uint32_t x;
-
- if (! pairs)
+ if (pairs == NULL)
return;
/* We free until we hit the null pair we stores during creation */
- for (x= 0; pairs[x].key; x++)
+ for (uint32_t x= 0; pairs[x].key; x++)
{
free(pairs[x].key);
if (pairs[x].value)
@@ -58,27 +59,30 @@
pairs_st *pairs_generate(uint64_t number_of, size_t value_length)
{
- unsigned int x;
- pairs_st *pairs;
-
- pairs= (pairs_st*)calloc((size_t)number_of + 1, sizeof(pairs_st));
+ pairs_st *pairs= (pairs_st*)calloc((size_t)number_of + 1, sizeof(pairs_st));
- if (!pairs)
+ if (pairs == NULL)
+ {
goto error;
+ }
- for (x= 0; x < number_of; x++)
+ for (uint64_t x= 0; x < number_of; x++)
{
pairs[x].key= (char *)calloc(100, sizeof(char));
- if (!pairs[x].key)
+
+ if (pairs[x].key == NULL)
goto error;
+
get_random_string(pairs[x].key, 100);
pairs[x].key_length= 100;
if (value_length)
{
pairs[x].value= (char *)calloc(value_length, sizeof(char));
- if (!pairs[x].value)
+
+ if (pairs[x].value == NULL)
goto error;
+
get_random_string(pairs[x].value, value_length);
pairs[x].value_length= value_length;
}
@@ -91,6 +95,6 @@
return pairs;
error:
- fprintf(stderr, "Memory Allocation failure in pairs_generate.\n");
- exit(0);
+ std::cerr << "Memory Allocation failure in pairs_generate." << std::endl;
+ exit(EXIT_SUCCESS);
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/clients/include.am
^
|
@@ -16,6 +16,7 @@
clients/memcp \
clients/memdump \
clients/memerror \
+ clients/memexist \
clients/memflush \
clients/memparse \
clients/memping \
@@ -66,6 +67,9 @@
clients_memrm_SOURCES= clients/memrm.cc
clients_memrm_LDADD= $(CLIENTS_LDADDS)
+clients_memexist_SOURCES= clients/memexist.cc
+clients_memexist_LDADD= $(CLIENTS_LDADDS)
+
clients_memflush_SOURCES= clients/memflush.cc
clients_memflush_LDADD= $(CLIENTS_LDADDS)
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/clients/memcapable.cc
^
|
@@ -1335,7 +1335,10 @@
verify(strncmp(buffer, "VALUE ", 6) == 0);
char *end= strchr(buffer + 6, ' ');
verify(end != NULL);
- *end= '\0';
+ if (end)
+ {
+ *end= '\0';
+ }
*key= strdup(buffer + 6);
verify(*key != NULL);
char *ptr= end + 1;
@@ -1347,9 +1350,9 @@
*ndata = (ssize_t)strtoul(end, &end, 10); /* size */
verify(ptr != end);
verify(end != NULL);
- while (*end != '\n' && isspace(*end))
+ while (end and *end != '\n' and isspace(*end))
++end;
- verify(*end == '\n');
+ verify(end and *end == '\n');
*value= static_cast<char*>(malloc((size_t)*ndata));
verify(*value != NULL);
@@ -1383,9 +1386,11 @@
verify(ptr != end);
verify(val == datasize);
verify(end != NULL);
- while (*end != '\n' && isspace(*end))
+ while (end and *end != '\n' and isspace(*end))
+ {
++end;
- verify(*end == '\n');
+ }
+ verify(end and *end == '\n');
execute(retry_read(buffer, datasize));
verify(memcmp(buffer, value, datasize) == 0);
@@ -1444,9 +1449,11 @@
verify(val == datasize);
verify(end != NULL);
- while (*end != '\n' && isspace(*end))
+ while (end and *end != '\n' and isspace(*end))
+ {
++end;
- verify(*end == '\n');
+ }
+ verify(end and *end == '\n');
execute(retry_read(buffer, datasize));
verify(memcmp(buffer, value, datasize) == 0);
@@ -1973,17 +1980,19 @@
- while ((cmd= getopt(argc, argv, "t:vch:p:PT:?ab")) != EOF)
+ while ((cmd= getopt(argc, argv, "qt:vch:p:PT:?ab")) != EOF)
{
switch (cmd) {
case 'a':
tests.ascii= true;
tests.binary= false;
break;
+
case 'b':
tests.ascii= false;
tests.binary= true;
break;
+
case 't':
timeout= atoi(optarg);
if (timeout == 0)
@@ -1992,18 +2001,29 @@
return EXIT_FAILURE;
}
break;
+
case 'v': verbose= true;
break;
+
case 'c': do_core= true;
break;
+
case 'h': hostname= optarg;
break;
+
case 'p': port= optarg;
break;
+
+ case 'q':
+ close_stdio();
+ break;
+
case 'P': prompt= true;
break;
+
case 'T': testname= optarg;
break;
+
default:
fprintf(stderr, "Usage: %s [-h hostname] [-p port] [-c] [-v] [-t n] [-P] [-T testname]'\n"
"\t-c\tGenerate coredump if a test fails\n"
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/clients/memcat.cc
^
|
@@ -192,6 +192,7 @@
{
{(OPTIONSTRING)"version", no_argument, NULL, OPT_VERSION},
{(OPTIONSTRING)"help", no_argument, NULL, OPT_HELP},
+ {(OPTIONSTRING)"quiet", no_argument, NULL, OPT_QUIET},
{(OPTIONSTRING)"verbose", no_argument, &opt_verbose, OPT_VERBOSE},
{(OPTIONSTRING)"debug", no_argument, &opt_verbose, OPT_DEBUG},
{(OPTIONSTRING)"servers", required_argument, NULL, OPT_SERVERS},
@@ -242,6 +243,11 @@
case OPT_FILE:
opt_file= optarg;
break;
+
+ case OPT_QUIET:
+ close_stdio();
+ break;
+
case '?':
/* getopt_long already printed an error message. */
exit(1);
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/clients/memcp.cc
^
|
@@ -41,7 +41,7 @@
/* Prototypes */
static void options_parse(int argc, char *argv[]);
-static int opt_binary=0;
+static bool opt_binary= false;
static int opt_verbose= 0;
static char *opt_servers= NULL;
static char *opt_hash= NULL;
@@ -80,19 +80,14 @@
int main(int argc, char *argv[])
{
- memcached_st *memc;
- memcached_return_t rc;
- memcached_server_st *servers;
-
- int return_code= 0;
options_parse(argc, argv);
initialize_sockets();
- memc= memcached_create(NULL);
+ memcached_st *memc= memcached_create(NULL);
process_hash_option(memc, opt_hash);
- if (!opt_servers)
+ if (opt_servers == NULL)
{
char *temp;
@@ -102,15 +97,20 @@
}
else
{
- fprintf(stderr, "No Servers provided\n");
- exit(1);
+ std::cerr << "No Servers provided" << std::endl;
+ exit(EXIT_FAILURE);
}
}
+ memcached_server_st *servers;
if (opt_servers)
+ {
servers= memcached_servers_parse(opt_servers);
+ }
else
+ {
servers= memcached_servers_parse(argv[--argc]);
+ }
memcached_server_push(memc, servers);
memcached_server_list_free(servers);
@@ -135,29 +135,33 @@
}
}
+ int exit_code= EXIT_SUCCESS;
while (optind < argc)
{
- struct stat sbuf;
- int fd;
- char *ptr;
- ssize_t read_length;
- char *file_buffer_ptr;
-
- fd= open(argv[optind], O_RDONLY);
+ int fd= open(argv[optind], O_RDONLY);
if (fd < 0)
{
- fprintf(stderr, "memcp: %s: %s\n", argv[optind], strerror(errno));
- optind++;
+ if (opt_verbose)
+ {
+ fprintf(stderr, "memcp: %s: %s\n", argv[optind], strerror(errno));
+ optind++;
+ }
+ exit_code= EXIT_FAILURE;
continue;
}
+ struct stat sbuf;
(void)fstat(fd, &sbuf);
- ptr= rindex(argv[optind], '/');
+ char *ptr= rindex(argv[optind], '/');
if (ptr)
+ {
ptr++;
+ }
else
+ {
ptr= argv[optind];
+ }
if (opt_verbose)
{
@@ -168,16 +172,18 @@
ptr, opt_flags, (unsigned long)opt_expires);
}
+ char *file_buffer_ptr;
if ((file_buffer_ptr= (char *)malloc(sizeof(char) * (size_t)sbuf.st_size)) == NULL)
{
fprintf(stderr, "malloc: %s\n", strerror(errno));
- exit(1);
+ exit(EXIT_FAILURE);
}
+ ssize_t read_length;
if ((read_length= read(fd, file_buffer_ptr, (size_t)sbuf.st_size)) == -1)
{
fprintf(stderr, "read: %s\n", strerror(errno));
- exit(1);
+ exit(EXIT_FAILURE);
}
if (read_length != sbuf.st_size)
@@ -186,6 +192,7 @@
exit(1);
}
+ memcached_return_t rc;
if (opt_method == OPT_ADD)
rc= memcached_add(memc, ptr, strlen(ptr),
file_buffer_ptr, (size_t)sbuf.st_size,
@@ -207,7 +214,7 @@
fprintf(stderr, " system error %s", strerror(memcached_last_error_errno(memc)));
fprintf(stderr, "\n");
- return_code= -1;
+ exit_code= EXIT_FAILURE;
}
free(file_buffer_ptr);
@@ -222,14 +229,11 @@
if (opt_hash)
free(opt_hash);
- return return_code;
+ return exit_code;
}
static void options_parse(int argc, char *argv[])
{
- int option_index= 0;
- int option_rv;
-
memcached_programs_help_st help_options[]=
{
{0},
@@ -239,6 +243,7 @@
{
{(OPTIONSTRING)"version", no_argument, NULL, OPT_VERSION},
{(OPTIONSTRING)"help", no_argument, NULL, OPT_HELP},
+ {(OPTIONSTRING)"quiet", no_argument, NULL, OPT_QUIET},
{(OPTIONSTRING)"verbose", no_argument, &opt_verbose, OPT_VERBOSE},
{(OPTIONSTRING)"debug", no_argument, &opt_verbose, OPT_DEBUG},
{(OPTIONSTRING)"servers", required_argument, NULL, OPT_SERVERS},
@@ -254,34 +259,45 @@
{0, 0, 0, 0},
};
+ bool opt_version= false;
+ bool opt_help= false;
+ int option_index= 0;
+
while (1)
{
- option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
+ int option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
- if (option_rv == -1) break;
+ if (option_rv == -1)
+ break;
switch (option_rv)
{
case 0:
break;
case OPT_BINARY:
- opt_binary = 1;
+ opt_binary= true;
break;
+
case OPT_VERBOSE: /* --verbose or -v */
- opt_verbose = OPT_VERBOSE;
+ opt_verbose= OPT_VERBOSE;
break;
+
case OPT_DEBUG: /* --debug or -d */
- opt_verbose = OPT_DEBUG;
+ opt_verbose= OPT_DEBUG;
break;
+
case OPT_VERSION: /* --version or -V */
- version_command(PROGRAM_NAME);
+ opt_version= true;
break;
+
case OPT_HELP: /* --help or -h */
- help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, help_options);
+ opt_help= true;
break;
+
case OPT_SERVERS: /* --servers or -s */
opt_servers= strdup(optarg);
break;
+
case OPT_FLAG: /* --flag */
{
bool strtol_error;
@@ -291,8 +307,9 @@
fprintf(stderr, "Bad value passed via --flag\n");
exit(1);
}
- break;
}
+ break;
+
case OPT_EXPIRE: /* --expire */
{
bool strtol_error;
@@ -303,29 +320,53 @@
exit(1);
}
}
+ break;
+
case OPT_SET:
opt_method= OPT_SET;
break;
+
case OPT_REPLACE:
opt_method= OPT_REPLACE;
break;
+
case OPT_ADD:
opt_method= OPT_ADD;
break;
+
case OPT_HASH:
opt_hash= strdup(optarg);
break;
+
case OPT_USERNAME:
opt_username= optarg;
break;
+
case OPT_PASSWD:
opt_passwd= optarg;
break;
- case '?':
+
+ case OPT_QUIET:
+ close_stdio();
+ break;
+
+ case '?':
/* getopt_long already printed an error message. */
exit(1);
default:
abort();
}
}
+
+ if (opt_version)
+ {
+ version_command(PROGRAM_NAME);
+ exit(EXIT_SUCCESS);
+ }
+
+ if (opt_help)
+ {
+ help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, help_options);
+ exit(EXIT_SUCCESS);
+ }
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/clients/memdump.cc
^
|
@@ -35,7 +35,7 @@
/* Prototypes */
static void options_parse(int argc, char *argv[]);
-static int opt_binary=0;
+static bool opt_binary=0;
static int opt_verbose= 0;
static char *opt_servers= NULL;
static char *opt_hash= NULL;
@@ -43,47 +43,51 @@
static char *opt_passwd;
/* Print the keys and counter how many were found */
-static memcached_return_t key_printer(const memcached_st *ptr,
+static memcached_return_t key_printer(const memcached_st *,
const char *key, size_t key_length,
- void *context)
+ void *)
{
- (void)ptr;(void)context;
- printf("%.*s\n", (uint32_t)key_length, key);
+ std::cout.write(key, key_length);
+ std::cout << std::endl;
return MEMCACHED_SUCCESS;
}
int main(int argc, char *argv[])
{
- memcached_st *memc;
- memcached_return_t rc;
- memcached_server_st *servers;
memcached_dump_fn callbacks[1];
callbacks[0]= &key_printer;
options_parse(argc, argv);
- memc= memcached_create(NULL);
+ memcached_st *memc= memcached_create(NULL);
process_hash_option(memc, opt_hash);
- if (!opt_servers)
+ if (opt_servers == NULL)
{
char *temp;
if ((temp= getenv("MEMCACHED_SERVERS")))
+ {
opt_servers= strdup(temp);
+ }
else
{
- fprintf(stderr, "No Servers provided\n");
- exit(1);
+ std::cerr << "No Servers provided" << std::endl;
+ exit(EXIT_FAILURE);
}
}
+ memcached_server_st *servers;
if (opt_servers)
+ {
servers= memcached_servers_parse(opt_servers);
+ }
else
+ {
servers= memcached_servers_parse(argv[--argc]);
+ }
memcached_server_push(memc, servers);
memcached_server_list_free(servers);
@@ -108,35 +112,39 @@
}
}
- rc= memcached_dump(memc, callbacks, NULL, 1);
+ memcached_return_t rc= memcached_dump(memc, callbacks, NULL, 1);
- if (rc != MEMCACHED_SUCCESS)
+ int exit_code= EXIT_SUCCESS;
+ if (memcached_failed(rc))
{
- fprintf(stderr, "memdump: memcache error %s", memcached_strerror(memc, rc));
- if (memcached_last_error_errno(memc))
- fprintf(stderr, " system error %s", strerror(memcached_last_error_errno(memc)));
- fprintf(stderr, "\n");
+ if (opt_verbose)
+ {
+ std::cerr << "Failed to dump keys: " << memcached_last_error_message(memc) << std::endl;
+ }
+ exit_code= EXIT_FAILURE;
}
memcached_free(memc);
if (opt_servers)
+ {
free(opt_servers);
+ }
if (opt_hash)
+ {
free(opt_hash);
+ }
- return EXIT_SUCCESS;
+ return exit_code;
}
static void options_parse(int argc, char *argv[])
{
- int option_index= 0;
- int option_rv;
-
static struct option long_options[]=
{
{(OPTIONSTRING)"version", no_argument, NULL, OPT_VERSION},
{(OPTIONSTRING)"help", no_argument, NULL, OPT_HELP},
+ {(OPTIONSTRING)"quiet", no_argument, NULL, OPT_QUIET},
{(OPTIONSTRING)"verbose", no_argument, &opt_verbose, OPT_VERBOSE},
{(OPTIONSTRING)"debug", no_argument, &opt_verbose, OPT_DEBUG},
{(OPTIONSTRING)"servers", required_argument, NULL, OPT_SERVERS},
@@ -147,9 +155,12 @@
{0, 0, 0, 0}
};
+ int option_index= 0;
+ bool opt_version= false;
+ bool opt_help= false;
while (1)
{
- option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
+ int option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
if (option_rv == -1) break;
@@ -157,33 +168,47 @@
{
case 0:
break;
+
case OPT_BINARY:
- opt_binary = 1;
+ opt_binary= true;
break;
+
case OPT_VERBOSE: /* --verbose or -v */
- opt_verbose = OPT_VERBOSE;
+ opt_verbose= OPT_VERBOSE;
break;
+
case OPT_DEBUG: /* --debug or -d */
- opt_verbose = OPT_DEBUG;
+ opt_verbose= OPT_DEBUG;
break;
+
case OPT_VERSION: /* --version or -V */
- version_command(PROGRAM_NAME);
+ opt_verbose= true;
break;
+
case OPT_HELP: /* --help or -h */
- help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, NULL);
+ opt_help= true;
break;
+
case OPT_SERVERS: /* --servers or -s */
opt_servers= strdup(optarg);
break;
+
case OPT_HASH:
opt_hash= strdup(optarg);
break;
+
case OPT_USERNAME:
opt_username= optarg;
break;
+
case OPT_PASSWD:
opt_passwd= optarg;
break;
+
+ case OPT_QUIET:
+ close_stdio();
+ break;
+
case '?':
/* getopt_long already printed an error message. */
exit(1);
@@ -191,4 +216,16 @@
abort();
}
}
+
+ if (opt_version)
+ {
+ version_command(PROGRAM_NAME);
+ exit(EXIT_SUCCESS);
+ }
+
+ if (opt_help)
+ {
+ help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, NULL);
+ exit(EXIT_SUCCESS);
+ }
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/clients/memerror.cc
^
|
@@ -10,12 +10,14 @@
*/
#include "config.h"
-#include <stdio.h>
#include <inttypes.h>
-#include <string.h>
-#include <unistd.h>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
#include <getopt.h>
-#include <stdlib.h>
+#include <iostream>
+#include <unistd.h>
+
#include <libmemcached/memcached.h>
#include "utilities.h"
@@ -31,21 +33,22 @@
int main(int argc, char *argv[])
{
- unsigned long value;
options_parse(argc, argv);
if (argc != 2)
+ {
return EXIT_FAILURE;
+ }
- value= strtoul(argv[1], (char **) NULL, 10);
+ unsigned long value= strtoul(argv[1], (char **) NULL, 10);
if (value < MEMCACHED_MAXIMUM_RETURN)
{
- printf("%s\n", memcached_strerror(NULL, (memcached_return_t)value));
+ std::cout << memcached_strerror(NULL, (memcached_return_t)value) << std::endl;
}
else
{
- fprintf(stderr, "Unknown Error Code\n");
+ std::cerr << memcached_strerror(NULL, MEMCACHED_MAXIMUM_RETURN) << std::endl;
return EXIT_FAILURE;
}
@@ -55,48 +58,70 @@
void options_parse(int argc, char *argv[])
{
- int option_index= 0;
- int option_rv;
-
- memcached_programs_help_st help_options[]=
- {
- {0},
- };
-
static struct option long_options[]=
{
{(OPTIONSTRING)"version", no_argument, NULL, OPT_VERSION},
{(OPTIONSTRING)"help", no_argument, NULL, OPT_HELP},
+ {(OPTIONSTRING)"quiet", no_argument, NULL, OPT_QUIET},
{(OPTIONSTRING)"verbose", no_argument, &opt_verbose, OPT_VERBOSE},
{(OPTIONSTRING)"debug", no_argument, &opt_verbose, OPT_DEBUG},
{0, 0, 0, 0},
};
+ bool opt_version= false;
+ bool opt_help= false;
+ int option_index= 0;
while (1)
{
- option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
- if (option_rv == -1) break;
+ int option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
+ if (option_rv == -1)
+ {
+ break;
+ }
+
switch (option_rv)
{
case 0:
break;
+
case OPT_VERBOSE: /* --verbose or -v */
opt_verbose = OPT_VERBOSE;
break;
+
case OPT_DEBUG: /* --debug or -d */
opt_verbose = OPT_DEBUG;
break;
+
case OPT_VERSION: /* --version or -V */
- version_command(PROGRAM_NAME);
+ opt_version= true;
break;
+
case OPT_HELP: /* --help or -h */
- help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, help_options);
+ opt_help= true;
break;
+
+ case OPT_QUIET:
+ close_stdio();
+ break;
+
case '?':
/* getopt_long already printed an error message. */
- exit(1);
+ exit(EXIT_FAILURE);
+
default:
abort();
}
}
+
+ if (opt_version)
+ {
+ version_command(PROGRAM_NAME);
+ exit(EXIT_SUCCESS);
+ }
+
+ if (opt_help)
+ {
+ help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, NULL);
+ exit(EXIT_SUCCESS);
+ }
}
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/clients/memexist.cc
^
|
@@ -0,0 +1,236 @@
+/* LibMemcached
+ * 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:
+ *
+ */
+#include "config.h"
+
+#include <cstdio>
+#include <cstring>
+#include <getopt.h>
+#include <iostream>
+#include <unistd.h>
+
+#include <libmemcached/memcached.h>
+#include "client_options.h"
+#include "utilities.h"
+
+static int opt_binary= 0;
+static int opt_verbose= 0;
+static char *opt_servers= NULL;
+static char *opt_hash= NULL;
+static char *opt_username;
+static char *opt_passwd;
+
+#define PROGRAM_NAME "memexist"
+#define PROGRAM_DESCRIPTION "Erase a key or set of keys from a memcached cluster."
+
+/* Prototypes */
+static void options_parse(int argc, char *argv[]);
+
+int main(int argc, char *argv[])
+{
+ memcached_st *memc;
+ memcached_server_st *servers;
+
+ options_parse(argc, argv);
+ initialize_sockets();
+
+ if (opt_servers == 0)
+ {
+ char *temp;
+
+ if ((temp= getenv("MEMCACHED_SERVERS")))
+ {
+ opt_servers= strdup(temp);
+ }
+ else
+ {
+ std::cerr << "No Servers provided" << std::endl;
+ return EXIT_FAILURE;
+ }
+ }
+
+ memc= memcached_create(NULL);
+ process_hash_option(memc, opt_hash);
+
+ servers= memcached_servers_parse(opt_servers);
+ memcached_server_push(memc, servers);
+ memcached_server_list_free(servers);
+ memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL,
+ (uint64_t) opt_binary);
+
+ if (opt_username and LIBMEMCACHED_WITH_SASL_SUPPORT == 0)
+ {
+ memcached_free(memc);
+ std::cerr << "--username was supplied, but binary was not built with SASL support." << std::endl;
+ return EXIT_FAILURE;
+ }
+
+ if (opt_username)
+ {
+ memcached_return_t ret;
+ if (memcached_failed(ret= memcached_set_sasl_auth_data(memc, opt_username, opt_passwd)))
+ {
+ std::cerr << memcached_last_error_message(memc) << std::endl;
+ memcached_free(memc);
+ return EXIT_FAILURE;
+ }
+ }
+
+ int return_code= EXIT_SUCCESS;
+
+ while (optind < argc)
+ {
+ memcached_return_t rc= memcached_exist(memc, argv[optind], strlen(argv[optind]));
+
+ if (rc == MEMCACHED_NOTFOUND)
+ {
+ if (opt_verbose)
+ {
+ std::cout << "Could not find key \"" << argv[optind] << "\"" << std::endl;
+ }
+
+ return_code= EXIT_FAILURE;
+ }
+ else if (memcached_failed(rc))
+ {
+ if (opt_verbose)
+ {
+ std::cerr << "Fatal error for key \"" << argv[optind] << "\" :" << memcached_last_error_message(memc) << std::endl;
+ }
+
+ return_code= EXIT_FAILURE;
+ }
+ else // success
+ {
+ if (opt_verbose)
+ {
+ std::cout << "Found key " << argv[optind] << std::endl;
+ }
+ }
+
+ optind++;
+ }
+
+ memcached_free(memc);
+
+ if (opt_servers)
+ {
+ free(opt_servers);
+ }
+
+ if (opt_hash)
+ {
+ free(opt_hash);
+ }
+
+ return return_code;
+}
+
+
+static void options_parse(int argc, char *argv[])
+{
+ memcached_programs_help_st help_options[]=
+ {
+ {0},
+ };
+
+ static struct option long_options[]=
+ {
+ {(OPTIONSTRING)"version", no_argument, NULL, OPT_VERSION},
+ {(OPTIONSTRING)"help", no_argument, NULL, OPT_HELP},
+ {(OPTIONSTRING)"quiet", no_argument, NULL, OPT_QUIET},
+ {(OPTIONSTRING)"verbose", no_argument, &opt_verbose, OPT_VERBOSE},
+ {(OPTIONSTRING)"debug", no_argument, &opt_verbose, OPT_DEBUG},
+ {(OPTIONSTRING)"servers", required_argument, NULL, OPT_SERVERS},
+ {(OPTIONSTRING)"hash", required_argument, NULL, OPT_HASH},
+ {(OPTIONSTRING)"binary", no_argument, NULL, OPT_BINARY},
+ {(OPTIONSTRING)"username", required_argument, NULL, OPT_USERNAME},
+ {(OPTIONSTRING)"password", required_argument, NULL, OPT_PASSWD},
+ {0, 0, 0, 0},
+ };
+
+ bool opt_version= false;
+ bool opt_help= false;
+ int option_index= 0;
+
+ while (1)
+ {
+ int option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
+ if (option_rv == -1)
+ {
+ break;
+ }
+
+ switch (option_rv)
+ {
+ case 0:
+ break;
+
+ case OPT_BINARY:
+ opt_binary = 1;
+ break;
+
+ case OPT_VERBOSE: /* --verbose or -v */
+ opt_verbose = OPT_VERBOSE;
+ break;
+
+ case OPT_DEBUG: /* --debug or -d */
+ opt_verbose = OPT_DEBUG;
+ break;
+
+ case OPT_VERSION: /* --version or -V */
+ opt_version= true;
+ break;
+
+ case OPT_HELP: /* --help or -h */
+ opt_help= true;
+ break;
+
+ case OPT_SERVERS: /* --servers or -s */
+ opt_servers= strdup(optarg);
+ break;
+
+ case OPT_HASH:
+ opt_hash= strdup(optarg);
+ break;
+
+ case OPT_USERNAME:
+ opt_username= optarg;
+ break;
+
+ case OPT_PASSWD:
+ opt_passwd= optarg;
+ break;
+
+ case OPT_QUIET:
+ close_stdio();
+ break;
+
+ case '?':
+ /* getopt_long already printed an error message. */
+ exit(EXIT_SUCCESS);
+
+ default:
+ abort();
+ }
+ }
+
+ if (opt_version)
+ {
+ version_command(PROGRAM_NAME);
+ exit(EXIT_SUCCESS);
+ }
+
+ if (opt_help)
+ {
+ help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, help_options);
+ exit(EXIT_SUCCESS);
+ }
+}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/clients/memflush.cc
^
|
@@ -35,28 +35,26 @@
int main(int argc, char *argv[])
{
- memcached_st *memc;
- memcached_return_t rc;
- memcached_server_st *servers;
-
options_parse(argc, argv);
- if (!opt_servers)
+ if (opt_servers == false)
{
char *temp;
if ((temp= getenv("MEMCACHED_SERVERS")))
+ {
opt_servers= strdup(temp);
+ }
else
{
- fprintf(stderr, "No Servers provided\n");
- exit(1);
+ std::cerr << "No Servers provided" << std::endl;
+ exit(EXIT_FAILURE);
}
}
- memc= memcached_create(NULL);
+ memcached_st *memc= memcached_create(NULL);
- servers= memcached_servers_parse(opt_servers);
+ memcached_server_st *servers= memcached_servers_parse(opt_servers);
memcached_server_push(memc, servers);
memcached_server_list_free(servers);
memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL,
@@ -80,14 +78,10 @@
}
}
- rc = memcached_flush(memc, opt_expire);
+ memcached_return_t rc = memcached_flush(memc, opt_expire);
if (rc != MEMCACHED_SUCCESS)
{
- fprintf(stderr, "memflush: memcache error %s",
- memcached_strerror(memc, rc));
- if (memcached_last_error_errno(memc))
- fprintf(stderr, " system error %s", strerror(memcached_last_error_errno(memc)));
- fprintf(stderr, "\n");
+ std::cerr << memcached_last_error_message(memc) << std::endl;
}
memcached_free(memc);
@@ -100,15 +94,11 @@
void options_parse(int argc, char *argv[])
{
- memcached_programs_help_st help_options[]=
- {
- {0},
- };
-
static struct option long_options[]=
{
{(OPTIONSTRING)"version", no_argument, NULL, OPT_VERSION},
{(OPTIONSTRING)"help", no_argument, NULL, OPT_HELP},
+ {(OPTIONSTRING)"quiet", no_argument, NULL, OPT_QUIET},
{(OPTIONSTRING)"verbose", no_argument, &opt_verbose, OPT_VERBOSE},
{(OPTIONSTRING)"debug", no_argument, &opt_verbose, OPT_DEBUG},
{(OPTIONSTRING)"servers", required_argument, NULL, OPT_SERVERS},
@@ -118,49 +108,77 @@
{(OPTIONSTRING)"password", required_argument, NULL, OPT_PASSWD},
{0, 0, 0, 0},
};
- int option_index= 0;
- int option_rv;
+ bool opt_version= false;
+ bool opt_help= false;
+ int option_index= 0;
while (1)
{
- option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
+ int option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
if (option_rv == -1) break;
switch (option_rv)
{
case 0:
break;
+
case OPT_BINARY:
- opt_binary = 1;
+ opt_binary= true;
break;
+
case OPT_VERBOSE: /* --verbose or -v */
- opt_verbose = OPT_VERBOSE;
+ opt_verbose= OPT_VERBOSE;
break;
+
case OPT_DEBUG: /* --debug or -d */
- opt_verbose = OPT_DEBUG;
+ opt_verbose= OPT_DEBUG;
break;
+
case OPT_VERSION: /* --version or -V */
- version_command(PROGRAM_NAME);
+ opt_version= true;
break;
+
case OPT_HELP: /* --help or -h */
- help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, help_options);
+ opt_help= true;
break;
+
case OPT_SERVERS: /* --servers or -s */
opt_servers= strdup(optarg);
break;
+
case OPT_EXPIRE: /* --expire */
opt_expire= (time_t)strtoll(optarg, (char **)NULL, 10);
break;
+
case OPT_USERNAME:
opt_username= optarg;
break;
+
case OPT_PASSWD:
opt_passwd= optarg;
break;
+
+ case OPT_QUIET:
+ close_stdio();
+ break;
+
case '?':
/* getopt_long already printed an error message. */
- exit(1);
+ exit(EXIT_FAILURE);
+
default:
abort();
}
}
+
+ if (opt_version)
+ {
+ version_command(PROGRAM_NAME);
+ exit(EXIT_SUCCESS);
+ }
+
+ if (opt_help)
+ {
+ help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, NULL);
+ exit(EXIT_SUCCESS);
+ }
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/clients/memping.cc
^
|
@@ -21,7 +21,7 @@
#include <iostream>
-static int opt_binary= 0;
+static bool opt_binary= false;
static int opt_verbose= 0;
static time_t opt_expire= 0;
static char *opt_servers= NULL;
@@ -88,6 +88,7 @@
{
{(OPTIONSTRING)"version", no_argument, NULL, OPT_VERSION},
{(OPTIONSTRING)"help", no_argument, NULL, OPT_HELP},
+ {(OPTIONSTRING)"quiet", no_argument, NULL, OPT_QUIET},
{(OPTIONSTRING)"verbose", no_argument, &opt_verbose, OPT_VERBOSE},
{(OPTIONSTRING)"debug", no_argument, &opt_verbose, OPT_DEBUG},
{(OPTIONSTRING)"servers", required_argument, NULL, OPT_SERVERS},
@@ -97,44 +98,61 @@
{(OPTIONSTRING)"password", required_argument, NULL, OPT_PASSWD},
{0, 0, 0, 0},
};
- int option_index= 0;
- int option_rv;
+ bool opt_version= false;
+ bool opt_help= false;
+ int option_index= 0;
while (1)
{
- option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
+ int option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
+
if (option_rv == -1) break;
+
switch (option_rv)
{
case 0:
break;
+
case OPT_BINARY:
- opt_binary = 1;
+ opt_binary= true;
break;
+
case OPT_VERBOSE: /* --verbose or -v */
opt_verbose = OPT_VERBOSE;
break;
+
case OPT_DEBUG: /* --debug or -d */
opt_verbose = OPT_DEBUG;
break;
+
case OPT_VERSION: /* --version or -V */
version_command(PROGRAM_NAME);
break;
+
case OPT_HELP: /* --help or -h */
help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, help_options);
break;
+
case OPT_SERVERS: /* --servers or -s */
opt_servers= strdup(optarg);
break;
+
case OPT_EXPIRE: /* --expire */
opt_expire= (time_t)strtoll(optarg, (char **)NULL, 10);
break;
+
case OPT_USERNAME:
opt_username= optarg;
break;
+
case OPT_PASSWD:
opt_passwd= optarg;
break;
+
+ case OPT_QUIET:
+ close_stdio();
+ break;
+
case '?':
/* getopt_long already printed an error message. */
exit(1);
@@ -142,4 +160,16 @@
abort();
}
}
+
+ if (opt_version)
+ {
+ version_command(PROGRAM_NAME);
+ exit(EXIT_SUCCESS);
+ }
+
+ if (opt_help)
+ {
+ help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, help_options);
+ exit(EXIT_SUCCESS);
+ }
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/clients/memrm.cc
^
|
@@ -37,11 +37,8 @@
int main(int argc, char *argv[])
{
memcached_st *memc;
- memcached_return_t rc;
memcached_server_st *servers;
- int return_code= 0;
-
options_parse(argc, argv);
initialize_sockets();
@@ -50,7 +47,9 @@
char *temp;
if ((temp= getenv("MEMCACHED_SERVERS")))
+ {
opt_servers= strdup(temp);
+ }
else
{
std::cerr << "No Servers provided" << std::endl;
@@ -85,26 +84,39 @@
}
}
+ int return_code= EXIT_SUCCESS;
+
while (optind < argc)
{
- if (opt_verbose)
+ memcached_return_t rc= memcached_delete(memc, argv[optind], strlen(argv[optind]), opt_expire);
+
+ if (rc == MEMCACHED_NOTFOUND)
{
- std::cout << "key: " << argv[optind] << std::endl;
- std::cout << "expires: " << opt_expire << std::endl;
+ if (opt_verbose)
+ {
+ std::cerr << "Could not find key \"" << argv[optind] << "\"" << std::endl;
+ }
}
- rc= memcached_delete(memc, argv[optind], strlen(argv[optind]), opt_expire);
-
- if (memcached_failed(rc))
+ else if (memcached_failed(rc))
{
- std::cerr << PROGRAM_NAME << ": " << argv[optind] << ": error " << memcached_strerror(memc, rc) << std::endl;
-
- if (memcached_last_error_errno(memc))
+ if (opt_verbose)
{
- std::cerr << " system error " << strerror(memcached_last_error_errno(memc));
+ std::cerr << "Failed to delete key \"" << argv[optind] << "\" :" << memcached_last_error_message(memc) << std::endl;
}
- std::cerr << std::endl;
- return_code= -1;
+ return_code= EXIT_FAILURE;
+ }
+ else // success
+ {
+ if (opt_verbose)
+ {
+ std::cout << "Deleted key " << argv[optind];
+ if (opt_expire)
+ {
+ std::cout << " expires: " << opt_expire << std::endl;
+ }
+ std::cout << std::endl;
+ }
}
optind++;
@@ -113,10 +125,14 @@
memcached_free(memc);
if (opt_servers)
+ {
free(opt_servers);
+ }
if (opt_hash)
+ {
free(opt_hash);
+ }
return return_code;
}
@@ -133,6 +149,7 @@
{
{(OPTIONSTRING)"version", no_argument, NULL, OPT_VERSION},
{(OPTIONSTRING)"help", no_argument, NULL, OPT_HELP},
+ {(OPTIONSTRING)"quiet", no_argument, NULL, OPT_QUIET},
{(OPTIONSTRING)"verbose", no_argument, &opt_verbose, OPT_VERBOSE},
{(OPTIONSTRING)"debug", no_argument, &opt_verbose, OPT_DEBUG},
{(OPTIONSTRING)"servers", required_argument, NULL, OPT_SERVERS},
@@ -143,52 +160,86 @@
{(OPTIONSTRING)"password", required_argument, NULL, OPT_PASSWD},
{0, 0, 0, 0},
};
+
+ bool opt_version= false;
+ bool opt_help= false;
int option_index= 0;
- int option_rv;
while (1)
{
- option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
- if (option_rv == -1) break;
+ int option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
+ if (option_rv == -1)
+ {
+ break;
+ }
+
switch (option_rv)
{
case 0:
break;
+
case OPT_BINARY:
opt_binary = 1;
break;
+
case OPT_VERBOSE: /* --verbose or -v */
opt_verbose = OPT_VERBOSE;
break;
+
case OPT_DEBUG: /* --debug or -d */
opt_verbose = OPT_DEBUG;
break;
+
case OPT_VERSION: /* --version or -V */
- version_command(PROGRAM_NAME);
+ opt_version= true;
break;
+
case OPT_HELP: /* --help or -h */
- help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, help_options);
+ opt_help= true;
break;
+
case OPT_SERVERS: /* --servers or -s */
opt_servers= strdup(optarg);
break;
+
case OPT_EXPIRE: /* --expire */
opt_expire= (time_t)strtoll(optarg, (char **)NULL, 10);
break;
+
case OPT_HASH:
opt_hash= strdup(optarg);
break;
+
case OPT_USERNAME:
opt_username= optarg;
break;
+
case OPT_PASSWD:
opt_passwd= optarg;
break;
+
+ case OPT_QUIET:
+ close_stdio();
+ break;
+
case '?':
/* getopt_long already printed an error message. */
- exit(1);
+ exit(EXIT_SUCCESS);
+
default:
abort();
}
}
+
+ if (opt_version)
+ {
+ version_command(PROGRAM_NAME);
+ exit(EXIT_SUCCESS);
+ }
+
+ if (opt_help)
+ {
+ help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, help_options);
+ exit(EXIT_SUCCESS);
+ }
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/clients/memslap.cc
^
|
@@ -51,6 +51,7 @@
#include <sys/time.h>
#include <sys/types.h>
#include <sys/types.h>
+#include <unistd.h>
#include <libmemcached/memcached.h>
@@ -141,7 +142,7 @@
unsigned int *actual_loaded);
void flush_all(memcached_st *memc);
-static int opt_binary= 0;
+static bool opt_binary= 0;
static int opt_verbose= 0;
static int opt_flush= 0;
static int opt_non_blocking_io= 0;
@@ -360,6 +361,7 @@
{
{(OPTIONSTRING)"concurrency", required_argument, NULL, OPT_SLAP_CONCURRENCY},
{(OPTIONSTRING)"debug", no_argument, &opt_verbose, OPT_DEBUG},
+ {(OPTIONSTRING)"quiet", no_argument, NULL, OPT_QUIET},
{(OPTIONSTRING)"execute-number", required_argument, NULL, OPT_SLAP_EXECUTE_NUMBER},
{(OPTIONSTRING)"flag", no_argument, &opt_displayflag, OPT_FLAG},
{(OPTIONSTRING)"flush", no_argument, &opt_flush, OPT_FLUSH},
@@ -376,13 +378,15 @@
{0, 0, 0, 0},
};
+ bool opt_help= false;
+ bool opt_version= false;
int option_index= 0;
- int option_rv;
-
while (1)
{
- option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
+ int option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
+
if (option_rv == -1) break;
+
switch (option_rv)
{
case 0:
@@ -399,11 +403,11 @@
break;
case OPT_BINARY:
- opt_binary = 1;
+ opt_binary= true;
break;
case OPT_VERBOSE: /* --verbose or -v */
- opt_verbose = OPT_VERBOSE;
+ opt_verbose= OPT_VERBOSE;
break;
case OPT_DEBUG: /* --debug or -d */
@@ -411,11 +415,11 @@
break;
case OPT_VERSION: /* --version or -V */
- version_command(PROGRAM_NAME);
+ opt_version= true;
break;
case OPT_HELP: /* --help or -h */
- help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, help_options);
+ opt_help= true;
break;
case OPT_SERVERS: /* --servers or -s */
@@ -423,28 +427,28 @@
break;
case OPT_SLAP_TEST:
- if (!strcmp(optarg, "get"))
+ if (strcmp(optarg, "get") == 0)
{
if (opt_udp_io == 1)
{
fprintf(stderr, "You can not run a get test in UDP mode. UDP mode "
"does not currently support get ops.\n");
- exit(1);
+ exit(EXIT_FAILURE);
}
opt_test= GET_TEST ;
}
- else if (!strcmp(optarg, "set"))
+ else if (strcmp(optarg, "set") == 0)
{
opt_test= SET_TEST;
}
- else if (!strcmp(optarg, "mget"))
+ else if (strcmp(optarg, "mget") == 0)
{
opt_test= MGET_TEST;
}
else
{
fprintf(stderr, "Your test, %s, is not a known test\n", optarg);
- exit(1);
+ exit(EXIT_FAILURE);
}
break;
@@ -460,16 +464,33 @@
opt_createial_load= (unsigned int)strtoul(optarg, (char **)NULL, 10);
break;
+ case OPT_QUIET:
+ close_stdio();
+ break;
+
+
case '?':
/* getopt_long already printed an error message. */
- exit(1);
+ exit(EXIT_FAILURE);
default:
abort();
}
}
- if ((opt_test == GET_TEST or opt_test == MGET_TEST) && opt_createial_load == 0)
+ if (opt_version)
+ {
+ version_command(PROGRAM_NAME);
+ exit(EXIT_SUCCESS);
+ }
+
+ if (opt_help)
+ {
+ help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, help_options);
+ exit(EXIT_SUCCESS);
+ }
+
+ if ((opt_test == GET_TEST or opt_test == MGET_TEST) and opt_createial_load == 0)
opt_createial_load= DEFAULT_INITIAL_LOAD;
if (opt_execute_number == 0)
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/clients/memstat.cc
^
|
@@ -11,13 +11,15 @@
* Brian Aker
* Toru Maesaka
*/
-#include "config.h"
+#include <config.h>
#include <cstdio>
#include <cstring>
#include <ctime>
+#include <iostream>
#include <fcntl.h>
#include <getopt.h>
+#include <unistd.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
@@ -49,6 +51,7 @@
{(OPTIONSTRING)"args", required_argument, NULL, OPT_STAT_ARGS},
{(OPTIONSTRING)"version", no_argument, NULL, OPT_VERSION},
{(OPTIONSTRING)"help", no_argument, NULL, OPT_HELP},
+ {(OPTIONSTRING)"quiet", no_argument, NULL, OPT_QUIET},
{(OPTIONSTRING)"verbose", no_argument, &opt_verbose, OPT_VERBOSE},
{(OPTIONSTRING)"debug", no_argument, &opt_verbose, OPT_DEBUG},
{(OPTIONSTRING)"servers", required_argument, NULL, OPT_SERVERS},
@@ -83,17 +86,17 @@
options_parse(argc, argv);
initialize_sockets();
- if (! opt_servers)
+ if (opt_servers == false)
{
char *temp;
-
if ((temp= getenv("MEMCACHED_SERVERS")))
+ {
opt_servers= strdup(temp);
+ }
else
{
- fprintf(stderr, "No Servers provided\n\n");
- help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, 0);
- exit(1);
+ std::cerr << "No Servers provided" << std::endl;
+ return EXIT_FAILURE;
}
}
@@ -307,38 +310,54 @@
};
int option_index= 0;
- int option_rv;
+ bool opt_version= false;
+ bool opt_help= false;
while (1)
{
- option_rv= getopt_long(argc, argv, "Vhvds:a", long_options, &option_index);
- if (option_rv == -1) break;
+ int option_rv= getopt_long(argc, argv, "Vhvds:a", long_options, &option_index);
+
+ if (option_rv == -1)
+ break;
+
switch (option_rv)
{
case 0:
break;
+
case OPT_VERBOSE: /* --verbose or -v */
opt_verbose = OPT_VERBOSE;
break;
+
case OPT_DEBUG: /* --debug or -d */
opt_verbose = OPT_DEBUG;
break;
+
case OPT_VERSION: /* --version or -V */
- version_command(PROGRAM_NAME);
+ opt_version= true;
break;
+
case OPT_HELP: /* --help or -h */
- help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, help_options);
+ opt_help= true;
break;
+
case OPT_SERVERS: /* --servers or -s */
opt_servers= strdup(optarg);
break;
+
case OPT_STAT_ARGS:
stat_args= strdup(optarg);
break;
+
case OPT_ANALYZE: /* --analyze or -a */
opt_analyze= OPT_ANALYZE;
analyze_mode= (optarg) ? strdup(optarg) : NULL;
break;
+
+ case OPT_QUIET:
+ close_stdio();
+ break;
+
case '?':
/* getopt_long already printed an error message. */
exit(1);
@@ -346,4 +365,16 @@
abort();
}
}
+
+ if (opt_version)
+ {
+ version_command(PROGRAM_NAME);
+ exit(EXIT_SUCCESS);
+ }
+
+ if (opt_help)
+ {
+ help_command(PROGRAM_NAME, PROGRAM_DESCRIPTION, long_options, help_options);
+ exit(EXIT_SUCCESS);
+ }
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/clients/utilities.cc
^
|
@@ -8,12 +8,18 @@
* Summary:
*
*/
-#include "config.h"
+#include <config.h>
#include <clients/utilities.h>
+
#include <cstdio>
+#include <cstdlib>
#include <cstring>
#include <ctype.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
long int timedif(struct timeval a, struct timeval b)
@@ -30,9 +36,41 @@
void version_command(const char *command_name)
{
printf("%s v%u.%u\n", command_name, 1U, 0U);
- exit(0);
+ exit(EXIT_SUCCESS);
}
+void close_stdio(void)
+{
+ int fd;
+ if ((fd = open("/dev/null", O_RDWR, 0)) < 0)
+ {
+ return;
+ }
+ else
+ {
+ if (dup2(fd, STDIN_FILENO) < 0)
+ {
+ return;
+ }
+
+ if (dup2(fd, STDOUT_FILENO) < 0)
+ {
+ return;
+ }
+
+ if (dup2(fd, STDERR_FILENO) < 0)
+ {
+ return;
+ }
+
+ if (fd > STDERR_FILENO)
+ {
+ close(fd);
+ }
+ }
+}
+
+
static const char *lookup_help(memcached_options option)
{
switch (option)
@@ -41,6 +79,7 @@
case OPT_VERSION: return("Display the version of the application and then exit.");
case OPT_HELP: return("Display this message and then exit.");
case OPT_VERBOSE: return("Give more details on the progression of the application.");
+ case OPT_QUIET: return("stderr and stdin will be closed at application startup.");
case OPT_DEBUG: return("Provide output only useful for debugging.");
case OPT_FLAG: return("Provide flag information for storage operation.");
case OPT_EXPIRE: return("Set the expire option for the object.");
@@ -91,7 +130,7 @@
}
printf("\n");
- exit(0);
+ exit(EXIT_SUCCESS);
}
void process_hash_option(memcached_st *memc, char *opt_hash)
@@ -104,26 +143,36 @@
set= MEMCACHED_HASH_DEFAULT; /* Just here to solve warning */
if (!strcasecmp(opt_hash, "CRC"))
+ {
set= MEMCACHED_HASH_CRC;
+ }
else if (!strcasecmp(opt_hash, "FNV1_64"))
+ {
set= MEMCACHED_HASH_FNV1_64;
+ }
else if (!strcasecmp(opt_hash, "FNV1A_64"))
+ {
set= MEMCACHED_HASH_FNV1A_64;
+ }
else if (!strcasecmp(opt_hash, "FNV1_32"))
+ {
set= MEMCACHED_HASH_FNV1_32;
+ }
else if (!strcasecmp(opt_hash, "FNV1A_32"))
+ {
set= MEMCACHED_HASH_FNV1A_32;
+ }
else
{
fprintf(stderr, "hash: type not recognized %s\n", opt_hash);
- exit(1);
+ exit(EXIT_FAILURE);
}
rc= memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, set);
if (rc != MEMCACHED_SUCCESS)
{
fprintf(stderr, "hash: memcache error %s\n", memcached_strerror(memc, rc));
- exit(1);
+ exit(EXIT_FAILURE);
}
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/clients/utilities.h
^
|
@@ -58,6 +58,7 @@
bool initialize_sasl(memcached_st *memc, char *user, char *password);
void shutdown_sasl(void);
void initialize_sockets(void);
+void close_stdio(void);
#ifdef __cplusplus
} // extern "C"
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/config.in
^
|
@@ -86,6 +86,9 @@
/* Define to 1 if you have the <fnmatch.h> header file. */
#undef HAVE_FNMATCH_H
+/* Enables fnv64 hashing support */
+#undef HAVE_FNV64_HASH
+
/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/configure
^
|
@@ -1,7 +1,7 @@
#! /bin/sh
# Grabbing changelog and version information from bzr
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libmemcached 0.52.
+# Generated by GNU Autoconf 2.68 for libmemcached 0.53.
#
# Report bugs to <http://libmemcached.org/>.
#
@@ -571,8 +571,8 @@
# Identity of this package.
PACKAGE_NAME='libmemcached'
PACKAGE_TARNAME='libmemcached'
-PACKAGE_VERSION='0.52'
-PACKAGE_STRING='libmemcached 0.52'
+PACKAGE_VERSION='0.53'
+PACKAGE_STRING='libmemcached 0.53'
PACKAGE_BUGREPORT='http://libmemcached.org/'
PACKAGE_URL=''
@@ -748,13 +748,13 @@
NO_REDUNDANT_DECLS
NO_CONVERSION
LIBC_P
-LIBM
CXX_VERSION
CC_VERSION
-CXX_STANDARD
PANDORA_OPTIMIZE_BITFIELD
BUILD_WIN32_FALSE
BUILD_WIN32_TRUE
+TARGET_LINUX_FALSE
+TARGET_LINUX_TRUE
TARGET_WINDOWS
TARGET_FREEBSD
TARGET_SOLARIS
@@ -900,6 +900,7 @@
enable_utils
enable_hsieh_hash
enable_murmur_hash
+enable_fnv64_hash
enable_memaslap
enable_deprecated
enable_libinnodb
@@ -1466,7 +1467,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libmemcached 0.52 to adapt to many kinds of systems.
+\`configure' configures libmemcached 0.53 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1537,7 +1538,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libmemcached 0.52:";;
+ short | recursive ) echo "Configuration of libmemcached 0.53:";;
esac
cat <<\_ACEOF
@@ -1571,6 +1572,7 @@
--disable-utils Disable libmemcachedutils [default=on]
--enable-hsieh_hash build with support for hsieh hashing. [default=off]
--disable-murmur_hash build with support for murmur hashing. [default=on]
+ --disable-fnv64_hash build with support for fnv64 hashing. [default=on]
--enable-memaslap build with memaslap tool. [default=off]
--enable-deprecated Enable deprecated interface [default=off]
--disable-libinnodb Build with libinnodb support [default=on]
@@ -1691,7 +1693,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libmemcached configure 0.52
+libmemcached configure 0.53
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2632,7 +2634,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libmemcached $as_me 0.52, which was
+It was created by libmemcached $as_me 0.53, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -3564,7 +3566,7 @@
# Define the identity of the package.
PACKAGE='libmemcached'
- VERSION='0.52'
+ VERSION='0.53'
cat >>confdefs.h <<_ACEOF
@@ -6082,7 +6084,7 @@
# Define the identity of the package.
PACKAGE='libmemcached'
- VERSION='0.52'
+ VERSION='0.53'
cat >>confdefs.h <<_ACEOF
@@ -6433,6 +6435,14 @@
AM_CFLAGS="${AM_CFLAGS} -I\${top_srcdir}/win32/mingw -I\${top_builddir}/win32/mingw -I\${top_srcdir}/win32 -I\${top_builddir}/win32"
;;
esac
+ if test "x${TARGET_LINUX}" = "xtrue"; then
+ TARGET_LINUX_TRUE=
+ TARGET_LINUX_FALSE='#'
+else
+ TARGET_LINUX_TRUE='#'
+ TARGET_LINUX_FALSE=
+fi
+
if test "x${TARGET_WINDOWS}" = "xtrue"; then
BUILD_WIN32_TRUE=
BUILD_WIN32_FALSE='#'
@@ -6485,124 +6495,7 @@
-
- if test "$GCC" = "yes"; then :
- if test "$ac_cv_cxx_compile_cxx0x_native" = "yes"; then :
-
-else
- if test "$ac_cv_cxx_compile_cxx0x_gxx" = "yes"; then :
- CXX_STANDARD="-std=gnu++0x"
-else
- CXX_STANDARD="-std=gnu++98"
-fi
-
-fi
-
-fi
- AM_CXXFLAGS="${CXX_STANDARD} ${AM_CXXFLAGS}"
-
- save_CXXFLAGS="${CXXFLAGS}"
- CXXFLAGS="${CXXFLAGS} ${CXX_STANDARD}"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C++ 98 include files" >&5
-$as_echo_n "checking for ISO C++ 98 include files... " >&6; }
-if ${ac_cv_cxx_stdcxx_98+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #include <cassert>
- #include <cctype>
- #include <cerrno>
- #include <cfloat>
- #include <ciso646>
- #include <climits>
- #include <clocale>
- #include <cmath>
- #include <csetjmp>
- #include <csignal>
- #include <cstdarg>
- #include <cstddef>
- #include <cstdio>
- #include <cstdlib>
- #include <cstring>
- #include <ctime>
-
- #include <algorithm>
- #include <bitset>
- #include <complex>
- #include <deque>
- #include <exception>
- #include <fstream>
- #include <functional>
- #include <iomanip>
- #include <ios>
- #include <iosfwd>
- #include <iostream>
- #include <istream>
- #include <iterator>
- #include <limits>
- #include <list>
- #include <locale>
- #include <map>
- #include <memory>
- #include <new>
- #include <numeric>
- #include <ostream>
- #include <queue>
- #include <set>
- #include <sstream>
- #include <stack>
- #include <stdexcept>
- #include <streambuf>
- #include <string>
- #include <typeinfo>
- #include <utility>
- #include <valarray>
- #include <vector>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- ac_cv_cxx_stdcxx_98=yes
-else
- ac_cv_cxx_stdcxx_98=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_stdcxx_98" >&5
-$as_echo "$ac_cv_cxx_stdcxx_98" >&6; }
- if test "$ac_cv_cxx_stdcxx_98" = yes; then
-
-$as_echo "#define STDCXX_98_HEADERS /**/" >>confdefs.h
-
- fi
-
- CXXFLAGS="${save_CXXFLAGS}"
-
-
-
+ PANDORA_CHECK_CXX_STANDARD
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the location of cstdint" >&5
$as_echo_n "checking the location of cstdint... " >&6; }
@@ -7768,140 +7661,6 @@
fi
- LIBM=
-case $host in
-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
- # These system don't have libm, or don't need it
- ;;
-*-ncr-sysv4.3*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _mwvalidcheckl in -lmw" >&5
-$as_echo_n "checking for _mwvalidcheckl in -lmw... " >&6; }
-if ${ac_cv_lib_mw__mwvalidcheckl+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lmw $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char _mwvalidcheckl ();
-int
-main ()
-{
-return _mwvalidcheckl ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_mw__mwvalidcheckl=yes
-else
- ac_cv_lib_mw__mwvalidcheckl=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mw__mwvalidcheckl" >&5
-$as_echo "$ac_cv_lib_mw__mwvalidcheckl" >&6; }
-if test "x$ac_cv_lib_mw__mwvalidcheckl" = xyes; then :
- LIBM="-lmw"
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
-$as_echo_n "checking for cos in -lm... " >&6; }
-if ${ac_cv_lib_m_cos+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char cos ();
-int
-main ()
-{
-return cos ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_m_cos=yes
-else
- ac_cv_lib_m_cos=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
-$as_echo "$ac_cv_lib_m_cos" >&6; }
-if test "x$ac_cv_lib_m_cos" = xyes; then :
- LIBM="$LIBM -lm"
-fi
-
- ;;
-*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
-$as_echo_n "checking for cos in -lm... " >&6; }
-if ${ac_cv_lib_m_cos+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char cos ();
-int
-main ()
-{
-return cos ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_m_cos=yes
-else
- ac_cv_lib_m_cos=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
-$as_echo "$ac_cv_lib_m_cos" >&6; }
-if test "x$ac_cv_lib_m_cos" = xyes; then :
- LIBM="-lm"
-fi
-
- ;;
-esac
-
-
-
-
ac_fn_c_check_func "$LINENO" "setsockopt" "ac_cv_func_setsockopt"
if test "x$ac_cv_func_setsockopt" = xyes; then :
@@ -8018,8 +7777,6 @@
;;
esac
- CC="${CC} -std=gnu99"
-
AM_CPPFLAGS="-g ${AM_CPPFLAGS}"
DEBUG_CFLAGS="-O0"
@@ -9890,7 +9647,7 @@
fi
- AM_CFLAGS="${AM_CFLAGS} ${CC_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
+ AM_CFLAGS="-std=c99 ${AM_CFLAGS} ${CC_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
AM_CXXFLAGS="${AM_CXXFLAGS} ${CXX_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
@@ -22433,6 +22190,20 @@
fi
+# Check whether --enable-fnv64_hash was given.
+if test "${enable_fnv64_hash+set}" = set; then :
+ enableval=$enable_fnv64_hash; ac_cv_enable_fnv64_hash=no
+else
+ ac_cv_enable_fnv64_hash=yes
+fi
+
+
+ if test "$ac_cv_enable_fnv64_hash" = "yes"; then :
+
+$as_echo "#define HAVE_FNV64_HASH 1" >>confdefs.h
+
+fi
+
# Check whether --enable-memaslap was given.
if test "${enable_memaslap+set}" = set; then :
enableval=$enable_memaslap; ac_cv_enable_memaslap=yes
@@ -24539,6 +24310,7 @@
fi
done
+
for ac_header in arpa/inet.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "$ac_includes_default"
@@ -24659,6 +24431,103 @@
done
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C++ 98 include files" >&5
+$as_echo_n "checking for ISO C++ 98 include files... " >&6; }
+if ${ac_cv_cxx_stdcxx_98+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <cassert>
+ #include <cctype>
+ #include <cerrno>
+ #include <cfloat>
+ #include <ciso646>
+ #include <climits>
+ #include <clocale>
+ #include <cmath>
+ #include <csetjmp>
+ #include <csignal>
+ #include <cstdarg>
+ #include <cstddef>
+ #include <cstdio>
+ #include <cstdlib>
+ #include <cstring>
+ #include <ctime>
+
+ #include <algorithm>
+ #include <bitset>
+ #include <complex>
+ #include <deque>
+ #include <exception>
+ #include <fstream>
+ #include <functional>
+ #include <iomanip>
+ #include <ios>
+ #include <iosfwd>
+ #include <iostream>
+ #include <istream>
+ #include <iterator>
+ #include <limits>
+ #include <list>
+ #include <locale>
+ #include <map>
+ #include <memory>
+ #include <new>
+ #include <numeric>
+ #include <ostream>
+ #include <queue>
+ #include <set>
+ #include <sstream>
+ #include <stack>
+ #include <stdexcept>
+ #include <streambuf>
+ #include <string>
+ #include <typeinfo>
+ #include <utility>
+ #include <valarray>
+ #include <vector>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_cxx_stdcxx_98=yes
+else
+ ac_cv_cxx_stdcxx_98=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_stdcxx_98" >&5
+$as_echo "$ac_cv_cxx_stdcxx_98" >&6; }
+ if test "$ac_cv_cxx_stdcxx_98" = yes; then
+
+$as_echo "#define STDCXX_98_HEADERS /**/" >>confdefs.h
+
+ fi
+
+
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
@@ -26020,6 +25889,10 @@
as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${TARGET_LINUX_TRUE}" && test -z "${TARGET_LINUX_FALSE}"; then
+ as_fn_error $? "conditional \"TARGET_LINUX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${BUILD_WIN32_TRUE}" && test -z "${BUILD_WIN32_FALSE}"; then
as_fn_error $? "conditional \"BUILD_WIN32\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -26526,7 +26399,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libmemcached $as_me 0.52, which was
+This file was extended by libmemcached $as_me 0.53, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -26592,7 +26465,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-libmemcached config.status 0.52
+libmemcached config.status 0.53
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/configure.ac
^
|
@@ -7,7 +7,7 @@
# Use and distribution licensed under the BSD license. See
# the COPYING file in this directory for full text.
-AC_INIT([libmemcached],[0.52],[http://libmemcached.org/])
+AC_INIT([libmemcached],[0.53],[http://libmemcached.org/])
AC_CONFIG_AUX_DIR(config)
@@ -92,6 +92,7 @@
SETSOCKOPT_SANITY
ENABLE_HSIEH_HASH
ENABLE_MURMUR_HASH
+ENABLE_FNV64_HASH
ENABLE_MEMASLAP
PROTOCOL_BINARY_TEST
ENABLE_DEPRECATED
@@ -116,6 +117,7 @@
AC_CHECK_FUNCS([strtol])
AC_CHECK_FUNCS([strtoul])
AC_CHECK_FUNCS([strtoull])
+
AC_CHECK_HEADERS([arpa/inet.h])
AC_CHECK_HEADERS([fcntl.h])
AC_CHECK_HEADERS([libintl.h])
@@ -126,6 +128,8 @@
AC_CHECK_HEADERS([stddef.h])
AC_CHECK_HEADERS([sys/time.h])
AC_CHECK_HEADERS([sasl/sasl.h])
+AC_CXX_HEADER_STDCXX_98
+
AC_FUNC_ALLOCA
AC_FUNC_ERROR_AT_LINE
AC_FUNC_FORK
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/conf.py.in
^
|
@@ -263,6 +263,8 @@
('memcached_create', 'memcached_servers_reset', u'libmemcached Documentation', [u'Brian Aker'], 3),
('memcached_delete', 'memcached_delete', u'libmemcached Documentation', [u'Brian Aker'], 3),
('memcached_delete', 'memcached_delete_by_key', u'libmemcached Documentation', [u'Brian Aker'], 3),
+ ('libmemcached/memcached_exist', 'memcached_exist', u'libmemcached Documentation', [u'Brian Aker'], 3),
+ ('libmemcached/memcached_exist', 'memcached_exist_by_key', u'libmemcached Documentation', [u'Brian Aker'], 3),
('memcached_dump', 'memcached_dump', u'libmemcached Documentation', [u'Brian Aker'], 3),
('memcached_flush', 'memcached_flush', u'libmemcached Documentation', [u'Brian Aker'], 3),
('memcached_flush_buffers', 'memcached_flush_buffers', u'libmemcached Documentation', [u'Brian Aker'], 3),
@@ -288,9 +290,10 @@
('memcached_pool', 'memcached_pool_behavior_set', u'libmemcached Documentation', [u'Brian Aker'], 3),
('memcached_pool', 'memcached_pool_create', u'libmemcached Documentation', [u'Brian Aker'], 3),
('memcached_pool', 'memcached_pool_destroy', u'libmemcached Documentation', [u'Brian Aker'], 3),
+ ('memcached_pool', 'memcached_pool_fetch', u'libmemcached Documentation', [u'Brian Aker'], 3),
('memcached_pool', 'memcached_pool_pop', u'libmemcached Documentation', [u'Brian Aker'], 3),
('memcached_pool', 'memcached_pool_push', u'libmemcached Documentation', [u'Brian Aker'], 3),
- ('memcached_pool', 'memcached_pool_push', u'libmemcached Documentation', [u'Brian Aker'], 3),
+ ('memcached_pool', 'memcached_pool_release', u'libmemcached Documentation', [u'Brian Aker'], 3),
('memcached_pool', 'memcached_pool_st', u'libmemcached Documentation', [u'Brian Aker'], 3),
('memcached_quit', 'memcached_quit', u'libmemcached Documentation', [u'Brian Aker'], 3),
('memcached_result_st', 'memcached_result_cas', u'Working with result sets', [u'Brian Aker'], 3),
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/include.am
^
|
@@ -54,6 +54,8 @@
docs/man/memcached_decrement_with_initial.3 \
docs/man/memcached_delete.3 \
docs/man/memcached_delete_by_key.3 \
+ docs/man/memcached_exist.3 \
+ docs/man/memcached_exist_by_key.3 \
docs/man/memcached_destroy_sasl_auth_data.3 \
docs/man/memcached_dump.3 \
docs/man/memcached_fetch.3 \
@@ -78,12 +80,15 @@
docs/man/memcached_mget_by_key.3 \
docs/man/memcached_mget_execute.3 \
docs/man/memcached_mget_execute_by_key.3 \
+ docs/man/memcached_pool.3 \
docs/man/memcached_pool_behavior_get.3 \
docs/man/memcached_pool_behavior_set.3 \
docs/man/memcached_pool_create.3 \
docs/man/memcached_pool_destroy.3 \
+ docs/man/memcached_pool_fetch.3 \
docs/man/memcached_pool_pop.3 \
docs/man/memcached_pool_push.3 \
+ docs/man/memcached_pool_release.3 \
docs/man/memcached_pool_st.3 \
docs/man/memcached_prepend.3 \
docs/man/memcached_prepend_by_key.3 \
@@ -124,7 +129,6 @@
docs/man/memslap.1 \
docs/man/memstat.1
-
if HAVE_SPHINX
sphinx-help:
@echo "Please use \`make <target>' where <target> is one of"
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/hashkit_clone.3
^
|
@@ -1,4 +1,4 @@
-.TH "HASHKIT_CLONE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_CLONE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
hashkit_clone \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/hashkit_crc32.3
^
|
@@ -1,4 +1,4 @@
-.TH "HASHKIT_CRC32" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_CRC32" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
hashkit_crc32 \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/hashkit_create.3
^
|
@@ -1,4 +1,4 @@
-.TH "HASHKIT_CREATE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_CREATE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
hashkit_create \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/hashkit_fnv1_32.3
^
|
@@ -1,4 +1,4 @@
-.TH "HASHKIT_FNV1_32" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_FNV1_32" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
hashkit_fnv1_32 \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/hashkit_fnv1_64.3
^
|
@@ -1,4 +1,4 @@
-.TH "HASHKIT_FNV1_64" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_FNV1_64" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
hashkit_fnv1_64 \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/hashkit_fnv1a_32.3
^
|
@@ -1,4 +1,4 @@
-.TH "HASHKIT_FNV1A_32" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_FNV1A_32" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
hashkit_fnv1a_32 \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/hashkit_fnv1a_64.3
^
|
@@ -1,4 +1,4 @@
-.TH "HASHKIT_FNV1A_64" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_FNV1A_64" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
hashkit_fnv1a_64 \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/hashkit_free.3
^
|
@@ -1,4 +1,4 @@
-.TH "HASHKIT_FREE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_FREE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
hashkit_free \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/hashkit_functions.3
^
|
@@ -1,4 +1,4 @@
-.TH "HASHKIT_FUNCTIONS" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_FUNCTIONS" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
hashkit_functions \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/hashkit_hsieh.3
^
|
@@ -1,4 +1,4 @@
-.TH "HASHKIT_HSIEH" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_HSIEH" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
hashkit_hsieh \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/hashkit_is_allocated.3
^
|
@@ -1,4 +1,4 @@
-.TH "HASHKIT_IS_ALLOCATED" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_IS_ALLOCATED" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
hashkit_is_allocated \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/hashkit_jenkins.3
^
|
@@ -1,4 +1,4 @@
-.TH "HASHKIT_JENKINS" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_JENKINS" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
hashkit_jenkins \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/hashkit_md5.3
^
|
@@ -1,4 +1,4 @@
-.TH "HASHKIT_MD5" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_MD5" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
hashkit_md5 \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/hashkit_murmur.3
^
|
@@ -1,4 +1,4 @@
-.TH "HASHKIT_MURMUR" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_MURMUR" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
hashkit_murmur \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/hashkit_value.3
^
|
@@ -1,4 +1,4 @@
-.TH "HASHKIT_VALUE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_VALUE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
hashkit_value \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/libhashkit.3
^
|
@@ -1,4 +1,4 @@
-.TH "LIBHASHKIT" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "LIBHASHKIT" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
libhashkit \- libhashkit Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/libmemcached.3
^
|
@@ -1,4 +1,4 @@
-.TH "LIBMEMCACHED" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "LIBMEMCACHED" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
libmemcached \- Introducing the C Client Library for memcached
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/libmemcached_check_configuration.3
^
|
@@ -1,4 +1,4 @@
-.TH "LIBMEMCACHED_CHECK_CONFIGURATION" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "LIBMEMCACHED_CHECK_CONFIGURATION" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
libmemcached_check_configuration \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/libmemcached_configuration.3
^
|
@@ -1,4 +1,4 @@
-.TH "LIBMEMCACHED_CONFIGURATION" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "LIBMEMCACHED_CONFIGURATION" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
libmemcached_configuration \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/libmemcached_examples.3
^
|
@@ -1,4 +1,4 @@
-.TH "LIBMEMCACHED_EXAMPLES" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "LIBMEMCACHED_EXAMPLES" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
libmemcached_examples \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/libmemcachedutil.3
^
|
@@ -1,4 +1,4 @@
-.TH "LIBMEMCACHEDUTIL" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "LIBMEMCACHEDUTIL" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
libmemcachedutil \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memaslap.1
^
|
@@ -1,4 +1,4 @@
-.TH "MEMASLAP" "1" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMASLAP" "1" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memaslap \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_add.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_ADD" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_ADD" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_add \- Storing and Replacing Data
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_add_by_key.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_ADD_BY_KEY" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_ADD_BY_KEY" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_add_by_key \- Storing and Replacing Data
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_analyze.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_ANALYZE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_ANALYZE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_analyze \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_append.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_APPEND" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_APPEND" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_append \- Appending to or Prepending to data on the server
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_append_by_key.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_APPEND_BY_KEY" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_APPEND_BY_KEY" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_append_by_key \- Appending to or Prepending to data on the server
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_behavior_get.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_BEHAVIOR_GET" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_BEHAVIOR_GET" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_behavior_get \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_behavior_set.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_BEHAVIOR_SET" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_BEHAVIOR_SET" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_behavior_set \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_callback_get.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_CALLBACK_GET" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_CALLBACK_GET" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_callback_get \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_callback_set.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_CALLBACK_SET" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_CALLBACK_SET" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_callback_set \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_cas.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_CAS" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_CAS" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_cas \- Working with data on the server in an atomic fashion
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_cas_by_key.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_CAS_BY_KEY" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_CAS_BY_KEY" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_cas_by_key \- Storing and Replacing Data
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_clone.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_CLONE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_CLONE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_clone \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_create.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_CREATE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_CREATE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_create \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_decrement.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_DECREMENT" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_DECREMENT" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_decrement \- Incrementing and Decrementing Values
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_decrement_with_initial.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_DECREMENT_WITH_INITIAL" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_DECREMENT_WITH_INITIAL" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_decrement_with_initial \- Incrementing and Decrementing Values
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_delete.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_DELETE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_DELETE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_delete \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_delete_by_key.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_DELETE_BY_KEY" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_DELETE_BY_KEY" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_delete_by_key \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_destroy_sasl_auth_data.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_DESTROY_SASL_AUTH_DATA" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_DESTROY_SASL_AUTH_DATA" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_destroy_sasl_auth_data \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_dump.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_DUMP" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_DUMP" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_dump \- libmemcached Documentation
.
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/docs/man/memcached_exist.3
^
|
@@ -0,0 +1,69 @@
+.TH "MEMCACHED_EXIST" "3" "September 28, 2011" "0.53" "libmemcached"
+.SH NAME
+memcached_exist \- libmemcached Documentation
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" Man page generated from reStructeredText.
+.
+.SH SYNOPSIS
+.sp
+#include <libmemcached/memcached.h>
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_exist(memcached_st\fI\ *ptr\fP, char\fI\ *key\fP, size_t\fI\ *key_length\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_exist_by_key(memcached_st\fI\ *ptr\fP, char\fI\ *group_key\fP, size_t\fI\ *group_key_length\fP, char\fI\ *key\fP, size_t\fI\ *key_length\fP)
+.sp
+New in version 0.53.
+.UNINDENT
+.sp
+Compile and link with \-lmemcached
+.SH DESCRIPTION
+.sp
+\fI\%memcached_exist()\fP can be used to check to see if a key exists. No value is returned if the key exists, or does not exist, on the server.
+.SH RETURN
+.sp
+\fI\%memcached_exist()\fP sets error to
+to \fBMEMCACHED_SUCCESS\fP upon finding that the key exists.
+\fBMEMCACHED_NOTFOUND\fP will be return if the key is not found.
+.SH HOME
+.sp
+To find out more information please check:
+\fI\%http://libmemcached.org/\fP
+.SH SEE ALSO
+.sp
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
+.SH AUTHOR
+Brian Aker
+.SH COPYRIGHT
+2011, Brian Aker DataDifferential, http://datadifferential.com/
+.\" Generated by docutils manpage writer.
+.\"
+.
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/docs/man/memcached_exist_by_key.3
^
|
@@ -0,0 +1,69 @@
+.TH "MEMCACHED_EXIST_BY_KEY" "3" "September 28, 2011" "0.53" "libmemcached"
+.SH NAME
+memcached_exist_by_key \- libmemcached Documentation
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" Man page generated from reStructeredText.
+.
+.SH SYNOPSIS
+.sp
+#include <libmemcached/memcached.h>
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_exist(memcached_st\fI\ *ptr\fP, char\fI\ *key\fP, size_t\fI\ *key_length\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_exist_by_key(memcached_st\fI\ *ptr\fP, char\fI\ *group_key\fP, size_t\fI\ *group_key_length\fP, char\fI\ *key\fP, size_t\fI\ *key_length\fP)
+.sp
+New in version 0.53.
+.UNINDENT
+.sp
+Compile and link with \-lmemcached
+.SH DESCRIPTION
+.sp
+\fI\%memcached_exist()\fP can be used to check to see if a key exists. No value is returned if the key exists, or does not exist, on the server.
+.SH RETURN
+.sp
+\fI\%memcached_exist()\fP sets error to
+to \fBMEMCACHED_SUCCESS\fP upon finding that the key exists.
+\fBMEMCACHED_NOTFOUND\fP will be return if the key is not found.
+.SH HOME
+.sp
+To find out more information please check:
+\fI\%http://libmemcached.org/\fP
+.SH SEE ALSO
+.sp
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
+.SH AUTHOR
+Brian Aker
+.SH COPYRIGHT
+2011, Brian Aker DataDifferential, http://datadifferential.com/
+.\" Generated by docutils manpage writer.
+.\"
+.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_fetch.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_FETCH" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_FETCH" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_fetch \- Retrieving data from the server
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_fetch_execute.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_FETCH_EXECUTE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_FETCH_EXECUTE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_fetch_execute \- Retrieving data from the server
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_fetch_result.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_FETCH_RESULT" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_FETCH_RESULT" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_fetch_result \- Retrieving data from the server
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_flush_buffers.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_FLUSH_BUFFERS" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_FLUSH_BUFFERS" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_flush_buffers \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_free.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_FREE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_FREE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_free \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_generate_hash.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_GENERATE_HASH" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_GENERATE_HASH" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_generate_hash \- Generating hash values directly
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_generate_hash_value.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_GENERATE_HASH_VALUE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_GENERATE_HASH_VALUE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_generate_hash_value \- Generating hash values directly
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_get.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_GET" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_GET" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_get \- Retrieving data from the server
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_get_by_key.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_GET_BY_KEY" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_GET_BY_KEY" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_get_by_key \- Retrieving data from the server
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_get_memory_allocators.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_GET_MEMORY_ALLOCATORS" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_GET_MEMORY_ALLOCATORS" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_get_memory_allocators \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_get_sasl_callbacks.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_GET_SASL_CALLBACKS" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_GET_SASL_CALLBACKS" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_get_sasl_callbacks \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_get_user_data.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_GET_USER_DATA" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_GET_USER_DATA" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_get_user_data \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_increment.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_INCREMENT" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_INCREMENT" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_increment \- Incrementing and Decrementing Values
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_increment_with_initial.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_INCREMENT_WITH_INITIAL" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_INCREMENT_WITH_INITIAL" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_increment_with_initial \- Incrementing and Decrementing Values
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_last_error_message.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_LAST_ERROR_MESSAGE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_LAST_ERROR_MESSAGE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_last_error_message \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_lib_version.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_LIB_VERSION" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_LIB_VERSION" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_lib_version \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_mget.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_MGET" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_MGET" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_mget \- Retrieving data from the server
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_mget_by_key.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_MGET_BY_KEY" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_MGET_BY_KEY" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_mget_by_key \- Retrieving data from the server
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_mget_execute.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_MGET_EXECUTE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_MGET_EXECUTE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_mget_execute \- Retrieving data from the server
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_mget_execute_by_key.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_MGET_EXECUTE_BY_KEY" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_MGET_EXECUTE_BY_KEY" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_mget_execute_by_key \- Retrieving data from the server
.
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/docs/man/memcached_pool.3
^
|
@@ -0,0 +1,140 @@
+.TH "MEMCACHED_POOL" "3" "September 28, 2011" "0.53" "libmemcached"
+.SH NAME
+memcached_pool \- libmemcached Documentation
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" Man page generated from reStructeredText.
+.
+.SH SYNOPSIS
+.sp
+#include <libmemcached/memcached_pool.h>
+.INDENT 0.0
+.TP
+.B memcached_pool_st
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fI\%memcached_pool_st\fP* memcached_pool(const char\fI\ *option_string\fP, size_t\fI\ option_string_length\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
+.UNINDENT
+.sp
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
+.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
+.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_behavior_get(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ *value\fP)
+.UNINDENT
+.sp
+Compile and link with \-lmemcachedutil \-lmemcached
+.SH DESCRIPTION
+.sp
+\fI\%memcached_pool()\fP is used to create a connection pool of objects you
+may use to remove the overhead of using memcached_clone for short lived
+\fBmemcached_st\fP objects. Please see \fBlibmemcached_configuration\fP for details on the format of the configuration string.
+.sp
+\fI\%memcached_pool_destroy()\fP is used to destroy the connection pool
+created with \fI\%memcached_pool_create()\fP and release all allocated
+resources. It will return the pointer to the \fBmemcached_st\fP structure
+passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
+.sp
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
+block and wait for a connection structure to be available if we try
+to exceed the maximum size. You need to specify time in relative time.
+.sp
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
+.sp
+\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
+.SH RETURN
+.sp
+\fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
+.sp
+\fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
+.sp
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
+.SH HOME
+.sp
+To find out more information please check:
+\fI\%http://libmemcached.org/\fP
+.SH AUTHOR
+.sp
+Brian Aker, <\fI\%brian@tangent.org\fP>
+.sp
+Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
+.SH SEE ALSO
+.sp
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP \fIlibmemcached_configuration(3)\fP
+.SH AUTHOR
+Brian Aker
+.SH COPYRIGHT
+2011, Brian Aker DataDifferential, http://datadifferential.com/
+.\" Generated by docutils manpage writer.
+.\"
+.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_pool_behavior_get.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_POOL_BEHAVIOR_GET" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_POOL_BEHAVIOR_GET" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_pool_behavior_get \- libmemcached Documentation
.
@@ -46,7 +46,7 @@
.B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
.UNINDENT
.sp
-Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
.INDENT 0.0
.TP
.B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
@@ -55,10 +55,26 @@
.TP
.B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
.INDENT 0.0
.TP
.B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
.INDENT 0.0
.TP
.B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
@@ -80,23 +96,29 @@
resources. It will return the pointer to the \fBmemcached_st\fP structure
passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
.sp
-\fI\%memcached_pool_pop()\fP is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
.sp
-\fI\%memcached_pool_push()\fP is used to return a connection structure back to the pool.
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
.sp
\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
.SH RETURN
.sp
\fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
.sp
\fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
.sp
-\fI\%memcached_pool_push()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
.sp
\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
.SH HOME
.sp
To find out more information please check:
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_pool_behavior_set.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_POOL_BEHAVIOR_SET" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_POOL_BEHAVIOR_SET" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_pool_behavior_set \- libmemcached Documentation
.
@@ -46,7 +46,7 @@
.B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
.UNINDENT
.sp
-Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
.INDENT 0.0
.TP
.B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
@@ -55,10 +55,26 @@
.TP
.B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
.INDENT 0.0
.TP
.B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
.INDENT 0.0
.TP
.B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
@@ -80,23 +96,29 @@
resources. It will return the pointer to the \fBmemcached_st\fP structure
passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
.sp
-\fI\%memcached_pool_pop()\fP is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
.sp
-\fI\%memcached_pool_push()\fP is used to return a connection structure back to the pool.
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
.sp
\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
.SH RETURN
.sp
\fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
.sp
\fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
.sp
-\fI\%memcached_pool_push()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
.sp
\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
.SH HOME
.sp
To find out more information please check:
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_pool_create.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_POOL_CREATE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_POOL_CREATE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_pool_create \- libmemcached Documentation
.
@@ -46,7 +46,7 @@
.B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
.UNINDENT
.sp
-Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
.INDENT 0.0
.TP
.B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
@@ -55,10 +55,26 @@
.TP
.B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
.INDENT 0.0
.TP
.B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
.INDENT 0.0
.TP
.B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
@@ -80,23 +96,29 @@
resources. It will return the pointer to the \fBmemcached_st\fP structure
passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
.sp
-\fI\%memcached_pool_pop()\fP is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
.sp
-\fI\%memcached_pool_push()\fP is used to return a connection structure back to the pool.
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
.sp
\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
.SH RETURN
.sp
\fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
.sp
\fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
.sp
-\fI\%memcached_pool_push()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
.sp
\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
.SH HOME
.sp
To find out more information please check:
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_pool_destroy.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_POOL_DESTROY" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_POOL_DESTROY" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_pool_destroy \- libmemcached Documentation
.
@@ -46,7 +46,7 @@
.B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
.UNINDENT
.sp
-Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
.INDENT 0.0
.TP
.B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
@@ -55,10 +55,26 @@
.TP
.B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
.INDENT 0.0
.TP
.B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
.INDENT 0.0
.TP
.B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
@@ -80,23 +96,29 @@
resources. It will return the pointer to the \fBmemcached_st\fP structure
passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
.sp
-\fI\%memcached_pool_pop()\fP is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
.sp
-\fI\%memcached_pool_push()\fP is used to return a connection structure back to the pool.
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
.sp
\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
.SH RETURN
.sp
\fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
.sp
\fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
.sp
-\fI\%memcached_pool_push()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
.sp
\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
.SH HOME
.sp
To find out more information please check:
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/docs/man/memcached_pool_fetch.3
^
|
@@ -0,0 +1,140 @@
+.TH "MEMCACHED_POOL_FETCH" "3" "September 28, 2011" "0.53" "libmemcached"
+.SH NAME
+memcached_pool_fetch \- libmemcached Documentation
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" Man page generated from reStructeredText.
+.
+.SH SYNOPSIS
+.sp
+#include <libmemcached/memcached_pool.h>
+.INDENT 0.0
+.TP
+.B memcached_pool_st
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fI\%memcached_pool_st\fP* memcached_pool(const char\fI\ *option_string\fP, size_t\fI\ option_string_length\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
+.UNINDENT
+.sp
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
+.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
+.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_behavior_get(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ *value\fP)
+.UNINDENT
+.sp
+Compile and link with \-lmemcachedutil \-lmemcached
+.SH DESCRIPTION
+.sp
+\fI\%memcached_pool()\fP is used to create a connection pool of objects you
+may use to remove the overhead of using memcached_clone for short lived
+\fBmemcached_st\fP objects. Please see \fBlibmemcached_configuration\fP for details on the format of the configuration string.
+.sp
+\fI\%memcached_pool_destroy()\fP is used to destroy the connection pool
+created with \fI\%memcached_pool_create()\fP and release all allocated
+resources. It will return the pointer to the \fBmemcached_st\fP structure
+passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
+.sp
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
+block and wait for a connection structure to be available if we try
+to exceed the maximum size. You need to specify time in relative time.
+.sp
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
+.sp
+\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
+.SH RETURN
+.sp
+\fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
+.sp
+\fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
+.sp
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
+.SH HOME
+.sp
+To find out more information please check:
+\fI\%http://libmemcached.org/\fP
+.SH AUTHOR
+.sp
+Brian Aker, <\fI\%brian@tangent.org\fP>
+.sp
+Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
+.SH SEE ALSO
+.sp
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP \fIlibmemcached_configuration(3)\fP
+.SH AUTHOR
+Brian Aker
+.SH COPYRIGHT
+2011, Brian Aker DataDifferential, http://datadifferential.com/
+.\" Generated by docutils manpage writer.
+.\"
+.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_pool_pop.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_POOL_POP" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_POOL_POP" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_pool_pop \- libmemcached Documentation
.
@@ -46,7 +46,7 @@
.B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
.UNINDENT
.sp
-Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
.INDENT 0.0
.TP
.B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
@@ -55,10 +55,26 @@
.TP
.B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
.INDENT 0.0
.TP
.B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
.INDENT 0.0
.TP
.B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
@@ -80,23 +96,29 @@
resources. It will return the pointer to the \fBmemcached_st\fP structure
passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
.sp
-\fI\%memcached_pool_pop()\fP is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
.sp
-\fI\%memcached_pool_push()\fP is used to return a connection structure back to the pool.
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
.sp
\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
.SH RETURN
.sp
\fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
.sp
\fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
.sp
-\fI\%memcached_pool_push()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
.sp
\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
.SH HOME
.sp
To find out more information please check:
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_pool_push.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_POOL_PUSH" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_POOL_PUSH" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_pool_push \- libmemcached Documentation
.
@@ -46,7 +46,7 @@
.B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
.UNINDENT
.sp
-Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
.INDENT 0.0
.TP
.B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
@@ -55,10 +55,26 @@
.TP
.B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
.INDENT 0.0
.TP
.B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
.INDENT 0.0
.TP
.B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
@@ -80,23 +96,29 @@
resources. It will return the pointer to the \fBmemcached_st\fP structure
passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
.sp
-\fI\%memcached_pool_pop()\fP is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
.sp
-\fI\%memcached_pool_push()\fP is used to return a connection structure back to the pool.
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
.sp
\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
.SH RETURN
.sp
\fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
.sp
\fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
.sp
-\fI\%memcached_pool_push()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
.sp
\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
.SH HOME
.sp
To find out more information please check:
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/docs/man/memcached_pool_release.3
^
|
@@ -0,0 +1,140 @@
+.TH "MEMCACHED_POOL_RELEASE" "3" "September 28, 2011" "0.53" "libmemcached"
+.SH NAME
+memcached_pool_release \- libmemcached Documentation
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" Man page generated from reStructeredText.
+.
+.SH SYNOPSIS
+.sp
+#include <libmemcached/memcached_pool.h>
+.INDENT 0.0
+.TP
+.B memcached_pool_st
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fI\%memcached_pool_st\fP* memcached_pool(const char\fI\ *option_string\fP, size_t\fI\ option_string_length\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
+.UNINDENT
+.sp
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
+.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
+.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_behavior_get(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ *value\fP)
+.UNINDENT
+.sp
+Compile and link with \-lmemcachedutil \-lmemcached
+.SH DESCRIPTION
+.sp
+\fI\%memcached_pool()\fP is used to create a connection pool of objects you
+may use to remove the overhead of using memcached_clone for short lived
+\fBmemcached_st\fP objects. Please see \fBlibmemcached_configuration\fP for details on the format of the configuration string.
+.sp
+\fI\%memcached_pool_destroy()\fP is used to destroy the connection pool
+created with \fI\%memcached_pool_create()\fP and release all allocated
+resources. It will return the pointer to the \fBmemcached_st\fP structure
+passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
+.sp
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
+block and wait for a connection structure to be available if we try
+to exceed the maximum size. You need to specify time in relative time.
+.sp
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
+.sp
+\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
+.SH RETURN
+.sp
+\fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
+.sp
+\fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
+.sp
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
+.SH HOME
+.sp
+To find out more information please check:
+\fI\%http://libmemcached.org/\fP
+.SH AUTHOR
+.sp
+Brian Aker, <\fI\%brian@tangent.org\fP>
+.sp
+Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
+.SH SEE ALSO
+.sp
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP \fIlibmemcached_configuration(3)\fP
+.SH AUTHOR
+Brian Aker
+.SH COPYRIGHT
+2011, Brian Aker DataDifferential, http://datadifferential.com/
+.\" Generated by docutils manpage writer.
+.\"
+.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_pool_st.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_POOL_ST" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_POOL_ST" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_pool_st \- libmemcached Documentation
.
@@ -46,7 +46,7 @@
.B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
.UNINDENT
.sp
-Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
.INDENT 0.0
.TP
.B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
@@ -55,10 +55,26 @@
.TP
.B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
.INDENT 0.0
.TP
.B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
.INDENT 0.0
.TP
.B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
@@ -80,23 +96,29 @@
resources. It will return the pointer to the \fBmemcached_st\fP structure
passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
.sp
-\fI\%memcached_pool_pop()\fP is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
.sp
-\fI\%memcached_pool_push()\fP is used to return a connection structure back to the pool.
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
.sp
\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
.SH RETURN
.sp
\fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
.sp
\fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
.sp
-\fI\%memcached_pool_push()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
.sp
\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
.SH HOME
.sp
To find out more information please check:
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_prepend.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_PREPEND" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_PREPEND" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_prepend \- Appending to or Prepending to data on the server
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_prepend_by_key.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_PREPEND_BY_KEY" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_PREPEND_BY_KEY" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_prepend_by_key \- Appending to or Prepending to data on the server
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_quit.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_QUIT" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_QUIT" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_quit \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_replace.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_REPLACE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_REPLACE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_replace \- Storing and Replacing Data
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_replace_by_key.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_REPLACE_BY_KEY" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_REPLACE_BY_KEY" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_replace_by_key \- Storing and Replacing Data
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_sasl_set_auth_data.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SASL_SET_AUTH_DATA" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SASL_SET_AUTH_DATA" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_sasl_set_auth_data \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_server_add.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_ADD" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_ADD" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_server_add \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_server_count.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_COUNT" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_COUNT" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_server_count \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_server_cursor.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_CURSOR" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_CURSOR" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_server_cursor \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_server_list.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_LIST" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_server_list \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_server_list_append.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_LIST_APPEND" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST_APPEND" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_server_list_append \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_server_list_count.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_LIST_COUNT" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST_COUNT" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_server_list_count \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_server_list_free.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_LIST_FREE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST_FREE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_server_list_free \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_server_push.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_PUSH" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_PUSH" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_server_push \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_servers_parse.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVERS_PARSE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVERS_PARSE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_servers_parse \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_set.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SET" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SET" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_set \- Storing and Replacing Data
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_set_by_key.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SET_BY_KEY" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SET_BY_KEY" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_set_by_key \- Storing and Replacing Data
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_set_memory_allocators.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SET_MEMORY_ALLOCATORS" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SET_MEMORY_ALLOCATORS" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_set_memory_allocators \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_set_sasl_callbacks.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SET_SASL_CALLBACKS" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SET_SASL_CALLBACKS" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_set_sasl_callbacks \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_set_user_data.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SET_USER_DATA" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SET_USER_DATA" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_set_user_data \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_stat.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_STAT" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_STAT" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_stat \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_stat_execute.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_STAT_EXECUTE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_STAT_EXECUTE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_stat_execute \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_stat_get_keys.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_STAT_GET_KEYS" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_STAT_GET_KEYS" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_stat_get_keys \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_stat_get_value.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_STAT_GET_VALUE" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_STAT_GET_VALUE" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_stat_get_value \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_stat_servername.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_STAT_SERVERNAME" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_STAT_SERVERNAME" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_stat_servername \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_strerror.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_STRERROR" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_STRERROR" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_strerror \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_verbosity.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_VERBOSITY" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_VERBOSITY" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_verbosity \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcached_version.3
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_VERSION" "3" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_VERSION" "3" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcached_version \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcapable.1
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCAPABLE" "1" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCAPABLE" "1" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcapable \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcat.1
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCAT" "1" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCAT" "1" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcat \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memcp.1
^
|
@@ -1,4 +1,4 @@
-.TH "MEMCP" "1" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMCP" "1" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memcp \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memdump.1
^
|
@@ -1,4 +1,4 @@
-.TH "MEMDUMP" "1" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMDUMP" "1" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memdump \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memerror.1
^
|
@@ -1,4 +1,4 @@
-.TH "MEMERROR" "1" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMERROR" "1" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memerror \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memflush.1
^
|
@@ -1,4 +1,4 @@
-.TH "MEMFLUSH" "1" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMFLUSH" "1" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memflush \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memrm.1
^
|
@@ -1,4 +1,4 @@
-.TH "MEMRM" "1" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMRM" "1" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memrm \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memslap.1
^
|
@@ -1,4 +1,4 @@
-.TH "MEMSLAP" "1" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMSLAP" "1" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memslap \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/docs/man/memstat.1
^
|
@@ -1,4 +1,4 @@
-.TH "MEMSTAT" "1" "September 12, 2011" "0.52" "libmemcached"
+.TH "MEMSTAT" "1" "September 28, 2011" "0.53" "libmemcached"
.SH NAME
memstat \- libmemcached Documentation
.
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libhashkit/algorithm.cc
^
|
@@ -38,19 +38,15 @@
return hashkit_crc32(key, key_length, NULL);
}
-#ifdef HAVE_HSIEH_HASH
uint32_t libhashkit_hsieh(const char *key, size_t key_length)
{
return hashkit_hsieh(key, key_length, NULL);
}
-#endif
-#ifdef HAVE_MURMUR_HASH
uint32_t libhashkit_murmur(const char *key, size_t key_length)
{
return hashkit_murmur(key, key_length, NULL);
}
-#endif
uint32_t libhashkit_jenkins(const char *key, size_t key_length)
{
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libhashkit/algorithm.h
^
|
@@ -35,15 +35,11 @@
HASHKIT_API
uint32_t libhashkit_crc32(const char *key, size_t key_length);
-#ifdef HAVE_HSIEH_HASH
HASHKIT_API
uint32_t libhashkit_hsieh(const char *key, size_t key_length);
-#endif
-#ifdef HAVE_MURMUR_HASH
HASHKIT_API
uint32_t libhashkit_murmur(const char *key, size_t key_length);
-#endif
HASHKIT_API
uint32_t libhashkit_jenkins(const char *key, size_t key_length);
@@ -69,15 +65,11 @@
HASHKIT_LOCAL
uint32_t hashkit_crc32(const char *key, size_t key_length, void *context);
-#ifdef HAVE_HSIEH_HASH
HASHKIT_LOCAL
uint32_t hashkit_hsieh(const char *key, size_t key_length, void *context);
-#endif
-#ifdef HAVE_MURMUR_HASH
HASHKIT_LOCAL
uint32_t hashkit_murmur(const char *key, size_t key_length, void *context);
-#endif
HASHKIT_LOCAL
uint32_t hashkit_jenkins(const char *key, size_t key_length, void *context);
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libhashkit/fnv_64.cc
^
|
@@ -38,15 +38,16 @@
#include <libhashkit/common.h>
+#if __WORDSIZE == 64 && defined(HAVE_FNV64_HASH)
+
/* FNV hash'es lifted from Dustin Sallings work */
-static uint64_t FNV_64_INIT= 0xcbf29ce484222325LLU;
-static uint64_t FNV_64_PRIME= 0x100000001b3LLU;
+static uint64_t FNV_64_INIT= 0xcbf29ce484222325;
+static uint64_t FNV_64_PRIME= 0x100000001b3;
-uint32_t hashkit_fnv1_64(const char *key, size_t key_length, void *context)
+uint32_t hashkit_fnv1_64(const char *key, size_t key_length, void *)
{
/* Thanks to pierre@demartines.com for the pointer */
uint64_t hash= FNV_64_INIT;
- (void)context;
for (size_t x= 0; x < key_length; x++)
{
@@ -57,10 +58,9 @@
return (uint32_t)hash;
}
-uint32_t hashkit_fnv1a_64(const char *key, size_t key_length, void *context)
+uint32_t hashkit_fnv1a_64(const char *key, size_t key_length, void *)
{
uint32_t hash= (uint32_t) FNV_64_INIT;
- (void)context;
for (size_t x= 0; x < key_length; x++)
{
@@ -71,3 +71,15 @@
return hash;
}
+
+#else
+uint32_t hashkit_fnv1_64(const char *, size_t, void *)
+{
+ return 0;
+}
+
+uint32_t hashkit_fnv1a_64(const char *, size_t, void *)
+{
+ return 0;
+}
+#endif
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libhashkit/function.cc
^
|
@@ -10,50 +10,74 @@
static hashkit_return_t _set_function(struct hashkit_st::hashkit_function_st *self, hashkit_hash_algorithm_t hash_algorithm)
{
+ if (self == NULL)
+ {
+ return HASHKIT_INVALID_ARGUMENT;
+ }
+
switch (hash_algorithm)
{
- case HASHKIT_HASH_DEFAULT:
- self->function= hashkit_one_at_a_time;
- break;
case HASHKIT_HASH_MD5:
self->function= hashkit_md5;
break;
+
case HASHKIT_HASH_CRC:
self->function= hashkit_crc32;
break;
+
case HASHKIT_HASH_FNV1_64:
- self->function= hashkit_fnv1_64;
- break;
+ if (libhashkit_has_algorithm(HASHKIT_HASH_FNV1_64))
+ {
+ self->function= hashkit_fnv1_64;
+ break;
+ }
+ return HASHKIT_INVALID_ARGUMENT;
+
case HASHKIT_HASH_FNV1A_64:
- self->function= hashkit_fnv1a_64;
- break;
+ if (libhashkit_has_algorithm(HASHKIT_HASH_FNV1_64))
+ {
+ self->function= hashkit_fnv1a_64;
+ break;
+ }
+ return HASHKIT_INVALID_ARGUMENT;
+
case HASHKIT_HASH_FNV1_32:
self->function= hashkit_fnv1_32;
break;
+
case HASHKIT_HASH_FNV1A_32:
self->function= hashkit_fnv1a_32;
break;
+
case HASHKIT_HASH_HSIEH:
-#ifdef HAVE_HSIEH_HASH
- self->function= hashkit_hsieh;
- break;
-#else
- return HASHKIT_FAILURE;
-#endif
+ if (libhashkit_has_algorithm(HASHKIT_HASH_HSIEH))
+ {
+ self->function= hashkit_hsieh;
+ break;
+ }
+ return HASHKIT_INVALID_ARGUMENT;
+
case HASHKIT_HASH_MURMUR:
-#ifdef HAVE_MURMUR_HASH
- self->function= hashkit_murmur;
- break;
-#else
- return HASHKIT_FAILURE;
-#endif
+ if (libhashkit_has_algorithm(HASHKIT_HASH_MURMUR))
+ {
+ self->function= hashkit_murmur;
+ break;
+ }
+ return HASHKIT_INVALID_ARGUMENT;
+
case HASHKIT_HASH_JENKINS:
self->function= hashkit_jenkins;
break;
+
case HASHKIT_HASH_CUSTOM:
return HASHKIT_INVALID_ARGUMENT;
+
+ case HASHKIT_HASH_DEFAULT:
+ self->function= hashkit_one_at_a_time;
+ break;
+
case HASHKIT_HASH_MAX:
- default:
+ self->function= hashkit_one_at_a_time;
return HASHKIT_INVALID_HASH;
}
@@ -74,6 +98,11 @@
static hashkit_return_t _set_custom_function(struct hashkit_st::hashkit_function_st *self, hashkit_hash_fn function, void *context)
{
+ if (self == NULL)
+ {
+ return HASHKIT_INVALID_ARGUMENT;
+ }
+
if (function)
{
self->function= function;
@@ -87,11 +116,22 @@
hashkit_return_t hashkit_set_custom_function(hashkit_st *self, hashkit_hash_fn function, void *context)
{
+ if (self == NULL)
+ {
+ return HASHKIT_INVALID_ARGUMENT;
+ }
+
+
return _set_custom_function(&self->base_hash, function, context);
}
hashkit_return_t hashkit_set_custom_distribution_function(hashkit_st *self, hashkit_hash_fn function, void *context)
{
+ if (self == NULL)
+ {
+ return HASHKIT_INVALID_ARGUMENT;
+ }
+
return _set_custom_function(&self->distribution_hash, function, context);
}
@@ -125,18 +165,14 @@
{
return HASHKIT_HASH_FNV1A_32;
}
-#ifdef HAVE_HSIEH_HASH
else if (function == hashkit_hsieh)
{
return HASHKIT_HASH_HSIEH;
}
-#endif
-#ifdef HAVE_MURMUR_HASH
else if (function == hashkit_murmur)
{
return HASHKIT_HASH_MURMUR;
}
-#endif
else if (function == hashkit_jenkins)
{
return HASHKIT_HASH_JENKINS;
@@ -147,10 +183,20 @@
hashkit_hash_algorithm_t hashkit_get_function(const hashkit_st *self)
{
+ if (self == NULL)
+ {
+ return HASHKIT_HASH_DEFAULT;
+ }
+
return get_function_type(self->base_hash.function);
}
hashkit_hash_algorithm_t hashkit_get_distribution_function(const hashkit_st *self)
{
+ if (self == NULL)
+ {
+ return HASHKIT_HASH_DEFAULT;
+ }
+
return get_function_type(self->distribution_hash.function);
}
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/libhashkit/has.cc
^
|
@@ -0,0 +1,79 @@
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Libmemcached library
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * The names of its contributors may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <libhashkit/common.h>
+
+bool libhashkit_has_algorithm(const hashkit_hash_algorithm_t algo)
+{
+ switch (algo)
+ {
+ case HASHKIT_HASH_FNV1_64:
+ case HASHKIT_HASH_FNV1A_64:
+#if __WORDSIZE == 64 && defined(HAVE_FNV64_HASH)
+ return true;
+#else
+ return false;
+#endif
+
+ case HASHKIT_HASH_HSIEH:
+#ifdef HAVE_HSIEH_HASH
+ return true;
+#else
+ return false;
+#endif
+
+ case HASHKIT_HASH_MURMUR:
+#ifdef HAVE_MURMUR_HASH
+ return true;
+#else
+ return false;
+#endif
+
+ case HASHKIT_HASH_FNV1_32:
+ case HASHKIT_HASH_FNV1A_32:
+ case HASHKIT_HASH_DEFAULT:
+ case HASHKIT_HASH_MD5:
+ case HASHKIT_HASH_CRC:
+ case HASHKIT_HASH_JENKINS:
+ case HASHKIT_HASH_CUSTOM:
+ return true;
+
+ case HASHKIT_HASH_MAX:
+ break;
+ }
+
+ return false;
+}
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/libhashkit/has.h
^
|
@@ -0,0 +1,48 @@
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Libmemcached library
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * The names of its contributors may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#pragma once
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+HASHKIT_API
+bool libhashkit_has_algorithm(const hashkit_hash_algorithm_t);
+
+#ifdef __cplusplus
+}
+#endif
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libhashkit/hashkit.cc
^
|
@@ -23,7 +23,7 @@
{
if (not self)
{
- self= new hashkit_st;
+ self= (hashkit_st*)calloc(1, sizeof(hashkit_st));
if (not self)
{
return NULL;
@@ -55,7 +55,7 @@
{
if (hashkit_is_allocated(self))
{
- delete self;
+ free(self);
}
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libhashkit/hashkit.h
^
|
@@ -48,6 +48,7 @@
#include <libhashkit/visibility.h>
#include <libhashkit/configure.h>
#include <libhashkit/types.h>
+#include <libhashkit/has.h>
#include <libhashkit/algorithm.h>
#include <libhashkit/behavior.h>
#include <libhashkit/digest.h>
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libhashkit/hsieh.cc
^
|
@@ -17,7 +17,8 @@
+(uint32_t)(((const uint8_t *)(d))[0]) )
#endif
-uint32_t hashkit_hsieh(const char *key, size_t key_length, void *context __attribute__((unused)))
+#ifdef HAVE_HSIEH_HASH
+uint32_t hashkit_hsieh(const char *key, size_t key_length, void *)
{
uint32_t hash = 0, tmp;
int rem;
@@ -67,4 +68,9 @@
return hash;
}
-
+#else
+uint32_t hashkit_hsieh(const char *, size_t , void *)
+{
+ return 0;
+}
+#endif
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libhashkit/include.am
^
|
@@ -21,6 +21,7 @@
libhashkit/configure.h \
libhashkit/digest.h \
libhashkit/function.h \
+ libhashkit/has.h \
libhashkit/hashkit.h \
libhashkit/hashkit.hpp \
libhashkit/strerror.h \
@@ -39,21 +40,18 @@
libhashkit/fnv_32.cc \
libhashkit/fnv_64.cc \
libhashkit/function.cc \
+ libhashkit/has.cc \
libhashkit/hashkit.cc \
+ libhashkit/hsieh.cc \
libhashkit/jenkins.cc \
libhashkit/ketama.cc \
libhashkit/md5.cc \
+ libhashkit/murmur.cc \
libhashkit/one_at_a_time.cc \
libhashkit/str_algorithm.cc \
libhashkit/strerror.cc
-if INCLUDE_HSIEH_SRC
-libhashkit_libhashkit_la_SOURCES+= libhashkit/hsieh.cc
-endif
-if INCLUDE_MURMUR_SRC
-libhashkit_libhashkit_la_SOURCES+= libhashkit/murmur.cc
-endif
libhashkit_libhashkit_la_CPPFLAGS= -DBUILDING_HASHKIT
@@ -61,9 +59,11 @@
libhashkit_libhashkit_la_CXXFLAGS= -DBUILDING_HASHKIT
-libhashkit_libhashkit_la_LDFLAGS= \
- $(LIBM) \
- -version-info $(HASHKIT_LIBRARY_VERSION)
+libhashkit_libhashkit_la_LIBADD=
+libhashkit_libhashkit_la_LDFLAGS= -version-info $(HASHKIT_LIBRARY_VERSION)
+if TARGET_LINUX
+libhashkit_libhashkit_la_LIBADD+= -lm
+endif
# library used for testing
noinst_LTLIBRARIES+= libhashkit/libhashkitinc.la
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libhashkit/jenkins.cc
^
|
@@ -56,11 +56,10 @@
In which case, the hash table should have hashsize(10) elements.
*/
-uint32_t hashkit_jenkins(const char *key, size_t length, void *context)
+uint32_t hashkit_jenkins(const char *key, size_t length, void *)
{
uint32_t a,b,c; /* internal state */
union { const void *ptr; size_t i; } u; /* needed for Mac Powerbook G4 */
- (void)context;
/* Set up the internal state */
a = b = c = 0xdeadbeef + ((uint32_t)length) + JENKINS_INITVAL;
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libhashkit/murmur.cc
^
|
@@ -17,6 +17,8 @@
#include <libhashkit/common.h>
+#ifdef HAVE_MURMUR_HASH
+
uint32_t hashkit_murmur(const char *key, size_t length, void *context)
{
/*
@@ -75,3 +77,10 @@
return h;
}
+
+#else
+uint32_t hashkit_murmur(const char *, size_t , void *)
+{
+ return 0;
+}
+#endif
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libhashkit/types.h
^
|
@@ -47,8 +47,15 @@
HASHKIT_MAXIMUM_RETURN /* Always add new error code before */
} hashkit_return_t;
-#define hashkit_success(X) ((X) == HASHKIT_SUCCESS)
-#define hashkit_failed(X) ((X) != HASHKIT_SUCCESS)
+static inline bool hashkit_success(const hashkit_return_t rc)
+{
+ return (rc == HASHKIT_SUCCESS);
+}
+
+static inline bool hashkit_failed(const hashkit_return_t rc)
+{
+ return (rc != HASHKIT_SUCCESS);
+}
typedef enum {
HASHKIT_HASH_DEFAULT= 0, // hashkit_one_at_a_time()
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/assert.hpp
^
|
@@ -41,7 +41,7 @@
#include <cstdio>
#ifdef NDEBUG
-#define assert(__expr, __mesg) ((void)0)
+#define assert_msg(__expr, __mesg) (void)(__expr); (void)(__mesg);
#else
#define assert_msg(__expr, __mesg) \
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/auto.cc
^
|
@@ -75,6 +75,11 @@
rc= memcached_response(instance, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, NULL);
+ if (rc != MEMCACHED_SUCCESS)
+ {
+ return memcached_set_error(*instance, rc, MEMCACHED_AT);
+ }
+
/*
So why recheck responce? Because the protocol is brain dead :)
The number returned might end up equaling one of the string
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/behavior.cc
^
|
@@ -250,10 +250,10 @@
case MEMCACHED_BEHAVIOR_MAX:
default:
- /* Shouldn't get here */
- assert_msg(0, "Invalid behavior passed to memcached_behavior_set()");
- return memcached_set_error(*ptr, MEMCACHED_INVALID_ARGUMENTS, MEMCACHED_AT,
- memcached_literal_param("Invalid behavior passed to memcached_behavior_set()"));
+ /* Shouldn't get here */
+ assert_msg(0, "Invalid behavior passed to memcached_behavior_set()");
+ return memcached_set_error(*ptr, MEMCACHED_INVALID_ARGUMENTS, MEMCACHED_AT,
+ memcached_literal_param("Invalid behavior passed to memcached_behavior_set()"));
}
return MEMCACHED_SUCCESS;
@@ -493,7 +493,9 @@
memcached_return_t memcached_behavior_set_key_hash(memcached_st *ptr, memcached_hash_t type)
{
if (hashkit_success(hashkit_set_function(&ptr->hashkit, (hashkit_hash_algorithm_t)type)))
+ {
return MEMCACHED_SUCCESS;
+ }
return memcached_set_error(*ptr, MEMCACHED_INVALID_ARGUMENTS, MEMCACHED_AT,
memcached_literal_param("Invalid memcached_hash_t()"));
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/configure.h
^
|
@@ -44,8 +44,8 @@
#define LIBMEMCACHED_WITH_SASL_SUPPORT 1
-#define LIBMEMCACHED_VERSION_STRING "0.52"
-#define LIBMEMCACHED_VERSION_HEX 0x00052000
+#define LIBMEMCACHED_VERSION_STRING "0.53"
+#define LIBMEMCACHED_VERSION_HEX 0x00053000
#ifdef __cplusplus
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/connect.cc
^
|
@@ -212,9 +212,9 @@
do
{
rval= fcntl(server->fd, F_SETFL, flags | O_NONBLOCK);
- } while (rval == -1 && (errno == EINTR || errno == EAGAIN));
+ } while (rval == -1 && (errno == EINTR or errno == EAGAIN));
- unlikely (rval == -1)
+ if (rval == -1)
{
memcached_set_errno(*server, errno, NULL);
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/csl/scanner.cc
^
|
@@ -12,12 +12,14 @@
#pragma GCC diagnostic ignored "-Wunused-parameter"
#endif
+#define YY_NO_INPUT
+
#define YY_EXTRA_TYPE Context*
-#line 21 "libmemcached/csl/scanner.cc"
+#line 23 "libmemcached/csl/scanner.cc"
#define YY_INT_ALIGNED short int
@@ -1091,13 +1093,13 @@
static yyconst flex_int16_t yy_rule_linenum[65] =
{ 0,
- 79, 81, 83, 85, 87, 90, 94, 96, 98, 99,
- 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
- 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
- 120, 121, 122, 123, 124, 125, 127, 128, 130, 132,
- 133, 134, 135, 136, 137, 139, 140, 143, 148, 149,
- 150, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 162, 171, 189, 196
+ 81, 83, 85, 87, 89, 92, 96, 98, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 129, 130, 132, 134,
+ 135, 136, 137, 138, 139, 141, 142, 145, 150, 151,
+ 152, 154, 155, 156, 157, 158, 159, 160, 161, 162,
+ 164, 173, 191, 198
} ;
/* The intent behind this definition is that it'll catch
@@ -1128,7 +1130,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#line 40 "libmemcached/csl/scanner.l"
+#line 42 "libmemcached/csl/scanner.l"
#include <cstdlib>
#include <cstring>
@@ -1152,7 +1154,7 @@
#define YY_INPUT(buffer, result, max_size) get_lex_chars(buffer, result, max_size, PARAM)
-#line 1156 "libmemcached/csl/scanner.cc"
+#line 1158 "libmemcached/csl/scanner.cc"
#define INITIAL 0
@@ -1455,11 +1457,11 @@
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
/* %% [7.0] user's declarations go here */
-#line 76 "libmemcached/csl/scanner.l"
+#line 78 "libmemcached/csl/scanner.l"
-#line 1463 "libmemcached/csl/scanner.cc"
+#line 1465 "libmemcached/csl/scanner.cc"
yylval = yylval_param;
@@ -1578,28 +1580,28 @@
case 1:
YY_RULE_SETUP
-#line 79 "libmemcached/csl/scanner.l"
+#line 81 "libmemcached/csl/scanner.l"
{ return yytext[0];}
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 81 "libmemcached/csl/scanner.l"
+#line 83 "libmemcached/csl/scanner.l"
{ yylval->number= atoi(yytext); return (NUMBER); }
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 83 "libmemcached/csl/scanner.l"
+#line 85 "libmemcached/csl/scanner.l"
{ yylval->number= atoi(yytext +1); return PORT; }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 85 "libmemcached/csl/scanner.l"
+#line 87 "libmemcached/csl/scanner.l"
{ yylval->number= atoi(yytext +2); return WEIGHT_START; }
YY_BREAK
case 5:
/* rule 5 can match eol */
YY_RULE_SETUP
-#line 87 "libmemcached/csl/scanner.l"
+#line 89 "libmemcached/csl/scanner.l"
; /* skip whitespace */
YY_BREAK
case 6:
@@ -1607,219 +1609,219 @@
yyg->yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 90 "libmemcached/csl/scanner.l"
+#line 92 "libmemcached/csl/scanner.l"
{
return COMMENT;
}
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 94 "libmemcached/csl/scanner.l"
+#line 96 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; yyextra->set_server(); return yyextra->previous_token= SERVER; }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 96 "libmemcached/csl/scanner.l"
+#line 98 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= SOCKET; }
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 98 "libmemcached/csl/scanner.l"
+#line 100 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= BINARY_PROTOCOL; }
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 99 "libmemcached/csl/scanner.l"
+#line 101 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= BUFFER_REQUESTS; }
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 100 "libmemcached/csl/scanner.l"
+#line 102 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= CONFIGURE_FILE; }
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 101 "libmemcached/csl/scanner.l"
+#line 103 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= CONNECT_TIMEOUT; }
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 102 "libmemcached/csl/scanner.l"
+#line 104 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= DISTRIBUTION; }
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 103 "libmemcached/csl/scanner.l"
+#line 105 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= HASH_WITH_NAMESPACE; }
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 104 "libmemcached/csl/scanner.l"
+#line 106 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= HASH; }
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 105 "libmemcached/csl/scanner.l"
+#line 107 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= IO_BYTES_WATERMARK; }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 106 "libmemcached/csl/scanner.l"
+#line 108 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= IO_KEY_PREFETCH; }
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 107 "libmemcached/csl/scanner.l"
+#line 109 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= IO_MSG_WATERMARK; }
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 108 "libmemcached/csl/scanner.l"
+#line 110 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= NOREPLY; }
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 109 "libmemcached/csl/scanner.l"
+#line 111 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= NUMBER_OF_REPLICAS; }
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 110 "libmemcached/csl/scanner.l"
+#line 112 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= POLL_TIMEOUT; }
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 111 "libmemcached/csl/scanner.l"
+#line 113 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= RANDOMIZE_REPLICA_READ; }
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 112 "libmemcached/csl/scanner.l"
+#line 114 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= RCV_TIMEOUT; }
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 113 "libmemcached/csl/scanner.l"
+#line 115 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= REMOVE_FAILED_SERVERS; }
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 114 "libmemcached/csl/scanner.l"
+#line 116 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= RETRY_TIMEOUT; }
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 115 "libmemcached/csl/scanner.l"
+#line 117 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= SND_TIMEOUT; }
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 116 "libmemcached/csl/scanner.l"
+#line 118 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= SOCKET_RECV_SIZE; }
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 117 "libmemcached/csl/scanner.l"
+#line 119 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= SOCKET_SEND_SIZE; }
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 118 "libmemcached/csl/scanner.l"
+#line 120 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= SORT_HOSTS; }
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 119 "libmemcached/csl/scanner.l"
+#line 121 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= SUPPORT_CAS; }
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 120 "libmemcached/csl/scanner.l"
+#line 122 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= _TCP_KEEPALIVE; }
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 121 "libmemcached/csl/scanner.l"
+#line 123 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= _TCP_KEEPIDLE; }
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 122 "libmemcached/csl/scanner.l"
+#line 124 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= _TCP_NODELAY; }
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 123 "libmemcached/csl/scanner.l"
+#line 125 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= USE_UDP; }
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 124 "libmemcached/csl/scanner.l"
+#line 126 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= USER_DATA; }
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 125 "libmemcached/csl/scanner.l"
+#line 127 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= VERIFY_KEY; }
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 127 "libmemcached/csl/scanner.l"
+#line 129 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= POOL_MIN; }
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 128 "libmemcached/csl/scanner.l"
+#line 130 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= POOL_MAX; }
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 130 "libmemcached/csl/scanner.l"
+#line 132 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= NAMESPACE; }
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 132 "libmemcached/csl/scanner.l"
+#line 134 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= INCLUDE; }
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 133 "libmemcached/csl/scanner.l"
+#line 135 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= RESET; }
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 134 "libmemcached/csl/scanner.l"
+#line 136 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= PARSER_DEBUG; }
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 135 "libmemcached/csl/scanner.l"
+#line 137 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= SERVERS; }
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 136 "libmemcached/csl/scanner.l"
+#line 138 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= END; }
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 137 "libmemcached/csl/scanner.l"
+#line 139 "libmemcached/csl/scanner.l"
{ yyextra->begin= yytext; return yyextra->previous_token= ERROR; }
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 139 "libmemcached/csl/scanner.l"
+#line 141 "libmemcached/csl/scanner.l"
{ return yyextra->previous_token= TRUE; }
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 140 "libmemcached/csl/scanner.l"
+#line 142 "libmemcached/csl/scanner.l"
{ return yyextra->previous_token= FALSE; }
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 143 "libmemcached/csl/scanner.l"
+#line 145 "libmemcached/csl/scanner.l"
{
yyextra->begin= yytext;
return UNKNOWN_OPTION;
@@ -1827,67 +1829,67 @@
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 148 "libmemcached/csl/scanner.l"
+#line 150 "libmemcached/csl/scanner.l"
{ return CONSISTENT; }
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 149 "libmemcached/csl/scanner.l"
+#line 151 "libmemcached/csl/scanner.l"
{ return MODULA; }
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 150 "libmemcached/csl/scanner.l"
+#line 152 "libmemcached/csl/scanner.l"
{ return RANDOM; }
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 152 "libmemcached/csl/scanner.l"
+#line 154 "libmemcached/csl/scanner.l"
{ return MD5; }
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 153 "libmemcached/csl/scanner.l"
+#line 155 "libmemcached/csl/scanner.l"
{ return CRC; }
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 154 "libmemcached/csl/scanner.l"
+#line 156 "libmemcached/csl/scanner.l"
{ return FNV1_64; }
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 155 "libmemcached/csl/scanner.l"
+#line 157 "libmemcached/csl/scanner.l"
{ return FNV1A_64; }
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 156 "libmemcached/csl/scanner.l"
+#line 158 "libmemcached/csl/scanner.l"
{ return FNV1_32; }
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 157 "libmemcached/csl/scanner.l"
+#line 159 "libmemcached/csl/scanner.l"
{ return FNV1A_32; }
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 158 "libmemcached/csl/scanner.l"
+#line 160 "libmemcached/csl/scanner.l"
{ return HSIEH; }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 159 "libmemcached/csl/scanner.l"
+#line 161 "libmemcached/csl/scanner.l"
{ return MURMUR; }
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 160 "libmemcached/csl/scanner.l"
+#line 162 "libmemcached/csl/scanner.l"
{ return JENKINS; }
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 162 "libmemcached/csl/scanner.l"
+#line 164 "libmemcached/csl/scanner.l"
{
yylval->server.port= MEMCACHED_DEFAULT_PORT;
yylval->server.weight= 1;
@@ -1899,7 +1901,7 @@
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 171 "libmemcached/csl/scanner.l"
+#line 173 "libmemcached/csl/scanner.l"
{
if (yyextra->is_server())
{
@@ -1921,7 +1923,7 @@
case 63:
/* rule 63 can match eol */
YY_RULE_SETUP
-#line 189 "libmemcached/csl/scanner.l"
+#line 191 "libmemcached/csl/scanner.l"
{
config_get_text(yyscanner)[yyleng -1]= 0;
yylval->string.c_str= yytext +1;
@@ -1931,7 +1933,7 @@
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 196 "libmemcached/csl/scanner.l"
+#line 198 "libmemcached/csl/scanner.l"
{
yyextra->begin= yytext;
return UNKNOWN;
@@ -1939,10 +1941,10 @@
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 201 "libmemcached/csl/scanner.l"
+#line 203 "libmemcached/csl/scanner.l"
ECHO;
YY_BREAK
-#line 1946 "libmemcached/csl/scanner.cc"
+#line 1948 "libmemcached/csl/scanner.cc"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -3208,7 +3210,7 @@
/* %ok-for-header */
-#line 201 "libmemcached/csl/scanner.l"
+#line 203 "libmemcached/csl/scanner.l"
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/csl/scanner.h
^
|
@@ -16,12 +16,14 @@
#pragma GCC diagnostic ignored "-Wunused-parameter"
#endif
+#define YY_NO_INPUT
+
#define YY_EXTRA_TYPE Context*
-#line 25 "libmemcached/csl/scanner.h"
+#line 27 "libmemcached/csl/scanner.h"
#define YY_INT_ALIGNED short int
@@ -473,9 +475,9 @@
#undef YY_DECL
#endif
-#line 201 "libmemcached/csl/scanner.l"
+#line 203 "libmemcached/csl/scanner.l"
-#line 480 "libmemcached/csl/scanner.h"
+#line 482 "libmemcached/csl/scanner.h"
#undef config_IN_HEADER
#endif /* config_HEADER_H */
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/delete.cc
^
|
@@ -56,7 +56,6 @@
const char *key, size_t key_length,
time_t expiration)
{
- bool to_write;
char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
memcached_server_write_instance_st instance;
@@ -71,16 +70,15 @@
rc= memcached_validate_key_length(key_length,
ptr->flags.binary_protocol);
- unlikely (memcached_failed(rc))
+ if (memcached_failed(rc))
+ {
return rc;
-
- unlikely (memcached_server_count(ptr) == 0)
- return MEMCACHED_NO_SERVERS;
+ }
uint32_t server_key= memcached_generate_hash_with_redistribution(ptr, group_key, group_key_length);
instance= memcached_server_instance_fetch(ptr, server_key);
- to_write= (ptr->flags.buffer_requests) ? false : true;
+ bool to_write= (ptr->flags.buffer_requests) ? false : true;
bool no_reply= (ptr->flags.no_reply);
@@ -120,7 +118,7 @@
if (instance->minor_version == 0)
{
- if (no_reply || ! to_write)
+ if (no_reply or to_write == false)
{
/* We might get out of sync with the server if we
* send this command to a server newer than 1.2.x..
@@ -155,7 +153,7 @@
goto error;
}
- if (ptr->flags.use_udp && ! to_write)
+ if (ptr->flags.use_udp and to_write == false)
{
if (send_length > MAX_UDP_DATAGRAM_LENGTH - UDP_DATAGRAM_HEADER_LENGTH)
return MEMCACHED_WRITE_FAILURE;
@@ -170,21 +168,27 @@
}
if (rc != MEMCACHED_SUCCESS)
+ {
goto error;
+ }
- if (! to_write)
+ if (to_write == false)
{
rc= MEMCACHED_BUFFERED;
}
- else if (!no_reply)
+ else if (no_reply == false)
{
rc= memcached_response(instance, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, NULL);
if (rc == MEMCACHED_DELETED)
+ {
rc= MEMCACHED_SUCCESS;
+ }
}
- if (rc == MEMCACHED_SUCCESS && ptr->delete_trigger)
+ if (rc == MEMCACHED_SUCCESS and ptr->delete_trigger)
+ {
ptr->delete_trigger(ptr, key, key_length);
+ }
error:
LIBMEMCACHED_MEMCACHED_DELETE_END();
@@ -237,7 +241,6 @@
if ((rc= memcached_vdo(instance, vector, 3, flush)) != MEMCACHED_SUCCESS)
{
memcached_io_reset(instance);
- rc= (rc == MEMCACHED_SUCCESS) ? MEMCACHED_WRITE_FAILURE : rc;
}
unlikely (ptr->number_of_replicas > 0)
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/dump.cc
^
|
@@ -6,25 +6,21 @@
all slabs on servers and "grab" the keys.
*/
-#include "common.h"
+#include <libmemcached/common.h>
+
static memcached_return_t ascii_dump(memcached_st *ptr, memcached_dump_fn *callback, void *context, uint32_t number_of_callbacks)
{
memcached_return_t rc= MEMCACHED_SUCCESS;
- char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
- uint32_t server_key;
- uint32_t x;
-
- unlikely (memcached_server_count(ptr) == 0)
- return MEMCACHED_NO_SERVERS;
- for (server_key= 0; server_key < memcached_server_count(ptr); server_key++)
+ for (uint32_t server_key= 0; server_key < memcached_server_count(ptr); server_key++)
{
memcached_server_write_instance_st instance;
instance= memcached_server_instance_fetch(ptr, server_key);
/* 256 I BELIEVE is the upper limit of slabs */
- for (x= 0; x < 256; x++)
+ for (uint32_t x= 0; x < 256; x++)
{
+ char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
int send_length;
send_length= snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE,
"stats cachedump %u 0 0\r\n", x);
@@ -37,8 +33,10 @@
rc= memcached_do(instance, buffer, (size_t)send_length, true);
- unlikely (rc != MEMCACHED_SUCCESS)
+ if (rc != MEMCACHED_SUCCESS)
+ {
goto error;
+ }
while (1)
{
@@ -48,23 +46,29 @@
if (rc == MEMCACHED_ITEM)
{
char *string_ptr, *end_ptr;
- char *key;
string_ptr= buffer;
string_ptr+= 5; /* Move past ITEM */
+
for (end_ptr= string_ptr; isgraph(*end_ptr); end_ptr++) {} ;
- key= string_ptr;
+
+ char *key= string_ptr;
key[(size_t)(end_ptr-string_ptr)]= 0;
+
for (callback_counter= 0; callback_counter < number_of_callbacks; callback_counter++)
{
rc= (*callback[callback_counter])(ptr, key, (size_t)(end_ptr-string_ptr), context);
if (rc != MEMCACHED_SUCCESS)
+ {
break;
+ }
}
}
else if (rc == MEMCACHED_END)
+ {
break;
- else if (rc == MEMCACHED_SERVER_ERROR || rc == MEMCACHED_CLIENT_ERROR)
+ }
+ else if (rc == MEMCACHED_SERVER_ERROR or rc == MEMCACHED_CLIENT_ERROR)
{
/* If we try to request stats cachedump for a slab class that is too big
* the server will return an incorrect error message:
@@ -77,16 +81,22 @@
break;
}
else
+ {
goto error;
+ }
}
}
}
error:
if (rc == MEMCACHED_END)
+ {
return MEMCACHED_SUCCESS;
+ }
else
+ {
return rc;
+ }
}
memcached_return_t memcached_dump(memcached_st *ptr, memcached_dump_fn *callback, void *context, uint32_t number_of_callbacks)
@@ -102,7 +112,9 @@
@todo Fix this so that we just flush, switch to ascii, and then go back to binary.
*/
if (ptr->flags.binary_protocol)
+ {
return MEMCACHED_FAILURE;
+ }
return ascii_dump(ptr, callback, context, number_of_callbacks);
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/error.cc
^
|
@@ -361,10 +361,12 @@
static void _error_print(const memcached_error_t *error)
{
- if (not error)
+ if (error == NULL)
+ {
return;
+ }
- if (not error->size)
+ if (error->size == 0)
{
fprintf(stderr, "%s\n", memcached_strerror(NULL, error->rc) );
}
@@ -415,8 +417,10 @@
const char *memcached_last_error_message(memcached_st *memc)
{
- if (not memc)
+ if (memc == NULL)
+ {
return memcached_strerror(memc, MEMCACHED_INVALID_ARGUMENTS);
+ }
if (not memc->error_messages)
return memcached_strerror(memc, MEMCACHED_SUCCESS);
@@ -446,8 +450,10 @@
memcached_return_t memcached_last_error(memcached_st *memc)
{
- if (not memc)
+ if (memc == NULL)
+ {
return MEMCACHED_INVALID_ARGUMENTS;
+ }
if (not memc->error_messages)
return MEMCACHED_SUCCESS;
@@ -457,19 +463,25 @@
int memcached_last_error_errno(memcached_st *memc)
{
- if (not memc)
+ if (memc == NULL)
+ {
return 0;
+ }
if (not memc->error_messages)
+ {
return 0;
+ }
return memc->error_messages->local_errno;
}
const char *memcached_server_error(memcached_server_instance_st server)
{
- if (not server)
- return memcached_strerror(server->root, MEMCACHED_INVALID_ARGUMENTS);
+ if (server == NULL)
+ {
+ return NULL;
+ }
if (not server->error_messages)
return memcached_strerror(server->root, MEMCACHED_SUCCESS);
@@ -483,8 +495,10 @@
memcached_error_t *memcached_error_copy(const memcached_server_st& server)
{
- if (not server.error_messages)
+ if (server.error_messages == NULL)
+ {
return NULL;
+ }
memcached_error_t *error= (memcached_error_t *)libmemcached_malloc(server.root, sizeof(memcached_error_t));
memcpy(error, server.error_messages, sizeof(memcached_error_t));
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/libmemcached/exist.cc
^
|
@@ -0,0 +1,149 @@
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Libmemcached library
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * The names of its contributors may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <libmemcached/common.h>
+
+static memcached_return_t ascii_exist(memcached_st *memc, memcached_server_write_instance_st instance, const char *key, size_t key_length)
+{
+ struct libmemcached_io_vector_st vector[]=
+ {
+ { sizeof("add ") -1, "add " },
+ { memcached_array_size(memc->_namespace), memcached_array_string(memc->_namespace) },
+ { key_length, key },
+ { sizeof(" 0") -1, " 0" },
+ { sizeof(" 2678400") -1, " 2678400" },
+ { sizeof(" 0") -1, " 0" },
+ { 2, "\r\n" },
+ { 2, "\r\n" }
+ };
+
+ /* Send command header */
+ memcached_return_t rc= memcached_vdo(instance, vector, 8, true);
+ if (rc == MEMCACHED_SUCCESS)
+ {
+ char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
+ rc= memcached_response(instance, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, NULL);
+
+ if (rc == MEMCACHED_NOTSTORED)
+ rc= MEMCACHED_SUCCESS;
+
+ if (rc == MEMCACHED_STORED)
+ rc= MEMCACHED_NOTFOUND;
+ }
+
+ if (rc == MEMCACHED_WRITE_FAILURE)
+ memcached_io_reset(instance);
+
+ return rc;
+}
+
+static memcached_return_t binary_exist(memcached_st *memc, memcached_server_write_instance_st instance, const char *key, size_t key_length)
+{
+ protocol_binary_request_set request= {};
+ size_t send_length= sizeof(request.bytes);
+
+ request.message.header.request.magic= PROTOCOL_BINARY_REQ;
+ request.message.header.request.opcode= PROTOCOL_BINARY_CMD_ADD;
+ request.message.header.request.keylen= htons((uint16_t)(key_length + memcached_array_size(memc->_namespace)));
+ request.message.header.request.datatype= PROTOCOL_BINARY_RAW_BYTES;
+ request.message.header.request.extlen= 8;
+ request.message.body.flags= 0;
+ request.message.body.expiration= htonl(2678400);
+
+ request.message.header.request.bodylen= htonl((uint32_t) (key_length
+ +memcached_array_size(memc->_namespace)
+ +request.message.header.request.extlen));
+
+ struct libmemcached_io_vector_st vector[]=
+ {
+ { send_length, request.bytes },
+ { memcached_array_size(memc->_namespace), memcached_array_string(memc->_namespace) },
+ { key_length, key }
+ };
+
+ /* write the header */
+ memcached_return_t rc;
+ if ((rc= memcached_vdo(instance, vector, 3, true)) != MEMCACHED_SUCCESS)
+ {
+ memcached_io_reset(instance);
+ return (rc == MEMCACHED_SUCCESS) ? MEMCACHED_WRITE_FAILURE : rc;
+ }
+
+ rc= memcached_response(instance, NULL, 0, NULL);
+
+ if (rc == MEMCACHED_SUCCESS)
+ rc= MEMCACHED_NOTFOUND;
+
+ if (rc == MEMCACHED_DATA_EXISTS)
+ rc= MEMCACHED_SUCCESS;
+
+ return rc;
+}
+
+memcached_return_t memcached_exist(memcached_st *memc, const char *key, size_t key_length)
+{
+ return memcached_exist_by_key(memc, key, key_length, key, key_length);
+}
+
+memcached_return_t memcached_exist_by_key(memcached_st *memc,
+ const char *group_key, size_t group_key_length,
+ const char *key, size_t key_length)
+{
+ memcached_return_t rc;
+ if (memcached_failed(rc= initialize_query(memc)))
+ {
+ return rc;
+ }
+
+ if (memc->flags.use_udp)
+ {
+ return MEMCACHED_NOT_SUPPORTED;
+ }
+
+
+ uint32_t server_key= memcached_generate_hash_with_redistribution(memc, group_key, group_key_length);
+ memcached_server_write_instance_st instance;
+ instance= memcached_server_instance_fetch(memc, server_key);
+
+ if (memc->flags.binary_protocol)
+ {
+ return binary_exist(memc, instance, key, key_length);
+ }
+ else
+ {
+ return ascii_exist(memc, instance, key, key_length);
+ }
+}
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/libmemcached/exist.h
^
|
@@ -0,0 +1,43 @@
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Libmemcached library
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * The names of its contributors may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#pragma once
+
+memcached_return_t memcached_exist(memcached_st *memc, const char *key, size_t key_length);
+
+memcached_return_t memcached_exist_by_key(memcached_st *memc,
+ const char *group_key, size_t group_key_length,
+ const char *key, size_t key_length);
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/get.cc
^
|
@@ -210,7 +210,7 @@
return rc;
}
- unlikely (ptr->flags.use_udp)
+ if (ptr->flags.use_udp)
{
return memcached_set_error(*ptr, MEMCACHED_NOT_SUPPORTED, MEMCACHED_AT);
}
@@ -228,7 +228,7 @@
}
bool is_group_key_set= false;
- if (group_key && group_key_length)
+ if (group_key and group_key_length)
{
if (memcached_failed(memcached_key_test(*ptr, (const char * const *)&group_key, &group_key_length, 1)))
{
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/hash.cc
^
|
@@ -64,7 +64,6 @@
uint32_t num= ptr->ketama.continuum_points_counter;
WATCHPOINT_ASSERT(ptr->ketama.continuum);
- hash= hash;
memcached_continuum_item_st *begin, *end, *left, *right, *middle;
begin= left= ptr->ketama.continuum;
end= right= ptr->ketama.continuum + num;
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/hosts.cc
^
|
@@ -219,7 +219,7 @@
if (is_ketama_weighted)
{
float pct= (float)list[host_index].weight / (float)total_weight;
- pointer_per_server= (uint32_t) ((floorf((float) (pct * MEMCACHED_POINTS_PER_SERVER_KETAMA / 4 * (float)live_servers + 0.0000000001))) * 4);
+ pointer_per_server= (uint32_t) ((floor((float) (pct * MEMCACHED_POINTS_PER_SERVER_KETAMA / 4 * (float)live_servers + 0.0000000001))) * 4);
pointer_per_hash= 4;
if (DEBUG)
{
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/include.am
^
|
@@ -49,6 +49,7 @@
libmemcached/delete.h \
libmemcached/dump.h \
libmemcached/error.h \
+ libmemcached/exist.h \
libmemcached/exception.hpp \
libmemcached/fetch.h \
libmemcached/flush.h \
@@ -102,6 +103,7 @@
libmemcached/do.cc \
libmemcached/dump.cc \
libmemcached/error.cc \
+ libmemcached/exist.cc \
libmemcached/fetch.cc \
libmemcached/flush.cc \
libmemcached/flush_buffers.cc \
@@ -133,7 +135,10 @@
libmemcached_libmemcached_la_DEPENDENCIES=
-libmemcached_libmemcached_la_LIBADD= $(LIBM)
+libmemcached_libmemcached_la_LIBADD=
+if TARGET_LINUX
+libmemcached_libmemcached_la_LIBADD+= -lm
+endif
libmemcached_libmemcached_la_LDFLAGS+= -version-info ${MEMCACHED_LIBRARY_VERSION}
libmemcached_libmemcached_la_LIBADD+= $(LTLIBSASL) $(LTLIBSASL2)
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/io.cc
^
|
@@ -306,7 +306,6 @@
return -1;
}
}
- ssize_t sent_length;
size_t return_length;
char *local_write_ptr= ptr->write_buffer;
size_t write_length= ptr->write_buffer_offset;
@@ -340,10 +339,10 @@
{
WATCHPOINT_ASSERT(ptr->fd != INVALID_SOCKET);
WATCHPOINT_ASSERT(write_length > 0);
- sent_length= 0;
if (ptr->type == MEMCACHED_CONNECTION_UDP)
increment_udp_message_id(ptr);
+ ssize_t sent_length= 0;
WATCHPOINT_ASSERT(ptr->fd != INVALID_SOCKET);
if (with_flush)
{
@@ -408,7 +407,7 @@
}
if (ptr->type == MEMCACHED_CONNECTION_UDP and
- (size_t)sent_length != write_length)
+ size_t(sent_length) != write_length)
{
memcached_quit_server(ptr, true);
*error= memcached_set_error(*ptr, MEMCACHED_WRITE_FAILURE, MEMCACHED_AT);
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/memcached.h
^
|
@@ -66,6 +66,7 @@
#include <libmemcached/callback.h>
#include <libmemcached/delete.h>
#include <libmemcached/dump.h>
+#include <libmemcached/exist.h>
#include <libmemcached/fetch.h>
#include <libmemcached/flush.h>
#include <libmemcached/flush_buffers.h>
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/options.cc
^
|
@@ -82,17 +82,26 @@
{
memcached_st memc, *memc_ptr;
- if (error_buffer_size)
+ if (option_string == NULL or length == 0)
+ {
+ return MEMCACHED_INVALID_ARGUMENTS;
+ }
+
+ if (error_buffer and error_buffer_size)
+ {
error_buffer[0]= 0;
+ }
if (not (memc_ptr= memcached_create(&memc)))
+ {
return MEMCACHED_MEMORY_ALLOCATION_FAILURE;
+ }
memcached_return_t rc= memcached_parse_configuration(memc_ptr, option_string, length);
if (memcached_failed(rc) and error_buffer and error_buffer_size)
{
strncpy(error_buffer, memcached_last_error_message(memc_ptr), error_buffer_size);
- error_buffer[length -1]= 0;
+ error_buffer[error_buffer_size -1]= 0;
}
bool has_filename= memcached_behavior_get(memc_ptr, MEMCACHED_BEHAVIOR_LOAD_FROM_FILE);
@@ -102,9 +111,10 @@
assert_msg(memcached_parse_filename_length(memc_ptr), "Invalid configuration file");
rc= _parse_file_options(*memc_ptr, memc_ptr->configure.filename);
- if (memcached_failed(rc) and error_buffer && error_buffer_size)
+ if (memcached_failed(rc) and error_buffer and error_buffer_size)
{
strncpy(error_buffer, memcached_last_error_message(memc_ptr), error_buffer_size);
+ error_buffer[error_buffer_size -1]= 0;
}
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/protocol/cache.c
^
|
@@ -56,7 +56,9 @@
cache_constructor_t* constructor,
cache_destructor_t* destructor) {
cache_t* ret = calloc(1, sizeof(cache_t));
- char* nm = strdup(name);
+ size_t name_length= strlen(name);
+ char* nm= calloc(1, (sizeof(char) * name_length) +1);
+ memcpy(nm, name, name_length);
void** ptr = calloc(initial_pool_size, bufsize);
if (ret == NULL || nm == NULL || ptr == NULL ||
pthread_mutex_init(&ret->mutex, NULL) == -1) {
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/protocol/cache.h
^
|
@@ -1,22 +1,56 @@
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Libmemcached library
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * The names of its contributors may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
/* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
-#ifndef CACHE_H
-#define CACHE_H
+#pragma once
+
#include <pthread.h>
#ifdef HAVE_UMEM_H
-#include <umem.h>
-#define cache_t umem_cache_t
-#define cache_alloc(a) umem_cache_alloc(a, UMEM_DEFAULT)
-#define cache_free(a, b) umem_cache_free(a, b)
-#define cache_create(a,b,c,d,e) umem_cache_create((char*)a, b, c, d, e, NULL, NULL, NULL, 0)
-#define cache_destroy(a) umem_cache_destroy(a);
-
+# include <umem.h>
+# define cache_t umem_cache_t
+# define cache_alloc(a) umem_cache_alloc(a, UMEM_DEFAULT)
+# define cache_free(a, b) umem_cache_free(a, b)
+# define cache_create(a,b,c,d,e) umem_cache_create((char*)a, b, c, d, e, NULL, NULL, NULL, 0)
+# define cache_destroy(a) umem_cache_destroy(a);
#else
-
-#ifndef NDEBUG
+# ifndef NDEBUG
/* may be used for debug purposes */
extern int cache_error;
-#endif
+# endif
/**
* Constructor used to initialize allocated objects
@@ -111,6 +145,4 @@
* @param ptr pointer to the object to return.
*/
void cache_free(cache_t* handle, void* ptr);
-#endif
-
-#endif
+#endif // HAVE_UMEM_H
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/response.cc
^
|
@@ -201,7 +201,6 @@
/* We add two bytes so that we can walk the \r\n */
if (memcached_failed(memcached_string_check(&result->value, value_length +2)))
{
- value_length= 0;
return memcached_set_error(*ptr, MEMCACHED_MEMORY_ALLOCATION_FAILURE, MEMCACHED_AT);
}
@@ -401,7 +400,7 @@
header.response.cas= memcached_ntohll(header.response.cas);
uint32_t bodylen= header.response.bodylen;
- if (header.response.status == PROTOCOL_BINARY_RESPONSE_SUCCESS ||
+ if (header.response.status == PROTOCOL_BINARY_RESPONSE_SUCCESS or
header.response.status == PROTOCOL_BINARY_RESPONSE_AUTH_CONTINUE)
{
switch (header.response.opcode)
@@ -601,13 +600,15 @@
case PROTOCOL_BINARY_CMD_APPENDQ:
case PROTOCOL_BINARY_CMD_PREPENDQ:
return binary_read_one_response(ptr, buffer, buffer_length, result);
+
default:
break;
}
}
rc= MEMCACHED_SUCCESS;
- unlikely(header.response.status != 0)
+ if (header.response.status != 0)
+ {
switch (header.response.status)
{
case PROTOCOL_BINARY_RESPONSE_KEY_ENOENT:
@@ -645,6 +646,7 @@
rc= MEMCACHED_PROTOCOL_ERROR;
break;
}
+ }
return rc;
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/return.h
^
|
@@ -115,4 +115,15 @@
rc != MEMCACHED_VALUE);
}
+static inline bool memcached_fatal(memcached_return_t rc)
+{
+ return (rc != MEMCACHED_SUCCESS &&
+ rc != MEMCACHED_END &&
+ rc != MEMCACHED_STORED &&
+ rc != MEMCACHED_STAT &&
+ rc != MEMCACHED_DELETED &&
+ rc != MEMCACHED_BUFFERED &&
+ rc != MEMCACHED_VALUE);
+}
+
#define memcached_continue(__memcached_return_t) ((__memcached_return_t) == MEMCACHED_IN_PROGRESS)
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/server.cc
^
|
@@ -195,7 +195,7 @@
hostname,
source->port, source->weight,
source->type);
- if (not destination)
+ if (destination)
{
if (source->error_messages)
{
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/server.h
^
|
@@ -42,6 +42,12 @@
#include <netdb.h>
#endif
+#ifdef NI_MAXHOST
+#define MEMCACHED_NI_MAXHOST NI_MAXHOST
+#else
+#define MEMCACHED_NI_MAXHOST 1025
+#endif
+
enum memcached_server_state_t {
MEMCACHED_SERVER_STATE_NEW, // fd == -1, no address lookup has been done
MEMCACHED_SERVER_STATE_ADDRINFO, // ADDRRESS information has been gathered
@@ -87,7 +93,7 @@
struct memcached_error_t *error_messages;
char read_buffer[MEMCACHED_MAX_BUFFER];
char write_buffer[MEMCACHED_MAX_BUFFER];
- char hostname[NI_MAXHOST];
+ char hostname[MEMCACHED_NI_MAXHOST];
};
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/stats.cc
^
|
@@ -433,8 +433,7 @@
string_ptr= end_ptr + 1;
for (end_ptr= string_ptr; !(isspace(*end_ptr)); end_ptr++) {};
value= string_ptr;
- value[(size_t)(end_ptr-string_ptr)]= 0;
- string_ptr= end_ptr + 2;
+ value[(size_t)(end_ptr -string_ptr)]= 0;
if (memc_stat)
{
unlikely((set_data(memc_stat, key, value)) == MEMCACHED_UNKNOWN_STAT_KEY)
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/storage.cc
^
|
@@ -126,7 +126,9 @@
request.message.header.request.keylen= htons((uint16_t)(key_length + memcached_array_size(ptr->_namespace)));
request.message.header.request.datatype= PROTOCOL_BINARY_RAW_BYTES;
if (verb == APPEND_OP || verb == PREPEND_OP)
+ {
send_length -= 8; /* append & prepend does not contain extras! */
+ }
else
{
request.message.header.request.extlen= 8;
@@ -138,7 +140,9 @@
request.message.header.request.extlen));
if (cas)
+ {
request.message.header.request.cas= memcached_htonll(cas);
+ }
flush= (bool) ((server->root->flags.buffer_requests && verb == SET_OP) ? 0 : 1);
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/util/pool.cc
^
|
@@ -39,13 +39,13 @@
#include <libmemcached/common.h>
#include <libmemcached/memcached_util.h>
+#include <libmemcached/error.hpp>
+
#include <cassert>
#include <cerrno>
#include <pthread.h>
#include <memory>
-static bool grow_pool(memcached_pool_st* pool);
-
struct memcached_pool_st
{
pthread_mutex_t mutex;
@@ -56,6 +56,7 @@
const uint32_t size;
uint32_t current_size;
bool _owns_master;
+ struct timespec _timeout;
memcached_pool_st(memcached_st *master_arg, size_t max_arg) :
master(master_arg),
@@ -67,27 +68,22 @@
{
pthread_mutex_init(&mutex, NULL);
pthread_cond_init(&cond, NULL);
+ _timeout.tv_sec= 5;
+ _timeout.tv_nsec= 0;
}
- bool init(uint32_t initial)
+ const struct timespec& timeout() const
{
- server_pool= new (std::nothrow) memcached_st *[size];
- if (not server_pool)
- return false;
-
- /*
- Try to create the initial size of the pool. An allocation failure at
- this time is not fatal..
- */
- for (unsigned int x= 0; x < initial; ++x)
- {
- if (not grow_pool(this))
- break;
- }
-
- return true;
+ return _timeout;
}
+ bool release(memcached_st*, memcached_return_t& rc);
+
+ memcached_st *fetch(memcached_return_t& rc);
+ memcached_st *fetch(const struct timespec&, memcached_return_t& rc);
+
+ bool init(uint32_t initial);
+
~memcached_pool_st()
{
for (int x= 0; x <= firstfree; ++x)
@@ -121,27 +117,6 @@
}
};
-static memcached_return_t mutex_enter(pthread_mutex_t *mutex)
-{
- int ret;
- do
- {
- ret= pthread_mutex_lock(mutex);
- } while (ret == -1 && errno == EINTR);
-
- return (ret == -1) ? MEMCACHED_ERRNO : MEMCACHED_SUCCESS;
-}
-
-static memcached_return_t mutex_exit(pthread_mutex_t *mutex)
-{
- int ret;
- do
- {
- ret= pthread_mutex_unlock(mutex);
- } while (ret == -1 && errno == EINTR);
-
- return (ret == -1) ? MEMCACHED_ERRNO : MEMCACHED_SUCCESS;
-}
/**
* Grow the connection pool by creating a connection structure and clone the
@@ -149,6 +124,8 @@
*/
static bool grow_pool(memcached_pool_st* pool)
{
+ assert(pool);
+
memcached_st *obj;
if (not (obj= memcached_clone(NULL, pool->master)))
{
@@ -162,18 +139,38 @@
return true;
}
+bool memcached_pool_st::init(uint32_t initial)
+{
+ server_pool= new (std::nothrow) memcached_st *[size];
+ if (not server_pool)
+ return false;
+
+ /*
+ Try to create the initial size of the pool. An allocation failure at
+ this time is not fatal..
+ */
+ for (unsigned int x= 0; x < initial; ++x)
+ {
+ if (grow_pool(this) == false)
+ {
+ break;
+ }
+ }
+
+ return true;
+}
+
+
static inline memcached_pool_st *_pool_create(memcached_st* master, uint32_t initial, uint32_t max)
{
- if (! initial || ! max || initial > max)
+ if (initial == 0 or max == 0 or (initial > max))
{
- errno= EINVAL;
return NULL;
}
memcached_pool_st *object= new (std::nothrow) memcached_pool_st(master, max);
- if (not object)
+ if (object == NULL)
{
- errno= ENOMEM; // Set this for the failed calloc
return NULL;
}
@@ -199,18 +196,17 @@
{
memcached_st *memc= memcached(option_string, option_string_length);
- if (not memc)
+ if (memc == NULL)
+ {
return NULL;
+ }
- memcached_pool_st *self;
- self= memcached_pool_create(memc, memc->configure.initial_pool_size, memc->configure.max_pool_size);
- if (not self)
+ memcached_pool_st *self= memcached_pool_create(memc, memc->configure.initial_pool_size, memc->configure.max_pool_size);
+ if (self == NULL)
{
memcached_free(memc);
- errno= ENOMEM;
return NULL;
}
- errno= 0;
self->_owns_master= true;
@@ -219,8 +215,10 @@
memcached_st* memcached_pool_destroy(memcached_pool_st* pool)
{
- if (not pool)
+ if (pool == NULL)
+ {
return NULL;
+ }
// Legacy that we return the original structure
memcached_st *ret= NULL;
@@ -236,94 +234,180 @@
return ret;
}
-memcached_st* memcached_pool_pop(memcached_pool_st* pool,
- bool block,
- memcached_return_t *rc)
+memcached_st* memcached_pool_st::fetch(memcached_return_t& rc)
{
- assert(pool);
- assert(rc);
- if (not pool || not rc)
- {
- errno= EINVAL;
- return NULL;
- }
+ static struct timespec relative_time= { 0, 0 };
+ return fetch(relative_time, rc);
+}
+
+memcached_st* memcached_pool_st::fetch(const struct timespec& relative_time, memcached_return_t& rc)
+{
+ rc= MEMCACHED_SUCCESS;
- if (memcached_failed((*rc= mutex_enter(&pool->mutex))))
+ if (pthread_mutex_lock(&mutex))
{
+ rc= MEMCACHED_IN_PROGRESS;
return NULL;
}
memcached_st *ret= NULL;
do
{
- if (pool->firstfree > -1)
+ if (firstfree > -1)
{
- ret= pool->server_pool[pool->firstfree--];
+ ret= server_pool[firstfree--];
}
- else if (pool->current_size == pool->size)
+ else if (current_size == size)
{
- if (not block)
+ if (relative_time.tv_sec == 0 and relative_time.tv_nsec == 0)
{
- *rc= mutex_exit(&pool->mutex); // this should be a different error
+ pthread_mutex_unlock(&mutex);
+ rc= MEMCACHED_NOTFOUND;
+
return NULL;
}
- if (pthread_cond_wait(&pool->cond, &pool->mutex) == -1)
+ struct timespec time_to_wait= {0, 0};
+ time_to_wait.tv_sec= time(NULL) +relative_time.tv_sec;
+ time_to_wait.tv_nsec= relative_time.tv_nsec;
+
+ int thread_ret;
+ if ((thread_ret= pthread_cond_timedwait(&cond, &mutex, &time_to_wait)) != 0)
{
- int err= errno;
- mutex_exit(&pool->mutex);
- errno= err;
- *rc= MEMCACHED_ERRNO;
+ pthread_mutex_unlock(&mutex);
+
+ if (thread_ret == ETIMEDOUT)
+ {
+ rc= MEMCACHED_TIMEOUT;
+ }
+ else
+ {
+ errno= thread_ret;
+ rc= MEMCACHED_ERRNO;
+ }
+
return NULL;
}
}
- else if (not grow_pool(pool))
+ else if (grow_pool(this) == false)
{
- (void)mutex_exit(&pool->mutex);
- *rc= MEMCACHED_MEMORY_ALLOCATION_FAILURE;
+ (void)pthread_mutex_unlock(&mutex);
return NULL;
}
- }
- while (ret == NULL);
+ } while (ret == NULL);
- *rc= mutex_exit(&pool->mutex);
+ pthread_mutex_unlock(&mutex);
return ret;
}
-memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *released)
+bool memcached_pool_st::release(memcached_st *released, memcached_return_t& rc)
{
- if (not pool)
- return MEMCACHED_INVALID_ARGUMENTS;
-
- memcached_return_t rc= mutex_enter(&pool->mutex);
+ rc= MEMCACHED_SUCCESS;
+ if (released == NULL)
+ {
+ rc= MEMCACHED_INVALID_ARGUMENTS;
+ return false;
+ }
- if (rc != MEMCACHED_SUCCESS)
- return rc;
+ if (pthread_mutex_lock(&mutex))
+ {
+ rc= MEMCACHED_IN_PROGRESS;
+ return false;
+ }
- /* Someone updated the behavior on the object.. */
- if (not pool->compare_version(released))
+ /*
+ Someone updated the behavior on the object, so we clone a new memcached_st with the new settings. If we fail to clone, we keep the old one around.
+ */
+ if (compare_version(released) == false)
{
- memcached_free(released);
- if (not (released= memcached_clone(NULL, pool->master)))
+ memcached_st *memc;
+ if ((memc= memcached_clone(NULL, master)))
{
- rc= MEMCACHED_SOME_ERRORS;
+ memcached_free(released);
+ released= memc;
}
}
- pool->server_pool[++pool->firstfree]= released;
+ server_pool[++firstfree]= released;
- if (pool->firstfree == 0 && pool->current_size == pool->size)
+ if (firstfree == 0 and current_size == size)
{
/* we might have people waiting for a connection.. wake them up :-) */
- pthread_cond_broadcast(&pool->cond);
+ pthread_cond_broadcast(&cond);
}
- memcached_return_t rval= mutex_exit(&pool->mutex);
- if (rc == MEMCACHED_SOME_ERRORS)
- return rc;
+ (void)pthread_mutex_unlock(&mutex);
+
+ return true;
+}
+
+memcached_st* memcached_pool_fetch(memcached_pool_st* pool, struct timespec* relative_time, memcached_return_t* rc)
+{
+ if (pool == NULL)
+ {
+ return NULL;
+ }
+
+ memcached_return_t unused;
+ if (rc == NULL)
+ {
+ rc= &unused;
+ }
+
+ if (relative_time == NULL)
+ {
+ return pool->fetch(*rc);
+ }
+
+ return pool->fetch(*relative_time, *rc);
+}
+
+memcached_st* memcached_pool_pop(memcached_pool_st* pool,
+ bool block,
+ memcached_return_t *rc)
+{
+ if (pool == NULL)
+ {
+ return NULL;
+ }
+
+ memcached_return_t unused;
+ if (rc == NULL)
+ {
+ rc= &unused;
+ }
+
+ memcached_st *memc;
+ if (block)
+ {
+ memc= pool->fetch(pool->timeout(), *rc);
+ }
+ else
+ {
+ memc= pool->fetch(*rc);
+ }
- return rval;
+ return memc;
+}
+
+memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st *released)
+{
+ if (pool == NULL)
+ {
+ return MEMCACHED_INVALID_ARGUMENTS;
+ }
+
+ memcached_return_t rc;
+
+ (void) pool->release(released, rc);
+
+ return rc;
+}
+
+memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *released)
+{
+ return memcached_pool_release(pool, released);
}
@@ -331,18 +415,21 @@
memcached_behavior_t flag,
uint64_t data)
{
- if (not pool)
+ if (pool == NULL)
+ {
return MEMCACHED_INVALID_ARGUMENTS;
+ }
- memcached_return_t rc= mutex_enter(&pool->mutex);
- if (rc != MEMCACHED_SUCCESS)
- return rc;
+ if (pthread_mutex_lock(&pool->mutex))
+ {
+ return MEMCACHED_IN_PROGRESS;
+ }
/* update the master */
- rc= memcached_behavior_set(pool->master, flag, data);
- if (rc != MEMCACHED_SUCCESS)
+ memcached_return_t rc= memcached_behavior_set(pool->master, flag, data);
+ if (memcached_failed(rc))
{
- mutex_exit(&pool->mutex);
+ (void)pthread_mutex_unlock(&pool->mutex);
return rc;
}
@@ -350,16 +437,17 @@
/* update the clones */
for (int xx= 0; xx <= pool->firstfree; ++xx)
{
- rc= memcached_behavior_set(pool->server_pool[xx], flag, data);
- if (rc == MEMCACHED_SUCCESS)
+ if (memcached_success(memcached_behavior_set(pool->server_pool[xx], flag, data)))
{
pool->server_pool[xx]->configure.version= pool->version();
}
else
{
- memcached_free(pool->server_pool[xx]);
- if (not (pool->server_pool[xx]= memcached_clone(NULL, pool->master)))
+ memcached_st *memc;
+ if ((memc= memcached_clone(NULL, pool->master)))
{
+ memcached_free(pool->server_pool[xx]);
+ pool->server_pool[xx]= memc;
/* I'm not sure what to do in this case.. this would happen
if we fail to push the server list inside the client..
I should add a testcase for this, but I believe the following
@@ -370,23 +458,28 @@
}
}
- return mutex_exit(&pool->mutex);
+ (void)pthread_mutex_unlock(&pool->mutex);
+
+ return rc;
}
memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool,
memcached_behavior_t flag,
uint64_t *value)
{
- if (! pool)
+ if (pool == NULL)
+ {
return MEMCACHED_INVALID_ARGUMENTS;
+ }
- memcached_return_t rc= mutex_enter(&pool->mutex);
- if (rc != MEMCACHED_SUCCESS)
+ if (pthread_mutex_lock(&pool->mutex))
{
- return rc;
+ return MEMCACHED_IN_PROGRESS;
}
*value= memcached_behavior_get(pool->master, flag);
- return mutex_exit(&pool->mutex);
+ (void)pthread_mutex_unlock(&pool->mutex);
+
+ return MEMCACHED_SUCCESS;
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/util/pool.h
^
|
@@ -63,6 +63,11 @@
LIBMEMCACHED_API
memcached_return_t memcached_pool_push(memcached_pool_st* pool,
memcached_st* mmc);
+LIBMEMCACHED_API
+ memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+
+LIBMEMCACHED_API
+memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
LIBMEMCACHED_API
memcached_return_t memcached_pool_behavior_set(memcached_pool_st *ptr,
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libmemcached/virtual_bucket.c
^
|
@@ -71,7 +71,8 @@
virtual_bucket->replicas= replicas;
self->virtual_bucket= virtual_bucket;
- for (uint32_t x=0; x < buckets; x++)
+ uint32_t x= 0;
+ for (; x < buckets; x++)
{
virtual_bucket->buckets[x].master= host_map[x];
if (forward_map)
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libtest/cmdline.cc
^
|
@@ -35,10 +35,10 @@
arg_buffer << libtool();
- if (getenv("LIBTEST_TEST_ENVIRONMENT"))
+ if (getenv("PWD"))
{
- arg_buffer << getenv("LIBTEST_TEST_ENVIRONMENT");
- arg_buffer << " ";
+ arg_buffer << getenv("PWD");
+ arg_buffer << "/";
}
arg_buffer << executable;
@@ -47,14 +47,9 @@
arg_buffer << " " << *ptr;
}
- if (getenv("LIBTEST_TEST_ENVIRONMENT"))
- {
- std::cerr << std::endl << arg_buffer.str() << std::endl;
- }
- else
- {
+#if 0
arg_buffer << " > /dev/null 2>&1";
- }
+#endif
if (system(arg_buffer.str().c_str()) == -1)
{
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libtest/gearmand.h
^
|
@@ -24,7 +24,7 @@
#include <arpa/inet.h>
-namespace libtest { class Server; }
+namespace libtest { struct Server; }
namespace libtest {
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libtest/include.am
^
|
@@ -22,7 +22,7 @@
LIBTOOL_COMMAND= ${abs_top_builddir}/libtool --mode=execute
VALGRIND_COMMAND= $(LIBTOOL_COMMAND) valgrind --error-exitcode=1 --leak-check=yes --show-reachable=yes --track-fds=yes --malloc-fill=A5 --free-fill=DE
-HELGRIND_COMMAND= $(LIBTOOL_COMMAND) valgrind --tool=helgrind --read-var-info=yes --error-exitcode=1
+HELGRIND_COMMAND= $(LIBTOOL_COMMAND) valgrind --tool=helgrind --read-var-info=yes --error-exitcode=1 --read-var-info=yes
DRD_COMMAND= $(LIBTOOL_COMMAND) valgrind --tool=drd
GDB_COMMAND= $(LIBTOOL_COMMAND) gdb -f -x libtest/run.gdb
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libtest/test.cc
^
|
@@ -139,7 +139,6 @@
case TEST_FATAL:
case TEST_FAILURE:
case TEST_MEMORY_ALLOCATION_FAILURE:
- Error << argv[0] << " failed in Framework::create()";
delete world;
return EXIT_FAILURE;
}
@@ -151,7 +150,10 @@
}
else if (getenv("TEST_COLLECTION"))
{
- collection_to_run= getenv("TEST_COLLECTION");
+ if (strlen(getenv("TEST_COLLECTION")))
+ {
+ collection_to_run= getenv("TEST_COLLECTION");
+ }
}
if (collection_to_run)
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libtest/test.h
^
|
@@ -148,6 +148,8 @@
} \
} while (0)
+#define test_null test_zero
+
#define test_compare_got(__expected, __actual, __hint) \
do \
{ \
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libtest/unittest.cc
^
|
@@ -298,6 +298,33 @@
return TEST_SKIPPED;
}
+static test_return_t wait_BINARY(void *)
+{
+ const char *args[]= { "--quiet", 0 };
+
+ test_true(exec_cmdline("libtest/wait", args));
+
+ return TEST_SUCCESS;
+}
+
+static test_return_t wait_help_BINARY(void *)
+{
+ const char *args[]= { "--quiet", "--help", 0 };
+
+ test_true(exec_cmdline("libtest/wait", args));
+
+ return TEST_SUCCESS;
+}
+
+static test_return_t wait_version_BINARY(void *)
+{
+ const char *args[]= { "--quiet", "--version", 0 };
+
+ test_true(exec_cmdline("libtest/wait", args));
+
+ return TEST_SUCCESS;
+}
+
test_st gearmand_tests[] ={
#if 0
{"pause", 0, pause_test },
@@ -355,6 +382,13 @@
{0, 0, 0}
};
+test_st cmdline_tests[] ={
+ {"wait --quiet", 0, wait_BINARY },
+ {"wait --quiet --help", 0, wait_help_BINARY },
+ {"wait --quiet --version", 0, wait_version_BINARY },
+ {0, 0, 0}
+};
+
collection_st collection[] ={
{"environment", 0, 0, environment_tests},
{"return values", 0, 0, tests_log},
@@ -363,6 +397,7 @@
{"comparison", 0, 0, comparison_tests},
{"gearmand", 0, 0, gearmand_tests},
{"memcached", 0, 0, memcached_tests},
+ {"cmdline", 0, 0, cmdline_tests},
{0, 0, 0, 0}
};
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/libtest/wait.cc
^
|
@@ -22,10 +22,132 @@
#include <config.h>
#include <cstdlib>
+#include <fcntl.h>
+#include <getopt.h>
+#include <iostream>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
#include <libtest/wait.h>
+static void version_command(const char *command_name, int major_version, int minor_version)
+{
+ std::cout << command_name << " " << major_version << "." << minor_version << std::endl;
+ exit(EXIT_SUCCESS);
+}
+
+static void help_command(const char *command_name,
+ int major_version, int minor_version,
+ const struct option *long_options)
+{
+ std::cout << command_name << " " << major_version << "." << minor_version << std::endl;
+ std::cout << "Current options. A '=' means the option takes a value." << std::endl << std::endl;
+
+ for (uint32_t x= 0; long_options[x].name; x++)
+ {
+ std::cout << "\t --" << long_options[x].name << char(long_options[x].has_arg ? '=' : ' ') << std::endl;
+ }
+
+ std::cout << std::endl;
+ exit(EXIT_SUCCESS);
+}
+
+static void close_stdio(void)
+{
+ int fd;
+ if ((fd = open("/dev/null", O_RDWR, 0)) < 0)
+ {
+ return;
+ }
+ else
+ {
+ if (dup2(fd, STDIN_FILENO) < 0)
+ {
+ return;
+ }
+
+ if (dup2(fd, STDOUT_FILENO) < 0)
+ {
+ return;
+ }
+
+ if (dup2(fd, STDERR_FILENO) < 0)
+ {
+ return;
+ }
+
+ if (fd > STDERR_FILENO)
+ {
+ close(fd);
+ }
+ }
+}
+
+enum {
+ OPT_HELP,
+ OPT_QUIET,
+ OPT_VERSION
+};
+
+static void options_parse(int argc, char *argv[])
+{
+ static struct option long_options[]=
+ {
+ { "version", no_argument, NULL, OPT_VERSION},
+ { "help", no_argument, NULL, OPT_HELP},
+ { "quiet", no_argument, NULL, OPT_QUIET},
+ {0, 0, 0, 0},
+ };
+
+ bool opt_version= false;
+ bool opt_help= false;
+ int option_index= 0;
+
+ while (1)
+ {
+ int option_rv= getopt_long(argc, argv, "Vhvds:", long_options, &option_index);
+ if (option_rv == -1)
+ {
+ break;
+ }
+
+ switch (option_rv)
+ {
+ case OPT_HELP: /* --help or -h */
+ opt_help= true;
+ break;
+
+ case OPT_QUIET:
+ close_stdio();
+ break;
+
+ case '?':
+ /* getopt_long already printed an error message. */
+ exit(EXIT_SUCCESS);
+
+ default:
+ abort();
+ }
+ }
+
+ if (opt_version)
+ {
+ version_command(argv[0], 1, 0);
+ exit(EXIT_SUCCESS);
+ }
+
+ if (opt_help)
+ {
+ help_command(argv[0], 1, 0, long_options);
+ exit(EXIT_SUCCESS);
+ }
+}
+
int main(int argc, char *argv[])
{
+ options_parse(argc, argv);
+
if (argc == 2)
{
libtest::Wait wait(argv[1]);
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/m4/fnv.m4
^
|
@@ -0,0 +1,16 @@
+dnl ---------------------------------------------------------------------------
+dnl Macro: ENABLE_FNV64_HASH
+dnl ---------------------------------------------------------------------------
+AC_DEFUN([ENABLE_FNV64_HASH],
+ [AC_ARG_ENABLE([fnv64_hash],
+ [AS_HELP_STRING([--disable-fnv64_hash],
+ [build with support for fnv64 hashing. @<:@default=on@:>@])],
+ [ac_cv_enable_fnv64_hash=no],
+ [ac_cv_enable_fnv64_hash=yes])
+
+ AS_IF([test "$ac_cv_enable_fnv64_hash" = "yes"],
+ [AC_DEFINE([HAVE_FNV64_HASH], [1], [Enables fnv64 hashing support])])
+])
+dnl ---------------------------------------------------------------------------
+dnl End Macro: ENABLE_FNV64_HASH
+dnl ---------------------------------------------------------------------------
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/m4/pandora_canonical.m4
^
|
@@ -214,10 +214,6 @@
[Define if system doesn't define])
])
- AC_CHECK_LIBM
- dnl Bug on FreeBSD - LIBM check doesn't set the damn variable
- AC_SUBST([LIBM])
-
AC_CHECK_FUNC(setsockopt, [], [AC_CHECK_LIB(socket, setsockopt)])
AC_CHECK_FUNC(bind, [], [AC_CHECK_LIB(bind, bind)])
@@ -298,7 +294,7 @@
PANDORA_USE_PIPE
- AM_CFLAGS="${AM_CFLAGS} ${CC_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
+ AM_CFLAGS="-std=c99 ${AM_CFLAGS} ${CC_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
AM_CXXFLAGS="${AM_CXXFLAGS} ${CXX_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
AC_SUBST([AM_CFLAGS])
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/m4/pandora_optimize.m4
^
|
@@ -18,10 +18,6 @@
;;
esac
- dnl Once we can use a modern autoconf, we can replace the std=gnu99 here
- dnl with using AC_CC_STD_C99 above
- CC="${CC} -std=gnu99"
-
AM_CPPFLAGS="-g ${AM_CPPFLAGS}"
DEBUG_CFLAGS="-O0"
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/m4/pandora_platform.m4
^
|
@@ -88,6 +88,7 @@
AM_CFLAGS="${AM_CFLAGS} -I\${top_srcdir}/win32/mingw -I\${top_builddir}/win32/mingw -I\${top_srcdir}/win32 -I\${top_builddir}/win32"
;;
esac
+ AM_CONDITIONAL(TARGET_LINUX, [test "x${TARGET_LINUX}" = "xtrue"])
AM_CONDITIONAL(BUILD_WIN32, [test "x${TARGET_WINDOWS}" = "xtrue"])
AC_SUBST(PANDORA_OPTIMIZE_BITFIELD)
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/support/libmemcached.spec
^
|
@@ -1,6 +1,6 @@
Name: libmemcached
Summary: memcached C library and command line tools
-Version: 0.52
+Version: 0.53
Release: 1
License: BSD
Group: System Environment/Libraries
@@ -114,6 +114,7 @@
%{_includedir}/libhashkit/configure.h
%{_includedir}/libhashkit/digest.h
%{_includedir}/libhashkit/function.h
+%{_includedir}/libhashkit/has.h
%{_includedir}/libhashkit/hashkit.h
%{_includedir}/libhashkit/hashkit.hpp
%{_includedir}/libhashkit/str_algorithm.h
@@ -133,6 +134,7 @@
%{_includedir}/libmemcached/delete.h
%{_includedir}/libmemcached/dump.h
%{_includedir}/libmemcached/error.h
+%{_includedir}/libmemcached/exist.h
%{_includedir}/libmemcached/exception.hpp
%{_includedir}/libmemcached/fetch.h
%{_includedir}/libmemcached/flush.h
@@ -243,7 +245,10 @@
%{_mandir}/man3/memcached_pool_destroy.3.gz
%{_mandir}/man3/memcached_pool_pop.3.gz
%{_mandir}/man3/memcached_pool_push.3.gz
+%{_mandir}/man3/memcached_pool_fetch.3.gz
+%{_mandir}/man3/memcached_pool_release.3.gz
%{_mandir}/man3/memcached_pool_st.3.gz
+%{_mandir}/man3/memcached_pool.3.gz
%{_mandir}/man3/memcached_prepend.3.gz
%{_mandir}/man3/memcached_prepend_by_key.3.gz
%{_mandir}/man3/memcached_quit.3.gz
@@ -271,6 +276,8 @@
%{_mandir}/man3/memcached_stat_get_value.3.gz
%{_mandir}/man3/memcached_stat_servername.3.gz
%{_mandir}/man3/memcached_strerror.3.gz
+%{_mandir}/man3/memcached_exist.3.gz
+%{_mandir}/man3/memcached_exist_by_key.3.gz
%{_mandir}/man3/memcached_verbosity.3.gz
%{_mandir}/man3/memcached_version.3.gz
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/support/libmemcached.spec.in
^
|
@@ -114,6 +114,7 @@
%{_includedir}/libhashkit/configure.h
%{_includedir}/libhashkit/digest.h
%{_includedir}/libhashkit/function.h
+%{_includedir}/libhashkit/has.h
%{_includedir}/libhashkit/hashkit.h
%{_includedir}/libhashkit/hashkit.hpp
%{_includedir}/libhashkit/str_algorithm.h
@@ -133,6 +134,7 @@
%{_includedir}/libmemcached/delete.h
%{_includedir}/libmemcached/dump.h
%{_includedir}/libmemcached/error.h
+%{_includedir}/libmemcached/exist.h
%{_includedir}/libmemcached/exception.hpp
%{_includedir}/libmemcached/fetch.h
%{_includedir}/libmemcached/flush.h
@@ -243,7 +245,10 @@
%{_mandir}/man3/memcached_pool_destroy.3.gz
%{_mandir}/man3/memcached_pool_pop.3.gz
%{_mandir}/man3/memcached_pool_push.3.gz
+%{_mandir}/man3/memcached_pool_fetch.3.gz
+%{_mandir}/man3/memcached_pool_release.3.gz
%{_mandir}/man3/memcached_pool_st.3.gz
+%{_mandir}/man3/memcached_pool.3.gz
%{_mandir}/man3/memcached_prepend.3.gz
%{_mandir}/man3/memcached_prepend_by_key.3.gz
%{_mandir}/man3/memcached_quit.3.gz
@@ -271,6 +276,8 @@
%{_mandir}/man3/memcached_stat_get_value.3.gz
%{_mandir}/man3/memcached_stat_servername.3.gz
%{_mandir}/man3/memcached_strerror.3.gz
+%{_mandir}/man3/memcached_exist.3.gz
+%{_mandir}/man3/memcached_exist_by_key.3.gz
%{_mandir}/man3/memcached_verbosity.3.gz
%{_mandir}/man3/memcached_version.3.gz
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/tests/exist.cc
^
|
@@ -0,0 +1,74 @@
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Libmemcached library
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * The names of its contributors may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <config.h>
+#include <libtest/test.hpp>
+
+#include <tests/exist.h>
+
+using namespace libtest;
+
+test_return_t memcached_exist_NOTFOUND(memcached_st *memc)
+{
+ test_compare(MEMCACHED_NOTFOUND, memcached_exist(memc, test_literal_param("frog")));
+ return TEST_SUCCESS;
+}
+
+test_return_t memcached_exist_SUCCESS(memcached_st *memc)
+{
+ test_compare(MEMCACHED_SUCCESS, memcached_set(memc, test_literal_param("frog"), 0, 0, 0, 0));
+ test_compare(MEMCACHED_SUCCESS, memcached_exist(memc, test_literal_param("frog")));
+ test_compare(MEMCACHED_SUCCESS, memcached_delete(memc, test_literal_param("frog"), 0));
+ test_compare(MEMCACHED_NOTFOUND, memcached_exist(memc, test_literal_param("frog")));
+
+ return TEST_SUCCESS;
+}
+
+test_return_t memcached_exist_by_key_NOTFOUND(memcached_st *memc)
+{
+ test_compare(MEMCACHED_NOTFOUND, memcached_exist_by_key(memc, test_literal_param("master"), test_literal_param("frog")));
+ return TEST_SUCCESS;
+}
+
+test_return_t memcached_exist_by_key_SUCCESS(memcached_st *memc)
+{
+ test_compare(MEMCACHED_SUCCESS, memcached_set_by_key(memc, test_literal_param("master"), test_literal_param("frog"), 0, 0, 0, 0));
+ test_compare(MEMCACHED_SUCCESS, memcached_exist_by_key(memc, test_literal_param("master"), test_literal_param("frog")));
+ test_compare(MEMCACHED_SUCCESS, memcached_delete_by_key(memc, test_literal_param("master"), test_literal_param("frog"), 0));
+ test_compare(MEMCACHED_NOTFOUND, memcached_exist_by_key(memc, test_literal_param("master"), test_literal_param("frog")));
+
+ return TEST_SUCCESS;
+}
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/tests/exist.h
^
|
@@ -0,0 +1,42 @@
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Libmemcached library
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * The names of its contributors may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#pragma once
+
+test_return_t memcached_exist_NOTFOUND(memcached_st *);
+test_return_t memcached_exist_SUCCESS(memcached_st *);
+test_return_t memcached_exist_by_key_NOTFOUND(memcached_st *);
+test_return_t memcached_exist_by_key_SUCCESS(memcached_st *);
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/tests/hash_plus.cc
^
|
@@ -16,19 +16,17 @@
#include "hash_results.h"
-static test_return_t exists_test(void *obj)
+static test_return_t exists_test(void *)
{
Hashkit hashk;
- (void)obj;
(void)hashk;
return TEST_SUCCESS;
}
-static test_return_t new_test(void *obj)
+static test_return_t new_test(void *)
{
Hashkit *hashk= new Hashkit;
- (void)obj;
(void)hashk;
@@ -37,11 +35,10 @@
return TEST_SUCCESS;
}
-static test_return_t copy_test(void *obj)
+static test_return_t copy_test(void *)
{
Hashkit *hashk= new Hashkit;
Hashkit *copy(hashk);
- (void)obj;
(void)copy;
@@ -50,11 +47,10 @@
return TEST_SUCCESS;
}
-static test_return_t assign_test(void *obj)
+static test_return_t assign_test(void *)
{
Hashkit hashk;
Hashkit copy;
- (void)obj;
copy= hashk;
@@ -92,6 +88,11 @@
{
hashkit_return_t rc= hashk.set_function(*algo);
+ if (rc == HASHKIT_INVALID_ARGUMENT)
+ {
+ continue;
+ }
+
test_compare(HASHKIT_SUCCESS, rc);
uint32_t *list;
@@ -126,9 +127,6 @@
break;
case HASHKIT_HASH_HSIEH:
-#ifndef HAVE_HSIEH_HASH
- continue;
-#endif
list= hsieh_values;
break;
@@ -136,9 +134,6 @@
#ifdef WORDS_BIGENDIAN
continue;
#endif
-#ifndef HAVE_MURMUR_HASH
- continue;
-#endif
list= murmur_values;
break;
@@ -170,25 +165,23 @@
return TEST_SUCCESS;
}
-static test_return_t set_distribution_function_test(void *obj)
+static test_return_t set_distribution_function_test(void *)
{
Hashkit hashk;
hashkit_return_t rc;
- (void)obj;
rc= hashk.set_distribution_function(HASHKIT_HASH_CUSTOM);
test_true_got(rc == HASHKIT_FAILURE or rc == HASHKIT_INVALID_ARGUMENT, hashkit_strerror(NULL, rc));
- rc= hashk.set_distribution_function(HASHKIT_HASH_JENKINS);
- test_true(rc == HASHKIT_SUCCESS);
+ test_compare(HASHKIT_SUCCESS,
+ hashk.set_distribution_function(HASHKIT_HASH_JENKINS));
return TEST_SUCCESS;
}
-static test_return_t compare_function_test(void *obj)
+static test_return_t compare_function_test(void *)
{
Hashkit a, b;
- (void)obj;
b= a;
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/tests/hashkit_functions.cc
^
|
@@ -61,30 +61,28 @@
bool _unused;
};
-static test_return_t init_test(void *not_used)
+static test_return_t init_test(void *)
{
hashkit_st hashk;
hashkit_st *hashk_ptr;
- (void)not_used;
hashk_ptr= hashkit_create(&hashk);
test_true(hashk_ptr);
test_true(hashk_ptr == &hashk);
- test_true(hashkit_is_allocated(hashk_ptr) == false);
+ test_false(hashkit_is_allocated(hashk_ptr));
hashkit_free(hashk_ptr);
return TEST_SUCCESS;
}
-static test_return_t allocation_test(void *not_used)
+static test_return_t allocation_test(void *)
{
hashkit_st *hashk_ptr;
- (void)not_used;
hashk_ptr= hashkit_create(NULL);
test_true(hashk_ptr);
- test_true(hashkit_is_allocated(hashk_ptr) == true);
+ test_true(hashkit_is_allocated(hashk_ptr));
hashkit_free(hashk_ptr);
return TEST_SUCCESS;
@@ -93,7 +91,7 @@
static test_return_t clone_test(hashkit_st *hashk)
{
// First we make sure that the testing system is giving us what we expect.
- assert(&global_hashk == hashk);
+ test_true(&global_hashk == hashk);
// Second we test if hashk is even valid
@@ -147,149 +145,126 @@
return TEST_SUCCESS;
}
-static test_return_t one_at_a_time_run (hashkit_st *hashk)
+static test_return_t one_at_a_time_run (hashkit_st *)
{
uint32_t x;
const char **ptr;
- (void)hashk;
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= libhashkit_one_at_a_time(*ptr, strlen(*ptr));
- test_true(one_at_a_time_values[x] == hash_val);
+ test_compare(one_at_a_time_values[x],
+ libhashkit_one_at_a_time(*ptr, strlen(*ptr)));
}
return TEST_SUCCESS;
}
-static test_return_t md5_run (hashkit_st *hashk)
+static test_return_t md5_run (hashkit_st *)
{
uint32_t x;
const char **ptr;
- (void)hashk;
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= libhashkit_md5(*ptr, strlen(*ptr));
- test_true(md5_values[x] == hash_val);
+ test_compare(md5_values[x],
+ libhashkit_md5(*ptr, strlen(*ptr)));
}
return TEST_SUCCESS;
}
-static test_return_t crc_run (hashkit_st *hashk)
+static test_return_t crc_run (hashkit_st *)
{
uint32_t x;
const char **ptr;
- (void)hashk;
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= libhashkit_crc32(*ptr, strlen(*ptr));
- assert(crc_values[x] == hash_val);
+ test_compare(crc_values[x],
+ libhashkit_crc32(*ptr, strlen(*ptr)));
}
return TEST_SUCCESS;
}
-static test_return_t fnv1_64_run (hashkit_st *hashk)
+static test_return_t fnv1_64_run (hashkit_st *)
{
+ test_skip(true, libhashkit_has_algorithm(HASHKIT_HASH_FNV1_64));
+
uint32_t x;
const char **ptr;
- (void)hashk;
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= libhashkit_fnv1_64(*ptr, strlen(*ptr));
- assert(fnv1_64_values[x] == hash_val);
+ test_compare(fnv1_64_values[x],
+ libhashkit_fnv1_64(*ptr, strlen(*ptr)));
}
return TEST_SUCCESS;
}
-static test_return_t fnv1a_64_run (hashkit_st *hashk)
+static test_return_t fnv1a_64_run (hashkit_st *)
{
+ test_skip(true, libhashkit_has_algorithm(HASHKIT_HASH_FNV1A_64));
uint32_t x;
const char **ptr;
- (void)hashk;
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= libhashkit_fnv1a_64(*ptr, strlen(*ptr));
- assert(fnv1a_64_values[x] == hash_val);
+ test_compare(fnv1a_64_values[x],
+ libhashkit_fnv1a_64(*ptr, strlen(*ptr)));
}
return TEST_SUCCESS;
}
-static test_return_t fnv1_32_run (hashkit_st *hashk)
+static test_return_t fnv1_32_run (hashkit_st *)
{
uint32_t x;
const char **ptr;
- (void)hashk;
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= libhashkit_fnv1_32(*ptr, strlen(*ptr));
- assert(fnv1_32_values[x] == hash_val);
+ test_compare(fnv1_32_values[x],
+ libhashkit_fnv1_32(*ptr, strlen(*ptr)));
}
return TEST_SUCCESS;
}
-static test_return_t fnv1a_32_run (hashkit_st *hashk)
+static test_return_t fnv1a_32_run (hashkit_st *)
{
uint32_t x;
const char **ptr;
- (void)hashk;
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= libhashkit_fnv1a_32(*ptr, strlen(*ptr));
- assert(fnv1a_32_values[x] == hash_val);
+ test_compare(fnv1a_32_values[x],
+ libhashkit_fnv1a_32(*ptr, strlen(*ptr)));
}
return TEST_SUCCESS;
}
-static test_return_t hsieh_run (hashkit_st *hashk)
+static test_return_t hsieh_run (hashkit_st *)
{
+ test_skip(true, libhashkit_has_algorithm(HASHKIT_HASH_HSIEH));
+
uint32_t x;
const char **ptr;
- (void)hashk;
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
-#ifdef HAVE_HSIEH_HASH
- hash_val= libhashkit_hsieh(*ptr, strlen(*ptr));
-#else
- hash_val= 1;
-#endif
- assert(hsieh_values[x] == hash_val);
+ test_compare(hsieh_values[x],
+ libhashkit_hsieh(*ptr, strlen(*ptr)));
}
return TEST_SUCCESS;
}
-static test_return_t murmur_run (hashkit_st *hashk)
+static test_return_t murmur_run (hashkit_st *)
{
- (void)hashk;
+ test_skip(true, libhashkit_has_algorithm(HASHKIT_HASH_MURMUR));
#ifdef WORDS_BIGENDIAN
(void)murmur_values;
@@ -300,32 +275,23 @@
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
-#ifdef HAVE_MURMUR_HASH
- hash_val= libhashkit_murmur(*ptr, strlen(*ptr));
-#else
- hash_val= 1;
-#endif
- assert(murmur_values[x] == hash_val);
+ test_compare(murmur_values[x],
+ libhashkit_murmur(*ptr, strlen(*ptr)));
}
return TEST_SUCCESS;
#endif
}
-static test_return_t jenkins_run (hashkit_st *hashk)
+static test_return_t jenkins_run (hashkit_st *)
{
uint32_t x;
const char **ptr;
- (void)hashk;
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= libhashkit_jenkins(*ptr, strlen(*ptr));
- assert(jenkins_values[x] == hash_val);
+ test_compare(jenkins_values[x],
+ libhashkit_jenkins(*ptr, strlen(*ptr)));
}
return TEST_SUCCESS;
@@ -360,56 +326,54 @@
const char **ptr;
uint32_t *list;
- hashkit_return_t rc= hashkit_set_function(hashk, static_cast<hashkit_hash_algorithm_t>(algo));
+ test_skip(true, libhashkit_has_algorithm(static_cast<hashkit_hash_algorithm_t>(algo)));
- /* Hsieh is disabled most of the time for patent issues */
-#ifndef HAVE_HSIEH_HASH
- if (rc == HASHKIT_FAILURE && algo == HASHKIT_HASH_HSIEH)
- continue;
-#endif
-
-#ifndef HAVE_MURMUR_HASH
- if (rc == HASHKIT_FAILURE && algo == HASHKIT_HASH_MURMUR)
- continue;
-#endif
-
- if (rc == HASHKIT_INVALID_ARGUMENT && algo == HASHKIT_HASH_CUSTOM)
- continue;
+ hashkit_return_t rc= hashkit_set_function(hashk, static_cast<hashkit_hash_algorithm_t>(algo));
- test_true_got(rc == HASHKIT_SUCCESS, hashkit_strerror(NULL, rc));
+ test_compare_got(HASHKIT_SUCCESS, rc, hashkit_strerror(NULL, rc));
switch (algo)
{
case HASHKIT_HASH_DEFAULT:
list= one_at_a_time_values;
break;
+
case HASHKIT_HASH_MD5:
list= md5_values;
break;
+
case HASHKIT_HASH_CRC:
list= crc_values;
break;
+
case HASHKIT_HASH_FNV1_64:
list= fnv1_64_values;
break;
+
case HASHKIT_HASH_FNV1A_64:
list= fnv1a_64_values;
break;
+
case HASHKIT_HASH_FNV1_32:
list= fnv1_32_values;
break;
+
case HASHKIT_HASH_FNV1A_32:
list= fnv1a_32_values;
break;
+
case HASHKIT_HASH_HSIEH:
list= hsieh_values;
break;
+
case HASHKIT_HASH_MURMUR:
list= murmur_values;
break;
+
case HASHKIT_HASH_JENKINS:
list= jenkins_values;
break;
+
case HASHKIT_HASH_CUSTOM:
case HASHKIT_HASH_MAX:
default:
@@ -422,10 +386,8 @@
{
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= hashkit_digest(hashk, *ptr, strlen(*ptr));
- test_true(list[x] == hash_val);
+ test_compare(list[x],
+ hashkit_digest(hashk, *ptr, strlen(*ptr)));
}
}
else
@@ -437,28 +399,24 @@
return TEST_SUCCESS;
}
-static uint32_t hash_test_function(const char *string, size_t string_length, void *context)
+static uint32_t hash_test_function(const char *string, size_t string_length, void *)
{
- (void)context;
return libhashkit_md5(string, string_length);
}
static test_return_t hashkit_set_custom_function_test(hashkit_st *hashk)
{
- hashkit_return_t rc;
uint32_t x;
const char **ptr;
- rc= hashkit_set_custom_function(hashk, hash_test_function, NULL);
- test_true(rc == HASHKIT_SUCCESS);
+ test_compare(HASHKIT_SUCCESS,
+ hashkit_set_custom_function(hashk, hash_test_function, NULL));
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= hashkit_digest(hashk, *ptr, strlen(*ptr));
- test_true(md5_values[x] == hash_val);
+ test_compare(md5_values[x],
+ hashkit_digest(hashk, *ptr, strlen(*ptr)));
}
return TEST_SUCCESS;
@@ -471,13 +429,10 @@
hashkit_return_t rc= hashkit_set_distribution_function(hashk, static_cast<hashkit_hash_algorithm_t>(algo));
/* Hsieh is disabled most of the time for patent issues */
- if (rc == HASHKIT_FAILURE && algo == HASHKIT_HASH_HSIEH)
- continue;
-
- if (rc == HASHKIT_INVALID_ARGUMENT && algo == HASHKIT_HASH_CUSTOM)
+ if (rc == HASHKIT_INVALID_ARGUMENT)
continue;
- test_true(rc == HASHKIT_SUCCESS);
+ test_compare(HASHKIT_SUCCESS, rc);
}
return TEST_SUCCESS;
@@ -485,8 +440,8 @@
static test_return_t hashkit_set_custom_distribution_function_test(hashkit_st *hashk)
{
- hashkit_return_t rc= hashkit_set_custom_distribution_function(hashk, hash_test_function, NULL);
- test_true(rc == HASHKIT_SUCCESS);
+ test_compare(HASHKIT_SUCCESS,
+ hashkit_set_custom_distribution_function(hashk, hash_test_function, NULL));
return TEST_SUCCESS;
}
@@ -497,13 +452,16 @@
for (int algo= int(HASHKIT_HASH_DEFAULT); algo < int(HASHKIT_HASH_MAX); algo++)
{
- if (HASHKIT_HASH_CUSTOM or HASHKIT_HASH_HSIEH)
+ if (HASHKIT_HASH_CUSTOM)
+ {
continue;
+ }
+ test_skip(true, libhashkit_has_algorithm(static_cast<hashkit_hash_algorithm_t>(algo)));
- hashkit_return_t rc= hashkit_set_function(hashk, static_cast<hashkit_hash_algorithm_t>(algo));
- test_true(rc == HASHKIT_SUCCESS);
+ test_compare(HASHKIT_SUCCESS,
+ hashkit_set_function(hashk, static_cast<hashkit_hash_algorithm_t>(algo)));
- test_true(hashkit_get_function(hashk) == algo);
+ test_compare(hashkit_get_function(hashk), algo);
}
return TEST_SUCCESS;
}
@@ -529,13 +487,9 @@
{0, 0, 0}
};
-static test_return_t libhashkit_digest_test(hashkit_st *hashk)
+static test_return_t libhashkit_digest_test(hashkit_st *)
{
-
- (void)hashk;
-
- uint32_t value= libhashkit_digest("a", sizeof("a"), HASHKIT_HASH_DEFAULT);
- test_true(value);
+ test_true(libhashkit_digest("a", sizeof("a"), HASHKIT_HASH_DEFAULT));
return TEST_SUCCESS;
}
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/tests/include.am
^
|
@@ -25,6 +25,7 @@
tests/basic.h \
tests/debug.h \
tests/error_conditions.h \
+ tests/exist.h \
tests/hash_results.h \
tests/ketama.h \
tests/ketama_test_cases.h \
@@ -71,6 +72,7 @@
tests/debug.cc \
tests/deprecated.cc \
tests/error_conditions.cc \
+ tests/exist.cc \
tests/ketama.cc \
tests/mem_functions.cc \
tests/namespace.cc \
@@ -174,12 +176,68 @@
check_PROGRAMS+= tests/memcapable
noinst_PROGRAMS+= tests/memcapable
+tests_memstat_SOURCES= tests/memstat.cc
+tests_memstat_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memstat_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS)
+tests_memstat_LDADD= $(tests_memstat_DEPENDENCIES)
+check_PROGRAMS+= tests/memstat
+noinst_PROGRAMS+= tests/memstat
+
+tests_memcp_SOURCES= tests/memcp.cc
+tests_memcp_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memcp_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS)
+tests_memcp_LDADD= $(tests_memcp_DEPENDENCIES)
+check_PROGRAMS+= tests/memcp
+noinst_PROGRAMS+= tests/memcp
+
+tests_memflush_SOURCES= tests/memflush.cc
+tests_memflush_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memflush_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS)
+tests_memflush_LDADD= $(tests_memflush_DEPENDENCIES)
+check_PROGRAMS+= tests/memflush
+noinst_PROGRAMS+= tests/memflush
+
+tests_memrm_SOURCES= tests/memrm.cc
+tests_memrm_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memrm_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS)
+tests_memrm_LDADD= $(tests_memrm_DEPENDENCIES)
+check_PROGRAMS+= tests/memrm
+noinst_PROGRAMS+= tests/memrm
+
+tests_memexist_SOURCES= tests/memexist.cc
+tests_memexist_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memexist_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS)
+tests_memexist_LDADD= $(tests_memexist_DEPENDENCIES)
+check_PROGRAMS+= tests/memexist
+noinst_PROGRAMS+= tests/memexist
+
+tests_memcat_SOURCES= tests/memcat.cc
+tests_memcat_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memcat_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS)
+tests_memcat_LDADD= $(tests_memcat_DEPENDENCIES)
+check_PROGRAMS+= tests/memcat
+noinst_PROGRAMS+= tests/memcat
+
+tests_memerror_SOURCES= tests/memerror.cc
+tests_memerror_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memerror_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS)
+tests_memerror_LDADD= $(tests_memerror_DEPENDENCIES)
+check_PROGRAMS+= tests/memerror
+noinst_PROGRAMS+= tests/memerror
+
tests_memslap_SOURCES= tests/memslap.cc
tests_memslap_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
tests_memslap_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS)
tests_memslap_LDADD= $(tests_memslap_DEPENDENCIES)
check_PROGRAMS+= tests/memslap
noinst_PROGRAMS+= tests/memslap
+
+tests_memdump_SOURCES= tests/memdump.cc
+tests_memdump_CXXFLAGS= $(AM_CXXFLAGS) $(NO_EFF_CXX)
+tests_memdump_DEPENDENCIES= libtest/libtest.la $(TESTS_LDADDS)
+tests_memdump_LDADD= $(tests_memdump_DEPENDENCIES)
+check_PROGRAMS+= tests/memdump
+noinst_PROGRAMS+= tests/memdump
# Test linking with C application
tests_c_test_SOURCES= tests/c_test.c
@@ -200,31 +258,9 @@
check-local: $(TEST_DOCS)
@echo "Tests completed"
-test-x: test-plus test-memcat test-memcp test-memrm test-memerror test-memdump test-memflush test-memstat
+test-x: test-plus test-memcp test-memdump test-memflush test-memstat
@echo "Tests completed"
-test-memcat: clients/memcat clients/memcp
- @echo "Testing memcat"
- @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
- @clients/memcp --servers="localhost:12555" `pwd`/clients/memcp
- @clients/memcat --servers="localhost:12555" memcp > `pwd`/tests/scratch
- @clients/memcat --servers="localhost:12555" --file=`pwd`/tests/scratch2 memcp
-# @diff clients/memcp tests/scratch
- @cat `pwd`/tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
- @rm `pwd`/tests/Xumemc.pid
- @rm `pwd`/tests/scratch
- @rm `pwd`/tests/scratch2
-
-valgrind-memcat: clients/memcat clients/memcp
- @echo "Testing memcat"
- @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
- @clients/memcp --servers="localhost:12555" clients/memcp
- @$(VALGRIND_COMMAND) clients/memcat --servers="localhost:12555" memcp > tests/scratch
-# @diff clients/memcp tests/scratch
- @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
- @rm tests/Xumemc.pid
- @rm tests/scratch
-
test-memcp: clients/memcp
@echo "Testing memcp"
@@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
@@ -239,22 +275,6 @@
@cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
@rm tests/Xumemc.pid
-test-memrm: clients/memrm clients/memcp
- @echo "Testing memrm"
- @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
- @clients/memcp --servers="localhost:12555" clients/memcat
- @clients/memrm --servers="localhost:12555" memcat
- @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
- @rm tests/Xumemc.pid
-
-valgrind-memrm: clients/memcat clients/memcp
- @echo "Testing memrm"
- @@MEMC_BINARY@ -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
- @clients/memcp --servers="localhost:12555" clients/memcat
- @$(VALGRIND_COMMAND) clients/memrm --servers="localhost:12555" memcat
- @cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
- @rm tests/Xumemc.pid
-
test-memflush: clients/memflush
@echo "Testing memflush"
@$(MEMC_BINARY) -d -u root -P `pwd`/tests/Xumemc.pid -p 12555
@@ -299,24 +319,12 @@
@cat tests/Xumemc.pid | xargs kill || echo "Failed to kill memcached server"
@rm tests/Xumemc.pid
-test-memerror: clients/memerror
- @echo "Testing memerror"
- @clients/memerror 0 > /dev/null
-
-valgrind-memerror: clients/memerror
- @echo "Testing memerror"
- @$(VALGRIND_COMMAND) clients/memerror 0 > /dev/null
-
test-mem: tests/var tests/testapp
@tests/testapp
test-sasl: tests/sasl
@tests/sasl
-
-test-udp: tests/var tests/testudp
- @tests/testudp
-
test-atom: tests/var tests/atomsmasher
@tests/atomsmasher
@@ -412,23 +420,3 @@
helgrind-hashplus: tests/hash_plus
@$(HELGRIND_COMMAND) tests/hash_plus
-
-.PHONY += helgrind
-helgrind: helgrind-cycle helgrind-mem helgrind-udp helgrind-plus helgrind-hash helgrind-hashplus
-
-.PHONY += cachegrind
-CLEANFILES += tests/cachegrind.out
-cachegrind:
- rm -f tests/cachegrind.out.*
- $(LIBTOOL) --mode=execute valgrind --tool=cachegrind --cachegrind-out-file=tests/cachegrind.out.%p --branch-sim=yes tests/testapp
- cg_annotate tests/cachegrind.out.* --auto=yes > tests/cachegrind.out
-
-.PHONY += callgrind
-CLEANFILES += tests/callgrind.out
-callgrind:
- rm -f tests/callgrind.out.*
- $(LIBTOOL) --mode=execute valgrind --tool=callgrind --callgrind-out-file=tests/callgrind.out.%p tests/testapp
- callgrind_annotate tests/callgrind.out.* --auto=yes > tests/callgrind.out
-
-hudson-valgrind: tests/testapp
- $(VALGRIND_COMMAND) --log-file=tests/valgrind.out tests/testapp
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/tests/mem_functions.cc
^
|
@@ -52,6 +52,7 @@
#include <cerrno>
#include <memory>
#include <pthread.h>
+#include <semaphore.h>
#include <signal.h>
#include <sys/stat.h>
#include <sys/time.h>
@@ -73,6 +74,7 @@
#include "tests/debug.h"
#include "tests/deprecated.h"
#include "tests/error_conditions.h"
+#include "tests/exist.h"
#include "tests/ketama.h"
#include "tests/namespace.h"
#include "tests/parser.h"
@@ -571,9 +573,11 @@
test_compare(MEMCACHED_SUCCESS, rc);
}
- rc= memcached_mget(memc, keys, key_length, 3);
+ test_compare(MEMCACHED_SUCCESS,
+ memcached_mget(memc, keys, key_length, 3));
results= memcached_result_create(memc, &results_obj);
+ test_true(results);
results= memcached_fetch_result(memc, &results_obj, &rc);
test_true(results);
@@ -616,9 +620,11 @@
(time_t)0, (uint32_t)0);
test_compare(MEMCACHED_SUCCESS, rc);
- rc= memcached_mget(memc, keys, keylengths, 1);
+ test_compare(MEMCACHED_SUCCESS,
+ memcached_mget(memc, keys, keylengths, 1));
results= memcached_result_create(memc, &results_obj);
+ test_true(results);
results= memcached_fetch_result(memc, &results_obj, &rc);
test_true(results);
@@ -819,12 +825,12 @@
const char *key= "foo bad";
uint32_t flags;
memcached_st *memc_clone;
- size_t max_keylen= 0xffff;
- // Just skip if we are in binary mode.
uint64_t query_id= memcached_query_id(memc);
- if (memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL))
- return TEST_SKIPPED;
+
+ // Just skip if we are in binary mode.
+ test_skip(false, memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL));
+
test_compare(query_id, memcached_query_id(memc)); // We should not increase the query_id for memcached_behavior_get()
memc_clone= memcached_clone(NULL, memc);
@@ -838,7 +844,7 @@
/* All keys are valid in the binary protocol (except for length) */
if (not memcached_behavior_get(memc_clone, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL))
{
- query_id= memcached_query_id(memc_clone);
+ uint64_t before_query_id= memcached_query_id(memc_clone);
{
size_t string_length;
char *string= memcached_get(memc_clone, key, strlen(key),
@@ -847,6 +853,7 @@
test_zero(string_length);
test_false(string);
}
+ test_compare(before_query_id +1, memcached_query_id(memc_clone));
query_id= memcached_query_id(memc_clone);
test_compare(MEMCACHED_SUCCESS,
@@ -879,8 +886,6 @@
memcached_mget_by_key(memc_clone, "foo daddy", 9, keys, key_lengths, 1));
test_compare(query_id +1, memcached_query_id(memc_clone));
- max_keylen= 250;
-
/* The following test should be moved to the end of this function when the
memcached server is updated to allow max size length of the keys in the
binary protocol
@@ -889,21 +894,18 @@
memcached_callback_set(memc_clone, MEMCACHED_CALLBACK_NAMESPACE, NULL));
std::vector <char> longkey;
- longkey.insert(longkey.end(), max_keylen +1, 'a');
- if (longkey.size())
+ longkey.insert(longkey.end(), MEMCACHED_MAX_KEY, 'a');
+ test_compare(longkey.size(), size_t(MEMCACHED_MAX_KEY));
{
size_t string_length;
- char *string= memcached_get(memc_clone, &longkey[0], max_keylen,
- &string_length, &flags, &rc);
+ // We subtract 1
+ test_null(memcached_get(memc_clone, &longkey[0], longkey.size() -1, &string_length, &flags, &rc));
test_compare(MEMCACHED_NOTFOUND, rc);
test_zero(string_length);
- test_false(string);
- string= memcached_get(memc_clone, &longkey[0], max_keylen +1,
- &string_length, &flags, &rc);
+ test_null(memcached_get(memc_clone, &longkey[0], longkey.size(), &string_length, &flags, &rc));
test_compare(MEMCACHED_BAD_KEY_PROVIDED, rc);
test_zero(string_length);
- test_false(string);
}
}
@@ -1265,6 +1267,7 @@
// this should indicate end
string= memcached_fetch(memc, key, &key_length, &string_length, &flags, &rc);
test_compare(MEMCACHED_END, rc);
+ test_null(string);
// now get just one
rc= memcached_mget(memc, keys, lengths, 1);
@@ -1281,6 +1284,7 @@
// this should indicate end
string= memcached_fetch(memc, key, &key_length, &string_length, &flags, &rc);
test_compare(MEMCACHED_END, rc);
+ test_null(string);
return TEST_SUCCESS;
}
@@ -3306,6 +3310,7 @@
{
memcached_result_st results_obj;
memcached_result_st *results= memcached_result_create(memc, &results_obj);
+ test_true(results);
memcached_return_t rc;
while ((results= memcached_fetch_result(memc, &results_obj, &rc)))
@@ -3376,6 +3381,8 @@
{
memcached_result_st results_obj;
memcached_result_st *results= memcached_result_create(memc, &results_obj);
+ test_true(results);
+ test_false(memcached_is_allocated(results));
memcached_return_t rc;
while ((results= memcached_fetch_result(memc, &results_obj, &rc)))
@@ -3517,13 +3524,8 @@
static test_return_t pre_murmur(memcached_st *memc)
{
-#ifdef HAVE_MURMUR_HASH
- memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, (uint64_t)MEMCACHED_HASH_MURMUR);
+ test_skip(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, (uint64_t)MEMCACHED_HASH_MURMUR));
return TEST_SUCCESS;
-#else
- (void) memc;
- return TEST_SKIPPED;
-#endif
}
static test_return_t pre_jenkins(memcached_st *memc)
@@ -3550,25 +3552,20 @@
static test_return_t pre_hsieh(memcached_st *memc)
{
-#ifdef HAVE_HSIEH_HASH
- memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, (uint64_t)MEMCACHED_HASH_HSIEH);
+ test_skip(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, (uint64_t)MEMCACHED_HASH_HSIEH));
return TEST_SUCCESS;
-#else
- (void) memc;
- return TEST_SKIPPED;
-#endif
}
static test_return_t pre_hash_fnv1_64(memcached_st *memc)
{
- memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, (uint64_t)MEMCACHED_HASH_MURMUR);
+ test_skip(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, (uint64_t)MEMCACHED_HASH_MURMUR));
return TEST_SUCCESS;
}
static test_return_t pre_hash_fnv1a_64(memcached_st *memc)
{
- memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, (uint64_t)MEMCACHED_HASH_FNV1A_64);
+ test_skip(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, (uint64_t)MEMCACHED_HASH_FNV1A_64));
return TEST_SUCCESS;
}
@@ -3735,6 +3732,7 @@
/* Make sure be default none exists */
value= (char*)memcached_callback_get(memc, MEMCACHED_CALLBACK_NAMESPACE, &rc);
+ test_null(value);
test_compare_got(MEMCACHED_FAILURE, rc, memcached_strerror(NULL, rc));
/* Test a clean set */
@@ -3806,6 +3804,7 @@
/* Make sure be default none exists */
value= (char*)memcached_callback_get(memc, MEMCACHED_CALLBACK_NAMESPACE, &rc);
+ test_null(value);
test_compare_got(MEMCACHED_FAILURE, rc, memcached_strerror(NULL, rc));
/* Test a clean set */
@@ -4159,10 +4158,9 @@
static test_return_t analyzer_test(memcached_st *memc)
{
memcached_return_t rc;
- memcached_stat_st *memc_stat;
memcached_analysis_st *report;
- memc_stat= memcached_stat(memc, NULL, &rc);
+ memcached_stat_st *memc_stat= memcached_stat(memc, NULL, &rc);
test_compare(MEMCACHED_SUCCESS, rc);
test_true(memc_stat);
@@ -4194,68 +4192,85 @@
return TEST_SUCCESS;
}
-struct test_pool_context_st {
- memcached_pool_st* pool;
- memcached_st* mmc;
-};
-
-static void* connection_release(void *arg)
-{
- test_pool_context_st *resource= static_cast<test_pool_context_st *>(arg);
-
- usleep(250);
- // Release all of the memc we are holding
- assert(memcached_success(memcached_pool_push(resource->pool, resource->mmc)));
- return arg;
-}
#define POOL_SIZE 10
static test_return_t connection_pool_test(memcached_st *memc)
{
memcached_pool_st* pool= memcached_pool_create(memc, 5, POOL_SIZE);
- test_true(pool != NULL);
+ test_true(pool);
memcached_st *mmc[POOL_SIZE];
- memcached_return_t rc;
// Fill up our array that we will store the memc that are in the pool
for (size_t x= 0; x < POOL_SIZE; ++x)
{
- mmc[x]= memcached_pool_pop(pool, false, &rc);
- test_true(mmc[x] != NULL);
+ memcached_return_t rc;
+ mmc[x]= memcached_pool_fetch(pool, NULL, &rc);
test_compare(MEMCACHED_SUCCESS, rc);
+ test_true(mmc[x]);
}
// All memc should be gone
- test_true(memcached_pool_pop(pool, false, &rc) == NULL);
- test_compare(MEMCACHED_SUCCESS, rc);
+ {
+ memcached_return_t rc;
+ test_null(memcached_pool_fetch(pool, NULL, &rc));
+ test_compare(MEMCACHED_NOTFOUND, rc);
+ }
- pthread_t tid;
- test_pool_context_st item= { pool, mmc[9] };
+ // Release them..
+ for (size_t x= 0; x < POOL_SIZE; ++x)
+ {
+ if (mmc[x])
+ {
+ test_compare(MEMCACHED_SUCCESS, memcached_pool_release(pool, mmc[x]));
+ }
+ }
+ test_true(memcached_pool_destroy(pool) == memc);
- pthread_create(&tid, NULL, connection_release, &item);
- mmc[9]= memcached_pool_pop(pool, true, &rc);
- test_compare(MEMCACHED_SUCCESS, rc);
- pthread_join(tid, NULL);
- test_true(mmc[9]);
- const char *key= "key";
- size_t keylen= strlen(key);
+ return TEST_SUCCESS;
+}
+
+static test_return_t connection_pool2_test(memcached_st *memc)
+{
+ memcached_pool_st* pool= memcached_pool_create(memc, 5, POOL_SIZE);
+ test_true(pool);
+ memcached_st *mmc[POOL_SIZE];
+
+ // Fill up our array that we will store the memc that are in the pool
+ for (size_t x= 0; x < POOL_SIZE; ++x)
+ {
+ memcached_return_t rc;
+ mmc[x]= memcached_pool_fetch(pool, NULL, &rc);
+ test_compare(MEMCACHED_SUCCESS, rc);
+ test_true(mmc[x]);
+ }
+
+ // All memc should be gone
+ {
+ memcached_return_t rc;
+ test_null(memcached_pool_fetch(pool, NULL, &rc));
+ test_compare(MEMCACHED_NOTFOUND, rc);
+ }
// verify that I can do ops with all connections
test_compare(MEMCACHED_SUCCESS,
- memcached_set(mmc[0], key, keylen, "0", 1, 0, 0));
+ memcached_set(mmc[0],
+ test_literal_param("key"),
+ "0", 1, 0, 0));
for (uint64_t x= 0; x < POOL_SIZE; ++x)
{
uint64_t number_value;
test_compare(MEMCACHED_SUCCESS,
- memcached_increment(mmc[x], key, keylen, 1, &number_value));
+ memcached_increment(mmc[x],
+ test_literal_param("key"),
+ 1, &number_value));
test_compare(number_value, (x+1));
}
// Release them..
for (size_t x= 0; x < POOL_SIZE; ++x)
{
- test_compare(MEMCACHED_SUCCESS, memcached_pool_push(pool, mmc[x]));
+ test_compare(MEMCACHED_SUCCESS, memcached_pool_release(pool, mmc[x]));
}
@@ -4263,22 +4278,137 @@
* of the connections in the pool. It should however be enabled
* when I push the item into the pool
*/
- mmc[0]= memcached_pool_pop(pool, false, &rc);
+ mmc[0]= memcached_pool_fetch(pool, NULL, NULL);
test_true(mmc[0]);
- rc= memcached_pool_behavior_set(pool, MEMCACHED_BEHAVIOR_IO_MSG_WATERMARK, 9999);
- test_compare(MEMCACHED_SUCCESS, rc);
+ test_compare(MEMCACHED_SUCCESS,
+ memcached_pool_behavior_set(pool, MEMCACHED_BEHAVIOR_IO_MSG_WATERMARK, 9999));
- mmc[1]= memcached_pool_pop(pool, false, &rc);
- test_true(mmc[1]);
+ {
+ memcached_return_t rc;
+ mmc[1]= memcached_pool_fetch(pool, NULL, &rc);
+ test_true(mmc[1]);
+ test_compare(MEMCACHED_SUCCESS, rc);
+ }
test_compare(UINT64_C(9999), memcached_behavior_get(mmc[1], MEMCACHED_BEHAVIOR_IO_MSG_WATERMARK));
- test_compare(MEMCACHED_SUCCESS, memcached_pool_push(pool, mmc[1]));
- test_compare(MEMCACHED_SUCCESS, memcached_pool_push(pool, mmc[0]));
+ test_compare(MEMCACHED_SUCCESS, memcached_pool_release(pool, mmc[1]));
+ test_compare(MEMCACHED_SUCCESS, memcached_pool_release(pool, mmc[0]));
+
+ {
+ memcached_return_t rc;
+ mmc[0]= memcached_pool_fetch(pool, NULL, &rc);
+ test_true(mmc[0]);
+ test_compare(MEMCACHED_SUCCESS, rc);
+ }
- mmc[0]= memcached_pool_pop(pool, false, &rc);
test_compare(UINT64_C(9999), memcached_behavior_get(mmc[0], MEMCACHED_BEHAVIOR_IO_MSG_WATERMARK));
- test_compare(MEMCACHED_SUCCESS, memcached_pool_push(pool, mmc[0]));
+ test_compare(MEMCACHED_SUCCESS, memcached_pool_release(pool, mmc[0]));
+
+ test_true(memcached_pool_destroy(pool) == memc);
+
+ return TEST_SUCCESS;
+}
+
+struct test_pool_context_st {
+ volatile memcached_return_t rc;
+ memcached_pool_st* pool;
+ memcached_st* mmc;
+ sem_t _lock;
+
+ test_pool_context_st(memcached_pool_st *pool_arg, memcached_st *memc_arg):
+ rc(MEMCACHED_FAILURE),
+ pool(pool_arg),
+ mmc(memc_arg)
+ {
+ sem_init(&_lock, 0, 0);
+ }
+
+ void wait()
+ {
+ sem_wait(&_lock);
+ }
+
+ void release()
+ {
+ sem_post(&_lock);
+ }
+
+ ~test_pool_context_st()
+ {
+ sem_destroy(&_lock);
+ }
+};
+
+static void* connection_release(void *arg)
+{
+ test_pool_context_st *resource= static_cast<test_pool_context_st *>(arg);
+ assert(resource);
+ if (resource == NULL)
+ {
+ abort();
+ }
+
+ // Release all of the memc we are holding
+ resource->rc= memcached_pool_release(resource->pool, resource->mmc);
+ resource->release();
+
+ pthread_exit(arg);
+}
+
+static test_return_t connection_pool3_test(memcached_st *memc)
+{
+ memcached_pool_st* pool= memcached_pool_create(memc, 1, 1);
+ test_true(pool);
+
+ memcached_st *pool_memc;
+ {
+ memcached_return_t rc;
+ pool_memc= memcached_pool_fetch(pool, NULL, &rc);
+ test_compare(MEMCACHED_SUCCESS, rc);
+ test_true(pool_memc);
+ }
+
+ /*
+ @note This comment was written to describe what was believed to be the original authors intent.
+
+ This portion of the test creates a thread that will wait until told to free a memcached_st
+ that will be grabbed by the main thread.
+
+ It is believed that this tests whether or not we are handling ownership correctly.
+ */
+ pthread_t tid;
+ test_pool_context_st item(pool, pool_memc);
+
+ test_zero(pthread_create(&tid, NULL, connection_release, &item));
+ item.wait();
+
+ memcached_return_t rc;
+ memcached_st *pop_memc;
+ int counter= 5;
+ do
+ {
+ struct timespec relative_time= { 0, 0 };
+ pop_memc= memcached_pool_fetch(pool, &relative_time, &rc);
+
+ if (memcached_failed(rc))
+ {
+ test_null(pop_memc);
+ }
+ } while (rc == MEMCACHED_TIMEOUT and --counter);
+
+ if (memcached_failed(rc)) // Cleanup thread since we will exit once we test.
+ {
+ pthread_join(tid, NULL);
+ test_compare(MEMCACHED_SUCCESS, rc);
+ }
+
+ {
+ int pthread_ret= pthread_join(tid, NULL);
+ test_true(pthread_ret == 0 or pthread_ret == ESRCH);
+ }
+ test_compare(MEMCACHED_SUCCESS, rc);
+ test_true(pool_memc == pop_memc);
test_true(memcached_pool_destroy(pool) == memc);
@@ -4426,26 +4556,21 @@
static test_return_t hsieh_avaibility_test (memcached_st *memc)
{
- memcached_return_t expected_rc= MEMCACHED_INVALID_ARGUMENTS;
-#ifdef HAVE_HSIEH_HASH
- expected_rc= MEMCACHED_SUCCESS;
-#endif
- memcached_return_t rc= memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH,
- (uint64_t)MEMCACHED_HASH_HSIEH);
- test_true(rc == expected_rc);
+ test_skip(true, libhashkit_has_algorithm(HASHKIT_HASH_HSIEH));
+
+ test_compare(MEMCACHED_SUCCESS,
+ memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH,
+ (uint64_t)MEMCACHED_HASH_HSIEH));
return TEST_SUCCESS;
}
static test_return_t murmur_avaibility_test (memcached_st *memc)
{
- memcached_return_t expected_rc= MEMCACHED_INVALID_ARGUMENTS;
-#ifdef HAVE_MURMUR_HASH
- expected_rc= MEMCACHED_SUCCESS;
-#endif
- memcached_return_t rc= memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH,
- (uint64_t)MEMCACHED_HASH_MURMUR);
- test_true(rc == expected_rc);
+ test_skip(true, libhashkit_has_algorithm(HASHKIT_HASH_MURMUR));
+
+ test_compare(MEMCACHED_SUCCESS,
+ memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, (uint64_t)MEMCACHED_HASH_MURMUR));
return TEST_SUCCESS;
}
@@ -4457,10 +4582,8 @@
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_DEFAULT);
- test_true(one_at_a_time_values[x] == hash_val);
+ test_compare(one_at_a_time_values[x],
+ memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_DEFAULT));
}
return TEST_SUCCESS;
@@ -4473,10 +4596,8 @@
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_MD5);
- test_true(md5_values[x] == hash_val);
+ test_compare(md5_values[x],
+ memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_MD5));
}
return TEST_SUCCESS;
@@ -4489,10 +4610,8 @@
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_CRC);
- test_true(crc_values[x] == hash_val);
+ test_compare(crc_values[x],
+ memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_CRC));
}
return TEST_SUCCESS;
@@ -4500,15 +4619,15 @@
static test_return_t fnv1_64_run (memcached_st *)
{
+ test_skip(true, libhashkit_has_algorithm(HASHKIT_HASH_FNV1_64));
+
uint32_t x;
const char **ptr;
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_FNV1_64);
- test_true(fnv1_64_values[x] == hash_val);
+ test_compare(fnv1_64_values[x],
+ memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_FNV1_64));
}
return TEST_SUCCESS;
@@ -4516,15 +4635,15 @@
static test_return_t fnv1a_64_run (memcached_st *)
{
+ test_skip(true, libhashkit_has_algorithm(HASHKIT_HASH_FNV1A_64));
+
uint32_t x;
const char **ptr;
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_FNV1A_64);
- test_true(fnv1a_64_values[x] == hash_val);
+ test_compare(fnv1a_64_values[x],
+ memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_FNV1A_64));
}
return TEST_SUCCESS;
@@ -4537,10 +4656,8 @@
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_FNV1_32);
- test_true(fnv1_32_values[x] == hash_val);
+ test_compare(fnv1_32_values[x],
+ memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_FNV1_32));
}
return TEST_SUCCESS;
@@ -4553,10 +4670,8 @@
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_FNV1A_32);
- test_true(fnv1a_32_values[x] == hash_val);
+ test_compare(fnv1a_32_values[x],
+ memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_FNV1A_32));
}
return TEST_SUCCESS;
@@ -4564,15 +4679,15 @@
static test_return_t hsieh_run (memcached_st *)
{
+ test_skip(true, libhashkit_has_algorithm(HASHKIT_HASH_HSIEH));
+
uint32_t x;
const char **ptr;
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_HSIEH);
- test_true(hsieh_values[x] == hash_val);
+ test_compare(hsieh_values[x],
+ memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_HSIEH));
}
return TEST_SUCCESS;
@@ -4580,6 +4695,8 @@
static test_return_t murmur_run (memcached_st *)
{
+ test_skip(true, libhashkit_has_algorithm(HASHKIT_HASH_MURMUR));
+
#ifdef WORDS_BIGENDIAN
(void)murmur_values;
return TEST_SKIPPED;
@@ -4589,10 +4706,8 @@
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_MURMUR);
- test_true(murmur_values[x] == hash_val);
+ test_compare(murmur_values[x],
+ memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_MURMUR));
}
return TEST_SUCCESS;
@@ -4606,24 +4721,20 @@
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
{
- uint32_t hash_val;
-
- hash_val= memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_JENKINS);
- test_true(jenkins_values[x] == hash_val);
+ test_compare(jenkins_values[x],
+ memcached_generate_hash_value(*ptr, strlen(*ptr), MEMCACHED_HASH_JENKINS));
}
return TEST_SUCCESS;
}
-static uint32_t hash_md5_test_function(const char *string, size_t string_length, void *context)
+static uint32_t hash_md5_test_function(const char *string, size_t string_length, void *)
{
- (void)context;
return libhashkit_md5(string, string_length);
}
-static uint32_t hash_crc_test_function(const char *string, size_t string_length, void *context)
+static uint32_t hash_crc_test_function(const char *string, size_t string_length, void *)
{
- (void)context;
return libhashkit_crc32(string, string_length);
}
@@ -5661,6 +5772,27 @@
return TEST_SUCCESS;
}
+
+static test_return_t regression_bug_854604(memcached_st *)
+{
+ char buffer[1024];
+
+ test_compare(MEMCACHED_INVALID_ARGUMENTS, libmemcached_check_configuration(0, 0, buffer, 0));
+
+ test_compare(MEMCACHED_PARSE_ERROR, libmemcached_check_configuration(test_literal_param("syntax error"), buffer, 0));
+
+ test_compare(MEMCACHED_PARSE_ERROR, libmemcached_check_configuration(test_literal_param("syntax error"), buffer, 1));
+ test_compare(buffer[0], 0);
+
+ test_compare(MEMCACHED_PARSE_ERROR, libmemcached_check_configuration(test_literal_param("syntax error"), buffer, 10));
+ test_true(strlen(buffer));
+
+ test_compare(MEMCACHED_PARSE_ERROR, libmemcached_check_configuration(test_literal_param("syntax error"), buffer, sizeof(buffer)));
+ test_true(strlen(buffer));
+
+ return TEST_SUCCESS;
+}
+
static void memcached_die(memcached_st* mc, memcached_return error, const char* what, uint32_t it)
{
fprintf(stderr, "Iteration #%u: ", it);
@@ -5825,11 +5957,17 @@
{"delete_through", true, (test_callback_fn*)delete_through },
{"noreply", true, (test_callback_fn*)noreply_test},
{"analyzer", true, (test_callback_fn*)analyzer_test},
- {"connectionpool", true, (test_callback_fn*)connection_pool_test },
+ {"memcached_pool_st", true, (test_callback_fn*)connection_pool_test },
+ {"memcached_pool_st #2", true, (test_callback_fn*)connection_pool2_test },
+ {"memcached_pool_st #3", true, (test_callback_fn*)connection_pool3_test },
{"memcached_pool_test", true, (test_callback_fn*)memcached_pool_test },
{"test_get_last_disconnect", true, (test_callback_fn*)test_get_last_disconnect},
{"verbosity", true, (test_callback_fn*)test_verbosity},
{"memcached_stat_execute", true, (test_callback_fn*)memcached_stat_execute_test},
+ {"memcached_exist(MEMCACHED_NOTFOUND)", true, (test_callback_fn*)memcached_exist_NOTFOUND },
+ {"memcached_exist(MEMCACHED_SUCCESS)", true, (test_callback_fn*)memcached_exist_SUCCESS },
+ {"memcached_exist_by_key(MEMCACHED_NOTFOUND)", true, (test_callback_fn*)memcached_exist_by_key_NOTFOUND },
+ {"memcached_exist_by_key(MEMCACHED_SUCCESS)", true, (test_callback_fn*)memcached_exist_by_key_SUCCESS },
{0, 0, 0}
};
@@ -5967,6 +6105,7 @@
{"lp:71231153 poll()", true, (test_callback_fn*)regression_bug_71231153_poll },
{"lp:655423", true, (test_callback_fn*)regression_bug_655423 },
{"lp:490520", true, (test_callback_fn*)regression_bug_490520 },
+ {"lp:854604", true, (test_callback_fn*)regression_bug_854604 },
{0, false, (test_callback_fn*)0}
};
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/tests/memcapable.cc
^
|
@@ -52,11 +52,17 @@
static std::string executable;
+static test_return_t quiet_test(void *)
+{
+ const char *args[]= { "-q", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
static test_return_t help_test(void *)
{
- char buffer[1024];
- snprintf(buffer, sizeof(buffer), "-p %d", int(default_port()));
- const char *args[]= { buffer, "--help", 0 };
+ const char *args[]= { "-q", "--help", 0 };
test_true(exec_cmdline(executable, args));
return TEST_SUCCESS;
@@ -66,7 +72,7 @@
{
char buffer[1024];
snprintf(buffer, sizeof(buffer), "-p %d", int(default_port()));
- const char *args[]= { buffer, " -a ", 0 };
+ const char *args[]= { "-q", buffer, " -a ", 0 };
test_true(exec_cmdline(executable, args));
return TEST_SUCCESS;
@@ -76,13 +82,14 @@
{
char buffer[1024];
snprintf(buffer, sizeof(buffer), "-p %d", int(default_port()));
- const char *args[]= { buffer, " -b ", 0 };
+ const char *args[]= { "-q", buffer, " -b ", 0 };
test_true(exec_cmdline(executable, args));
return TEST_SUCCESS;
}
test_st memcapable_tests[] ={
+ {"--quiet", 0, quiet_test},
{"--help", 0, help_test},
{"-a, ascii", 0, ascii_test},
{"-b, binary", 0, binary_test},
@@ -96,6 +103,12 @@
static void *world_create(server_startup_st& servers, test_return_t& error)
{
+ if (HAVE_MEMCACHED_BINARY == 0)
+ {
+ error= TEST_FATAL;
+ return NULL;
+ }
+
const char *argv[1]= { "memcapable" };
if (not server_startup(servers, "memcached", MEMCACHED_DEFAULT_PORT +10, 1, argv))
{
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/tests/memcat.cc
^
|
@@ -0,0 +1,159 @@
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Test memcat
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * The names of its contributors may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+
+/*
+ Test that we are cycling the servers we are creating during testing.
+*/
+
+#include <config.h>
+
+#include <libtest/test.hpp>
+#include <libmemcached/memcached.h>
+
+using namespace libtest;
+
+#ifndef __INTEL_COMPILER
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif
+
+static std::string executable;
+
+static test_return_t quiet_test(void *)
+{
+ const char *args[]= { "--quiet", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t help_test(void *)
+{
+ const char *args[]= { "--quiet", "--help", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t cat_test(void *)
+{
+ char buffer[1024];
+ snprintf(buffer, sizeof(buffer), "--server=localhost:%d", int(default_port()));
+ const char *args[]= { "--quiet", buffer, "foo", 0 };
+
+ memcached_st *memc= memcached(buffer, strlen(buffer));
+ test_true(memc);
+
+ test_compare(MEMCACHED_SUCCESS,
+ memcached_set(memc, test_literal_param("foo"), 0, 0, 0, 0));
+
+ memcached_return_t rc;
+ test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc));
+ test_compare(MEMCACHED_SUCCESS, rc);
+
+ test_true(exec_cmdline(executable, args));
+
+ test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc));
+ test_compare(MEMCACHED_SUCCESS, rc);
+
+ memcached_free(memc);
+
+ return TEST_SUCCESS;
+}
+
+static test_return_t NOT_FOUND_test(void *)
+{
+ char buffer[1024];
+ snprintf(buffer, sizeof(buffer), "--server=localhost:%d", int(default_port()));
+ const char *args[]= { "--quiet", buffer, "foo", 0 };
+
+ memcached_st *memc= memcached(buffer, strlen(buffer));
+ test_true(memc);
+
+ test_compare(MEMCACHED_SUCCESS, memcached_flush(memc, 0));
+
+ memcached_return_t rc;
+ test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc));
+ test_compare(MEMCACHED_NOTFOUND, rc);
+
+ test_true(exec_cmdline(executable, args));
+
+ test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc));
+ test_compare(MEMCACHED_NOTFOUND, rc);
+
+ memcached_free(memc);
+
+ return TEST_SUCCESS;
+}
+
+test_st memcat_tests[] ={
+ {"--quiet", true, quiet_test },
+ {"--help", true, help_test },
+ {"cat(FOUND)", true, cat_test },
+ {"cat(NOT_FOUND)", true, NOT_FOUND_test },
+ {0, 0, 0}
+};
+
+collection_st collection[] ={
+ {"memcat", 0, 0, memcat_tests },
+ {0, 0, 0, 0}
+};
+
+static void *world_create(server_startup_st& servers, test_return_t& error)
+{
+ if (HAVE_MEMCACHED_BINARY == 0)
+ {
+ error= TEST_FATAL;
+ return NULL;
+ }
+
+ const char *argv[1]= { "memcat" };
+ if (not server_startup(servers, "memcached", MEMCACHED_DEFAULT_PORT +10, 1, argv))
+ {
+ error= TEST_FAILURE;
+ }
+
+ return &servers;
+}
+
+
+void get_world(Framework *world)
+{
+ executable= "clients/memcat";
+ world->collections= collection;
+ world->_create= world_create;
+}
+
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/tests/memcp.cc
^
|
@@ -0,0 +1,117 @@
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Test memcp
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * The names of its contributors may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+
+/*
+ Test that we are cycling the servers we are creating during testing.
+*/
+
+#include <config.h>
+
+#include <libtest/test.hpp>
+#include <libmemcached/memcached.h>
+
+using namespace libtest;
+
+#ifndef __INTEL_COMPILER
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif
+
+static std::string executable;
+
+static test_return_t quiet_test(void *)
+{
+ const char *args[]= { "--quiet", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t help_test(void *)
+{
+ const char *args[]= { "--quiet", "--help", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t server_test(void *)
+{
+ char buffer[1024];
+ snprintf(buffer, sizeof(buffer), "--servers=localhost:%d", int(default_port()));
+ const char *args[]= { "--quiet", buffer, 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+test_st memcp_tests[] ={
+ {"--quiet", true, quiet_test },
+ {"--help", true, help_test },
+ {"--server_test", true, server_test },
+ {0, 0, 0}
+};
+
+collection_st collection[] ={
+ {"memcp", 0, 0, memcp_tests },
+ {0, 0, 0, 0}
+};
+
+static void *world_create(server_startup_st& servers, test_return_t& error)
+{
+ if (HAVE_MEMCACHED_BINARY == 0)
+ {
+ error= TEST_FATAL;
+ return NULL;
+ }
+
+ const char *argv[1]= { "memcp" };
+ if (not server_startup(servers, "memcached", MEMCACHED_DEFAULT_PORT +10, 1, argv))
+ {
+ error= TEST_FAILURE;
+ }
+
+ return &servers;
+}
+
+
+void get_world(Framework *world)
+{
+ executable= "./clients/memcp";
+ world->collections= collection;
+ world->_create= world_create;
+}
+
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/tests/memdump.cc
^
|
@@ -0,0 +1,144 @@
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Test memdump
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * The names of its contributors may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+
+/*
+ Test that we are cycling the servers we are creating during testing.
+*/
+
+#include <config.h>
+
+#include <libtest/test.hpp>
+#include <libmemcached/memcached.h>
+
+using namespace libtest;
+
+#ifndef __INTEL_COMPILER
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif
+
+static std::string executable;
+
+static test_return_t quiet_test(void *)
+{
+ const char *args[]= { "--quiet", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t help_test(void *)
+{
+ const char *args[]= { "--help", "--quiet", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t server_test(void *)
+{
+ char buffer[1024];
+ snprintf(buffer, sizeof(buffer), "--servers=localhost:%d", int(default_port()));
+ const char *args[]= { buffer, 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t FOUND_test(void *)
+{
+ char buffer[1024];
+ snprintf(buffer, sizeof(buffer), "--server=localhost:%d", int(default_port()));
+ const char *args[]= { "--quiet", buffer, 0 };
+
+ memcached_st *memc= memcached(buffer, strlen(buffer));
+ test_true(memc);
+
+ test_compare(MEMCACHED_SUCCESS,
+ memcached_set(memc, test_literal_param("foo"), 0, 0, 0, 0));
+
+ test_compare(MEMCACHED_SUCCESS,
+ memcached_set(memc, test_literal_param("foo2"), 0, 0, 0, 0));
+
+ memcached_return_t rc;
+ test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc));
+ test_compare(MEMCACHED_SUCCESS, rc);
+
+ test_true(exec_cmdline(executable, args));
+
+ memcached_free(memc);
+
+ return TEST_SUCCESS;
+}
+
+test_st memdump_tests[] ={
+ {"--quiet", true, quiet_test },
+ {"--help", true, help_test },
+ {"--server", true, server_test },
+ {"FOUND", true, FOUND_test },
+ {0, 0, 0}
+};
+
+collection_st collection[] ={
+ {"memdump", 0, 0, memdump_tests },
+ {0, 0, 0, 0}
+};
+
+static void *world_create(server_startup_st& servers, test_return_t& error)
+{
+ if (HAVE_MEMCACHED_BINARY == 0)
+ {
+ error= TEST_FATAL;
+ return NULL;
+ }
+
+ const char *argv[1]= { "memdump" };
+ if (not server_startup(servers, "memcached", MEMCACHED_DEFAULT_PORT +10, 1, argv))
+ {
+ error= TEST_FAILURE;
+ }
+
+ return &servers;
+}
+
+
+void get_world(Framework *world)
+{
+ executable= "./clients/memdump";
+ world->collections= collection;
+ world->_create= world_create;
+}
+
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/tests/memerror.cc
^
|
@@ -0,0 +1,112 @@
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Test memerror
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * The names of its contributors may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+
+/*
+ Test that we are cycling the servers we are creating during testing.
+*/
+
+#include <config.h>
+
+#include <libtest/test.hpp>
+#include <libmemcached/memcached.h>
+
+using namespace libtest;
+
+#ifndef __INTEL_COMPILER
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif
+
+static std::string executable;
+
+static test_return_t quiet_test(void *)
+{
+ const char *args[]= { "--quiet", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t help_test(void *)
+{
+ const char *args[]= { "--quiet", "--help", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t error_test(void *)
+{
+ const char *args[]= { "--quiet", "MEMCACHED_SUCCESS", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t bad_input_test(void *)
+{
+ const char *args[]= { "--quiet", "bad input", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+test_st memerror_tests[] ={
+ {"--quiet", 0, quiet_test},
+ {"--help", 0, help_test},
+ {"<error>", 0, error_test},
+ {"<bad input>", 0, bad_input_test},
+ {0, 0, 0}
+};
+
+collection_st collection[] ={
+ {"memerror", 0, 0, memerror_tests },
+ {0, 0, 0, 0}
+};
+
+static void *world_create(server_startup_st&, test_return_t&)
+{
+ return NULL;
+}
+
+
+void get_world(Framework *world)
+{
+ executable= "./clients/memerror";
+ world->collections= collection;
+ world->_create= world_create;
+}
+
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/tests/memexist.cc
^
|
@@ -0,0 +1,159 @@
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Test memexist
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * The names of its contributors may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+
+/*
+ Test that we are cycling the servers we are creating during testing.
+*/
+
+#include <config.h>
+
+#include <libtest/test.hpp>
+#include <libmemcached/memcached.h>
+
+using namespace libtest;
+
+#ifndef __INTEL_COMPILER
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif
+
+static std::string executable;
+
+static test_return_t quiet_test(void *)
+{
+ const char *args[]= { "--quiet", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t help_test(void *)
+{
+ const char *args[]= { "--quiet", "--help", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t exist_test(void *)
+{
+ char buffer[1024];
+ snprintf(buffer, sizeof(buffer), "--server=localhost:%d", int(default_port()));
+ const char *args[]= { "--quiet", buffer, "foo", 0 };
+
+ memcached_st *memc= memcached(buffer, strlen(buffer));
+ test_true(memc);
+
+ test_compare(MEMCACHED_SUCCESS,
+ memcached_set(memc, test_literal_param("foo"), 0, 0, 0, 0));
+
+ memcached_return_t rc;
+ test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc));
+ test_compare(MEMCACHED_SUCCESS, rc);
+
+ test_true(exec_cmdline(executable, args));
+
+ test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc));
+ test_compare(MEMCACHED_SUCCESS, rc);
+
+ memcached_free(memc);
+
+ return TEST_SUCCESS;
+}
+
+static test_return_t NOT_FOUND_test(void *)
+{
+ char buffer[1024];
+ snprintf(buffer, sizeof(buffer), "--server=localhost:%d", int(default_port()));
+ const char *args[]= { "--quiet", buffer, "foo", 0 };
+
+ memcached_st *memc= memcached(buffer, strlen(buffer));
+ test_true(memc);
+
+ test_compare(MEMCACHED_SUCCESS, memcached_flush(memc, 0));
+
+ memcached_return_t rc;
+ test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc));
+ test_compare(MEMCACHED_NOTFOUND, rc);
+
+ test_true(exec_cmdline(executable, args));
+
+ test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc));
+ test_compare(MEMCACHED_NOTFOUND, rc);
+
+ memcached_free(memc);
+
+ return TEST_SUCCESS;
+}
+
+test_st memexist_tests[] ={
+ {"--quiet", true, quiet_test },
+ {"--help", true, help_test },
+ {"exist(FOUND)", true, exist_test },
+ {"exist(NOT_FOUND)", true, NOT_FOUND_test },
+ {0, 0, 0}
+};
+
+collection_st collection[] ={
+ {"memexist", 0, 0, memexist_tests },
+ {0, 0, 0, 0}
+};
+
+static void *world_create(server_startup_st& servers, test_return_t& error)
+{
+ if (HAVE_MEMCACHED_BINARY == 0)
+ {
+ error= TEST_FATAL;
+ return NULL;
+ }
+
+ const char *argv[1]= { "memexist" };
+ if (not server_startup(servers, "memcached", MEMCACHED_DEFAULT_PORT +10, 1, argv))
+ {
+ error= TEST_FAILURE;
+ }
+
+ return &servers;
+}
+
+
+void get_world(Framework *world)
+{
+ executable= "./clients/memexist";
+ world->collections= collection;
+ world->_create= world_create;
+}
+
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/tests/memflush.cc
^
|
@@ -0,0 +1,117 @@
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Test memflush
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * The names of its contributors may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+
+/*
+ Test that we are cycling the servers we are creating during testing.
+*/
+
+#include <config.h>
+
+#include <libtest/test.hpp>
+#include <libmemcached/memcached.h>
+
+using namespace libtest;
+
+#ifndef __INTEL_COMPILER
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif
+
+static std::string executable;
+
+static test_return_t quiet_test(void *)
+{
+ const char *args[]= { "--quiet", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t help_test(void *)
+{
+ const char *args[]= { "--quiet", "--help", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t server_test(void *)
+{
+ char buffer[1024];
+ snprintf(buffer, sizeof(buffer), "--servers=localhost:%d", int(default_port()));
+ const char *args[]= { "--quiet", buffer, 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+test_st memflush_tests[] ={
+ {"--quiet", true, quiet_test },
+ {"--help", true, help_test },
+ {"--server", true, server_test },
+ {0, 0, 0}
+};
+
+collection_st collection[] ={
+ {"memflush", 0, 0, memflush_tests },
+ {0, 0, 0, 0}
+};
+
+static void *world_create(server_startup_st& servers, test_return_t& error)
+{
+ if (HAVE_MEMCACHED_BINARY == 0)
+ {
+ error= TEST_FATAL;
+ return NULL;
+ }
+
+ const char *argv[1]= { "memflush" };
+ if (not server_startup(servers, "memcached", MEMCACHED_DEFAULT_PORT +10, 1, argv))
+ {
+ error= TEST_FAILURE;
+ }
+
+ return &servers;
+}
+
+
+void get_world(Framework *world)
+{
+ executable= "./clients/memflush";
+ world->collections= collection;
+ world->_create= world_create;
+}
+
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/tests/memrm.cc
^
|
@@ -0,0 +1,157 @@
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Test memrm
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * The names of its contributors may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+
+/*
+ Test that we are cycling the servers we are creating during testing.
+*/
+
+#include <config.h>
+
+#include <libtest/test.hpp>
+#include <libmemcached/memcached.h>
+
+using namespace libtest;
+
+#ifndef __INTEL_COMPILER
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif
+
+static std::string executable;
+
+static test_return_t quiet_test(void *)
+{
+ const char *args[]= { "--quiet", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t help_test(void *)
+{
+ const char *args[]= { "--quiet", "--help", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t rm_test(void *)
+{
+ char buffer[1024];
+ snprintf(buffer, sizeof(buffer), "--server=localhost:%d", int(default_port()));
+ const char *args[]= { "--quiet", buffer, "foo", 0 };
+
+ memcached_st *memc= memcached(buffer, strlen(buffer));
+ test_true(memc);
+
+ test_compare(MEMCACHED_SUCCESS,
+ memcached_set(memc, test_literal_param("foo"), 0, 0, 0, 0));
+
+ memcached_return_t rc;
+ test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc));
+ test_compare(MEMCACHED_SUCCESS, rc);
+
+ test_true(exec_cmdline(executable, args));
+
+ test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc));
+ test_compare(MEMCACHED_NOTFOUND, rc);
+
+ memcached_free(memc);
+
+ return TEST_SUCCESS;
+}
+
+static test_return_t NOT_FOUND_test(void *)
+{
+ char buffer[1024];
+ snprintf(buffer, sizeof(buffer), "--server=localhost:%d", int(default_port()));
+ const char *args[]= { "--quiet", buffer, "foo", 0 };
+
+ memcached_st *memc= memcached(buffer, strlen(buffer));
+ test_true(memc);
+
+ memcached_return_t rc;
+ test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc));
+ test_compare(MEMCACHED_NOTFOUND, rc);
+
+ test_true(exec_cmdline(executable, args));
+
+ test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc));
+ test_compare(MEMCACHED_NOTFOUND, rc);
+
+ memcached_free(memc);
+
+ return TEST_SUCCESS;
+}
+
+test_st memrm_tests[] ={
+ {"--quiet", true, quiet_test },
+ {"--help", true, help_test },
+ {"rm(FOUND)", true, rm_test },
+ {"rm(NOT_FOUND)", true, NOT_FOUND_test },
+ {0, 0, 0}
+};
+
+collection_st collection[] ={
+ {"memrm", 0, 0, memrm_tests },
+ {0, 0, 0, 0}
+};
+
+static void *world_create(server_startup_st& servers, test_return_t& error)
+{
+ if (HAVE_MEMCACHED_BINARY == 0)
+ {
+ error= TEST_FATAL;
+ return NULL;
+ }
+
+ const char *argv[1]= { "memrm" };
+ if (not server_startup(servers, "memcached", MEMCACHED_DEFAULT_PORT +10, 1, argv))
+ {
+ error= TEST_FAILURE;
+ }
+
+ return &servers;
+}
+
+
+void get_world(Framework *world)
+{
+ executable= "./clients/memrm";
+ world->collections= collection;
+ world->_create= world_create;
+}
+
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/tests/memslap.cc
^
|
@@ -52,9 +52,17 @@
static std::string executable;
+static test_return_t quiet_test(void *)
+{
+ const char *args[]= { "--quiet", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
static test_return_t help_test(void *)
{
- const char *args[]= { "--help", 0 };
+ const char *args[]= { "--quiet", "--help", 0 };
test_true(exec_cmdline(executable, args));
return TEST_SUCCESS;
@@ -64,7 +72,7 @@
{
char buffer[1024];
snprintf(buffer, sizeof(buffer), "--servers=localhost:%d", int(default_port()));
- const char *args[]= { buffer, 0 };
+ const char *args[]= { "--quiet", buffer, 0 };
test_true(exec_cmdline(executable, args));
return TEST_SUCCESS;
@@ -74,7 +82,7 @@
{
char buffer[1024];
snprintf(buffer, sizeof(buffer), "--servers=localhost:%d", int(default_port()));
- const char *args[]= { buffer, "--concurrency=10", 0 };
+ const char *args[]= { "--quiet", buffer, "--concurrency=10", 0 };
test_true(exec_cmdline(executable, args));
return TEST_SUCCESS;
@@ -84,7 +92,7 @@
{
char buffer[1024];
snprintf(buffer, sizeof(buffer), "--servers=localhost:%d", int(default_port()));
- const char *args[]= { buffer, "--concurrency=10", "--initial-load=1000", 0 };
+ const char *args[]= { "--quiet", buffer, "--concurrency=10", "--initial-load=1000", 0 };
test_true(exec_cmdline(executable, args));
return TEST_SUCCESS;
@@ -94,7 +102,7 @@
{
char buffer[1024];
snprintf(buffer, sizeof(buffer), "--servers=localhost:%d", int(default_port()));
- const char *args[]= { buffer, "--concurrency=10", "--initial-load=1000", "--execute-number=10", 0 };
+ const char *args[]= { "--quiet", buffer, "--concurrency=10", "--initial-load=1000", "--execute-number=10", 0 };
test_true(exec_cmdline(executable, args));
return TEST_SUCCESS;
@@ -104,7 +112,7 @@
{
char buffer[1024];
snprintf(buffer, sizeof(buffer), "--servers=localhost:%d", int(default_port()));
- const char *args[]= { buffer, "--concurrency=10", "--initial-load=1000", "--execute-number=10", "--test=get", 0 };
+ const char *args[]= { "--quiet", buffer, "--concurrency=10", "--initial-load=1000", "--execute-number=10", "--test=get", 0 };
test_true(exec_cmdline(executable, args));
return TEST_SUCCESS;
@@ -114,7 +122,7 @@
{
char buffer[1024];
snprintf(buffer, sizeof(buffer), "--servers=localhost:%d", int(default_port()));
- const char *args[]= { buffer, "--concurrency=10", "--initial-load=1000", "--execute-number=10", "--test=set", 0 };
+ const char *args[]= { "--quiet", buffer, "--concurrency=10", "--initial-load=1000", "--execute-number=10", "--test=set", 0 };
test_true(exec_cmdline(executable, args));
return TEST_SUCCESS;
@@ -124,13 +132,14 @@
{
char buffer[1024];
snprintf(buffer, sizeof(buffer), "--servers=localhost:%d", int(default_port()));
- const char *args[]= { buffer, "--concurrency=10", "--initial-load=1000", "--execute-number=10", "--test=set", "--non-blocking", 0 };
+ const char *args[]= { "--quiet", buffer, "--concurrency=10", "--initial-load=1000", "--execute-number=10", "--test=set", "--non-blocking", 0 };
test_true(exec_cmdline(executable, args));
return TEST_SUCCESS;
}
test_st memslap_tests[] ={
+ {"--quiet", true, quiet_test },
{"--help", true, help_test },
{"--server_test", true, server_test },
{"--concurrency=10", true, server_concurrency_test },
@@ -149,6 +158,12 @@
static void *world_create(server_startup_st& servers, test_return_t& error)
{
+ if (HAVE_MEMCACHED_BINARY == 0)
+ {
+ error= TEST_FATAL;
+ return NULL;
+ }
+
const char *argv[1]= { "memslap" };
if (not server_startup(servers, "memcached", MEMCACHED_DEFAULT_PORT +10, 1, argv))
{
|
[-]
[+]
|
Added |
libmemcached-0.53.tar.bz2/tests/memstat.cc
^
|
@@ -0,0 +1,130 @@
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Test memstat
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * The names of its contributors may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+
+/*
+ Test that we are cycling the servers we are creating during testing.
+*/
+
+#include <config.h>
+
+#include <libtest/test.hpp>
+#include <libmemcached/memcached.h>
+
+using namespace libtest;
+
+#ifndef __INTEL_COMPILER
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif
+
+static std::string executable;
+
+static test_return_t quiet_test(void *)
+{
+ const char *args[]= { "--quiet", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+
+static test_return_t help_test(void *)
+{
+ const char *args[]= { "--help", "--quiet", 0 };
+
+ test_true(exec_cmdline(executable, args));
+
+ return TEST_SUCCESS;
+}
+
+static test_return_t ascii_test(void *)
+{
+ char buffer[1024];
+ snprintf(buffer, sizeof(buffer), "-p %d", int(default_port()));
+ const char *args[]= { "--quiet", buffer, " -a ", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+static test_return_t binary_test(void *)
+{
+ char buffer[1024];
+ snprintf(buffer, sizeof(buffer), "-p %d", int(default_port()));
+ const char *args[]= { "--quiet", buffer, " -b ", 0 };
+
+ test_true(exec_cmdline(executable, args));
+ return TEST_SUCCESS;
+}
+
+test_st memstat_tests[] ={
+ {"--quiet", 0, quiet_test},
+ {"--help", 0, help_test},
+ {"-a, ascii", 0, ascii_test},
+ {"-b, binary", 0, binary_test},
+ {0, 0, 0}
+};
+
+collection_st collection[] ={
+ {"memstat", 0, 0, memstat_tests },
+ {0, 0, 0, 0}
+};
+
+static void *world_create(server_startup_st& servers, test_return_t& error)
+{
+ if (HAVE_MEMCACHED_BINARY == 0)
+ {
+ error= TEST_FATAL;
+ return NULL;
+ }
+
+ const char *argv[1]= { "memstat" };
+ if (not server_startup(servers, "memcached", MEMCACHED_DEFAULT_PORT +10, 1, argv))
+ {
+ error= TEST_FAILURE;
+ }
+
+ return &servers;
+}
+
+
+void get_world(Framework *world)
+{
+ executable= "./clients/memstat";
+ world->collections= collection;
+ world->_create= world_create;
+}
+
|
[-]
[+]
|
Changed |
libmemcached-0.53.tar.bz2/tests/parser.cc
^
|
@@ -221,12 +221,9 @@
scanner_variable_t hash_strings[]= {
{ ARRAY, make_scanner_string("--HASH=CRC"), scanner_string_null, NULL },
{ ARRAY, make_scanner_string("--HASH=FNV1A_32"), scanner_string_null, NULL },
- { ARRAY, make_scanner_string("--HASH=FNV1A_64"), scanner_string_null, NULL },
{ ARRAY, make_scanner_string("--HASH=FNV1_32"), scanner_string_null, NULL },
- { ARRAY, make_scanner_string("--HASH=FNV1_64"), scanner_string_null, NULL },
{ ARRAY, make_scanner_string("--HASH=JENKINS"), scanner_string_null, NULL },
{ ARRAY, make_scanner_string("--HASH=MD5"), scanner_string_null, NULL },
- { ARRAY, make_scanner_string("--HASH=MURMUR"), scanner_string_null, NULL },
{ NIL, scanner_string_null, scanner_string_null, NULL}
};
|