clients/memslap \
clients/memstat
+if BUILD_MEMASLAP
if HAVE_LIBEVENT
if !BUILD_WIN32_WRAPPERS
bin_PROGRAMS+= clients/memaslap
endif
endif
+endif
noinst_HEADERS+= \
clients/client_options.h \
clients/memcat --servers=localhost /etc/services
clients/memrm --servers=localhost /etc/services
clients/memstat --servers=localhost
- clients/memaslap --servers=localhost
- clients/memaslap --servers=localhost --concurrency=10
- clients/memaslap --servers=localhost --concurrency=10 --initial-load=1000
- clients/memaslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10
- clients/memaslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10 --test=get
- clients/memaslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10 --test=set
- clients/memaslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10 --test=set --non-blocking
+ clients/memslap --servers=localhost
+ clients/memslap --servers=localhost --concurrency=10
+ clients/memslap --servers=localhost --concurrency=10 --initial-load=1000
+ clients/memslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10
+ clients/memslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10 --test=get
+ clients/memslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10 --test=set
+ clients/memslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10 --test=set --non-blocking
client-valgrind:
- libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes clients/memaslap --servers=localhost
- libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes clients/memaslap --servers=localhost --concurrency=10
- libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes clients/memaslap --servers=localhost --concurrency=10 --initial-load=1000
- libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes clients/memaslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10
- libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes clients/memaslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10 --test=get
- libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes clients/memaslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10 --test=set
- libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes clients/memaslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10 --test=set --non-blocking
+ libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes clients/memslap --servers=localhost
+ libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes clients/memslap --servers=localhost --concurrency=10
+ libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes clients/memslap --servers=localhost --concurrency=10 --initial-load=1000
+ libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes clients/memslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10
+ libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes clients/memslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10 --test=get
+ libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes clients/memslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10 --test=set
+ libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes clients/memslap --servers=localhost --concurrency=10 --initial-load=1000 --execute-number=10 --test=set --non-blocking
SETSOCKOPT_SANITY
ENABLE_HSIEH_HASH
ENABLE_MURMUR_HASH
+ENABLE_MEMASLAP
PROTOCOL_BINARY_TEST
WITH_MEMCACHED
ENABLE_DEPRECATED
# All paths should be given relative to the root
EXTRA_DIST+= \
- docs/conf.py \
- docs/error_messages.rst \
- docs/client_errors/MEMCACHED_AUTH_CONTINUE.rst \
- docs/client_errors/MEMCACHED_AUTH_FAILURE.rst \
- docs/client_errors/MEMCACHED_AUTH_PROBLEM.rst \
- docs/client_errors/MEMCACHED_BAD_KEY_PROVIDED.rst \
- docs/client_errors/MEMCACHED_BUFFERED.rst \
- docs/client_errors/MEMCACHED_CLIENT_ERROR.rst \
- docs/client_errors/MEMCACHED_CONNECTION_BIND_FAILURE.rst \
- docs/client_errors/MEMCACHED_CONNECTION_FAILURE.rst \
- docs/client_errors/MEMCACHED_CONNECTION_SOCKET_CREATE_FAILURE.rst \
- docs/client_errors/MEMCACHED_DATA_DOES_NOT_EXIST.rst \
- docs/client_errors/MEMCACHED_DATA_EXISTS.rst \
- docs/client_errors/MEMCACHED_DELETED.rst \
- docs/client_errors/MEMCACHED_DEPRECATED.rst \
- docs/client_errors/MEMCACHED_E2BIG.rst \
- docs/client_errors/MEMCACHED_END.rst \
- docs/client_errors/MEMCACHED_ERRNO.rst \
- docs/client_errors/MEMCACHED_FAILURE.rst \
- docs/client_errors/MEMCACHED_FAIL_UNIX_SOCKET.rst \
- docs/client_errors/MEMCACHED_FETCH_NOTFINISHED.rst \
- docs/client_errors/MEMCACHED_HOST_LOOKUP_FAILURE.rst \
- docs/client_errors/MEMCACHED_INVALID_ARGUMENTS.rst \
- docs/client_errors/MEMCACHED_INVALID_HOST_PROTOCOL.rst \
- docs/client_errors/MEMCACHED_ITEM.rst \
- docs/client_errors/MEMCACHED_KEY_TOO_BIG.rst \
- docs/client_errors/MEMCACHED_MAXIMUM_RETURN.rst \
- docs/client_errors/MEMCACHED_MEMORY_ALLOCATION_FAILURE.rst \
- docs/client_errors/MEMCACHED_NOTFOUND.rst \
- docs/client_errors/MEMCACHED_NOTSTORED.rst \
- docs/client_errors/MEMCACHED_NOT_SUPPORTED.rst \
- docs/client_errors/MEMCACHED_NO_KEY_PROVIDED.rst \
- docs/client_errors/MEMCACHED_NO_SERVERS.rst \
- docs/client_errors/MEMCACHED_PARSE_ERROR.rst \
- docs/client_errors/MEMCACHED_PARSE_USER_ERROR.rst \
- docs/client_errors/MEMCACHED_PARTIAL_READ.rst \
- docs/client_errors/MEMCACHED_PROTOCOL_ERROR.rst \
- docs/client_errors/MEMCACHED_READ_FAILURE.rst \
- docs/client_errors/MEMCACHED_SERVER_ERROR.rst \
- docs/client_errors/MEMCACHED_SERVER_MARKED_DEAD.rst \
- docs/client_errors/MEMCACHED_SOME_ERRORS.rst \
- docs/client_errors/MEMCACHED_STAT.rst \
- docs/client_errors/MEMCACHED_STORED.rst \
- docs/client_errors/MEMCACHED_SUCCESS.rst \
- docs/client_errors/MEMCACHED_TIMEOUT.rst \
- docs/client_errors/MEMCACHED_UNKNOWN_READ_FAILURE.rst \
- docs/client_errors/MEMCACHED_UNKNOWN_STAT_KEY.rst \
- docs/client_errors/MEMCACHED_VALUE.rst \
- docs/client_errors/MEMCACHED_WRITE_FAILURE.rst \
- docs/hashkit_create.rst \
- docs/hashkit_functions.rst \
- docs/hashkit_value.rst \
- docs/index.rst \
- docs/libhashkit.rst \
- docs/libmemcached.rst \
- docs/libmemcached_configuration.rst \
- docs/libmemcached_examples.rst \
- docs/libmemcachedutil.rst \
- docs/memaslap.rst \
- docs/memcached_analyze.rst \
- docs/memcached_append.rst \
- docs/memcached_auto.rst \
- docs/memcached_behavior.rst \
- docs/memcached_callback.rst \
- docs/memcached_cas.rst \
- docs/memcached_create.rst \
- docs/memcached_delete.rst \
- docs/memcached_dump.rst \
- docs/memcached_flush.rst \
- docs/memcached_flush_buffers.rst \
- docs/memcached_generate_hash_value.rst \
- docs/memcached_get.rst \
- docs/memcached_memory_allocators.rst \
- docs/memcached_pool.rst \
- docs/memcached_quit.rst \
- docs/memcached_result_st.rst \
- docs/memcached_sasl.rst \
- docs/memcached_server_st.rst \
- docs/memcached_servers.rst \
- docs/memcached_set.rst \
- docs/memcached_stats.rst \
- docs/memcached_strerror.rst \
- docs/memcached_user_data.rst \
- docs/memcached_verbosity.rst \
- docs/memcached_version.rst \
- docs/memcapable.rst \
- docs/memcat.rst \
- docs/memcp.rst \
- docs/memdump.rst \
- docs/memerror.rst \
- docs/memflush.rst \
- docs/memrm.rst \
- docs/memslap.rst \
- docs/memstat.rst \
- docs/tap.rst
+ docs/conf.py
# Makefile for Sphinx documentation
#
-.TH "HASHKIT_CLONE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "HASHKIT_CLONE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
hashkit_clone \- libhashkit Documentation
.
-.TH "HASHKIT_CRC32" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "HASHKIT_CRC32" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
hashkit_crc32 \- libhashkit Documentation
.
-.TH "HASHKIT_CREATE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "HASHKIT_CREATE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
hashkit_create \- libhashkit Documentation
.
-.TH "HASHKIT_FNV1_32" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "HASHKIT_FNV1_32" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
hashkit_fnv1_32 \- libhashkit Documentation
.
-.TH "HASHKIT_FNV1_64" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "HASHKIT_FNV1_64" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
hashkit_fnv1_64 \- libhashkit Documentation
.
-.TH "HASHKIT_FNV1A_32" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "HASHKIT_FNV1A_32" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
hashkit_fnv1a_32 \- libhashkit Documentation
.
-.TH "HASHKIT_FNV1A_64" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "HASHKIT_FNV1A_64" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
hashkit_fnv1a_64 \- libhashkit Documentation
.
-.TH "HASHKIT_FREE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "HASHKIT_FREE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
hashkit_free \- libhashkit Documentation
.
-.TH "HASHKIT_FUNCTIONS" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "HASHKIT_FUNCTIONS" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
hashkit_functions \- libhashkit Documentation
.
-.TH "HASHKIT_HSIEH" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "HASHKIT_HSIEH" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
hashkit_hsieh \- libhashkit Documentation
.
-.TH "HASHKIT_IS_ALLOCATED" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "HASHKIT_IS_ALLOCATED" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
hashkit_is_allocated \- libhashkit Documentation
.
-.TH "HASHKIT_JENKINS" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "HASHKIT_JENKINS" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
hashkit_jenkins \- libhashkit Documentation
.
-.TH "HASHKIT_MD5" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "HASHKIT_MD5" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
hashkit_md5 \- libhashkit Documentation
.
-.TH "HASHKIT_MURMUR" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "HASHKIT_MURMUR" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
hashkit_murmur \- libhashkit Documentation
.
-.TH "HASHKIT_VALUE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "HASHKIT_VALUE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
hashkit_value \- libhashkit Documentation
.
-.TH "LIBHASHKIT" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "LIBHASHKIT" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
libhashkit \- libhashkit Documentation
.
-.TH "LIBMEMCACHED" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "LIBMEMCACHED" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
libmemcached \- Introducing the C Client Library for memcached
.
-.TH "LIBMEMCACHED_CHECK_CONFIGURATION" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "LIBMEMCACHED_CHECK_CONFIGURATION" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
libmemcached_check_configuration \- libmemcached Documentation
.
-.TH "LIBMEMCACHED_CONFIGURATION" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "LIBMEMCACHED_CONFIGURATION" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
libmemcached_configuration \- libmemcached Documentation
.
-.TH "LIBMEMCACHED_EXAMPLES" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "LIBMEMCACHED_EXAMPLES" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
libmemcached_examples \- libmemcached Documentation
.
-.TH "LIBMEMCACHEDUTIL" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "LIBMEMCACHEDUTIL" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
libmemcachedutil \- libmemcached Documentation
.
-.TH "MEMASLAP" "1" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMASLAP" "1" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memaslap \- libmemcached Documentation
.
-.TH "MEMCACHED" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached \- libmemcached Documentation
.
-.TH "MEMCACHED_ADD" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_ADD" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_add \- Storing and Replacing Data
.
-.TH "MEMCACHED_ADD_BY_KEY" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_ADD_BY_KEY" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_add_by_key \- Storing and Replacing Data
.
-.TH "MEMCACHED_ANALYZE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_ANALYZE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_analyze \- libmemcached Documentation
.
-.TH "MEMCACHED_APPEND" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_APPEND" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_append \- Appending to or Prepending to data on the server
.
-.TH "MEMCACHED_APPEND_BY_KEY" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_APPEND_BY_KEY" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_append_by_key \- Appending to or Prepending to data on the server
.
-.TH "MEMCACHED_AUTO" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_AUTO" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_auto \- Incrementing and Decrementing Values
.
-.TH "MEMCACHED_BEHAVIOR" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_BEHAVIOR" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_behavior \- libmemcached Documentation
.
-.TH "MEMCACHED_BEHAVIOR_GET" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_BEHAVIOR_GET" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_behavior_get \- libmemcached Documentation
.
-.TH "MEMCACHED_BEHAVIOR_SET" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_BEHAVIOR_SET" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_behavior_set \- libmemcached Documentation
.
-.TH "MEMCACHED_CALLBACK" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_CALLBACK" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_callback \- libmemcached Documentation
.
-.TH "MEMCACHED_CALLBACK_GET" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_CALLBACK_GET" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_callback_get \- libmemcached Documentation
.
-.TH "MEMCACHED_CALLBACK_SET" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_CALLBACK_SET" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_callback_set \- libmemcached Documentation
.
-.TH "MEMCACHED_CAS" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_CAS" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_cas \- Working with data on the server in an atomic fashion
.
-.TH "MEMCACHED_CAS_BY_KEY" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_CAS_BY_KEY" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_cas_by_key \- Storing and Replacing Data
.
-.TH "MEMCACHED_CLONE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_CLONE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_clone \- libmemcached Documentation
.
-.TH "MEMCACHED_CREATE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_CREATE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_create \- libmemcached Documentation
.
-.TH "MEMCACHED_DECREMENT" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_DECREMENT" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_decrement \- Incrementing and Decrementing Values
.
-.TH "MEMCACHED_DECREMENT_WITH_INITIAL" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_DECREMENT_WITH_INITIAL" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_decrement_with_initial \- Incrementing and Decrementing Values
.
-.TH "MEMCACHED_DELETE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_DELETE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_delete \- libmemcached Documentation
.
-.TH "MEMCACHED_DELETE_BY_KEY" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_DELETE_BY_KEY" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_delete_by_key \- libmemcached Documentation
.
-.TH "MEMCACHED_DESTROY_SASL_AUTH_DATA" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_DESTROY_SASL_AUTH_DATA" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_destroy_sasl_auth_data \- libmemcached Documentation
.
-.TH "MEMCACHED_DUMP" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_DUMP" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_dump \- libmemcached Documentation
.
-.TH "MEMCACHED_FETCH" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_FETCH" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_fetch \- Retrieving data from the server
.
-.TH "MEMCACHED_FETCH_EXECUTE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_FETCH_EXECUTE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_fetch_execute \- Retrieving data from the server
.
-.TH "MEMCACHED_FETCH_RESULT" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_FETCH_RESULT" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_fetch_result \- Retrieving data from the server
.
-.TH "MEMCACHED_FLUSH" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_FLUSH" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_flush \- libmemcached Documentation
.
Compile and link with \-lmemcached
.SH DESCRIPTION
.sp
-memcached_flush() is used to wipe clean the contents of memcached(1) servers.
+:c:func::\fImemcached_flush()\fP is used to wipe clean the contents of memcached(1) servers.
It will either do this immediately or expire the content based on the
expiration time passed to the method (a value of zero causes an immediate
flush). The operation is not atomic to multiple servers, just atomic to a
added.
.SH RETURN
.sp
-A value of type \fBmemcached_return_t\fP is returned
+A value of type \fBmemcached_return_t\fP is returned
On success that value will be \fBMEMCACHED_SUCCESS\fP.
-Use memcached_strerror() to translate this value to a printable string.
+Use \fBmemcached_strerror()\fP to translate this value to a printable string.
.SH HOME
.sp
To find out more information please check:
-.TH "MEMCACHED_FLUSH_BUFFERS" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_FLUSH_BUFFERS" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_flush_buffers \- libmemcached Documentation
.
-.TH "MEMCACHED_FREE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_FREE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_free \- libmemcached Documentation
.
-.TH "MEMCACHED_GENERATE_HASH" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_GENERATE_HASH" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_generate_hash \- Generating hash values directly
.
-.TH "MEMCACHED_GENERATE_HASH_VALUE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_GENERATE_HASH_VALUE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_generate_hash_value \- Generating hash values directly
.
-.TH "MEMCACHED_GET" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_GET" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_get \- Retrieving data from the server
.
-.TH "MEMCACHED_GET_BY_KEY" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_GET_BY_KEY" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_get_by_key \- Retrieving data from the server
.
-.TH "MEMCACHED_GET_MEMORY_ALLOCATORS" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_GET_MEMORY_ALLOCATORS" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_get_memory_allocators \- libmemcached Documentation
.
-.TH "MEMCACHED_GET_SASL_CALLBACKS" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_GET_SASL_CALLBACKS" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_get_sasl_callbacks \- libmemcached Documentation
.
-.TH "MEMCACHED_GET_USER_DATA" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_GET_USER_DATA" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_get_user_data \- libmemcached Documentation
.
-.TH "MEMCACHED_INCREMENT" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_INCREMENT" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_increment \- Incrementing and Decrementing Values
.
-.TH "MEMCACHED_INCREMENT_WITH_INITIAL" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_INCREMENT_WITH_INITIAL" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_increment_with_initial \- Incrementing and Decrementing Values
.
-.TH "MEMCACHED_LIB_VERSION" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_LIB_VERSION" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_lib_version \- libmemcached Documentation
.
-.TH "MEMCACHED_MEMORY_ALLOCATORS" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_MEMORY_ALLOCATORS" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_memory_allocators \- libmemcached Documentation
.
-.TH "MEMCACHED_MGET" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_MGET" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_mget \- Retrieving data from the server
.
-.TH "MEMCACHED_MGET_BY_KEY" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_MGET_BY_KEY" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_mget_by_key \- Retrieving data from the server
.
-.TH "MEMCACHED_MGET_EXECUTE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_MGET_EXECUTE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_mget_execute \- Retrieving data from the server
.
-.TH "MEMCACHED_MGET_EXECUTE_BY_KEY" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_MGET_EXECUTE_BY_KEY" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_mget_execute_by_key \- Retrieving data from the server
.
-.TH "MEMCACHED_POOL" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_POOL" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_pool \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_BEHAVIOR_GET" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_POOL_BEHAVIOR_GET" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_pool_behavior_get \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_BEHAVIOR_SET" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_POOL_BEHAVIOR_SET" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_pool_behavior_set \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_CREATE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_POOL_CREATE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_pool_create \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_DESTROY" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_POOL_DESTROY" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_pool_destroy \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_POP" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_POOL_POP" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_pool_pop \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_PUSH" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_POOL_PUSH" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_pool_push \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_ST" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_POOL_ST" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_pool_st \- libmemcached Documentation
.
-.TH "MEMCACHED_PREPEND" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_PREPEND" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_prepend \- Appending to or Prepending to data on the server
.
-.TH "MEMCACHED_PREPEND_BY_KEY" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_PREPEND_BY_KEY" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_prepend_by_key \- Appending to or Prepending to data on the server
.
-.TH "MEMCACHED_QUIT" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_QUIT" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_quit \- libmemcached Documentation
.
-.TH "MEMCACHED_REPLACE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_REPLACE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_replace \- Storing and Replacing Data
.
-.TH "MEMCACHED_REPLACE_BY_KEY" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_REPLACE_BY_KEY" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_replace_by_key \- Storing and Replacing Data
.
-.TH "MEMCACHED_RESULT_CAS" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_RESULT_CAS" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_result_cas \- Working with result sets
.
-.TH "MEMCACHED_RESULT_CREATE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_RESULT_CREATE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_result_create \- Working with result sets
.
-.TH "MEMCACHED_RESULT_FLAGS" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_RESULT_FLAGS" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_result_flags \- Working with result sets
.
-.TH "MEMCACHED_RESULT_FREE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_RESULT_FREE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_result_free \- Working with result sets
.
-.TH "MEMCACHED_RESULT_KEY_LENGTH" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_RESULT_KEY_LENGTH" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_result_key_length \- Working with result sets
.
-.TH "MEMCACHED_RESULT_KEY_VALUE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_RESULT_KEY_VALUE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_result_key_value \- Working with result sets
.
-.TH "MEMCACHED_RESULT_LENGTH" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_RESULT_LENGTH" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_result_length \- Working with result sets
.
-.TH "MEMCACHED_RESULT_ST" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_RESULT_ST" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_result_st \- Working with result sets
.
-.TH "MEMCACHED_RESULT_VALUE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_RESULT_VALUE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_result_value \- Working with result sets
.
-.TH "MEMCACHED_SASL" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SASL" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_sasl \- libmemcached Documentation
.
-.TH "MEMCACHED_SASL_SET_AUTH_DATA" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SASL_SET_AUTH_DATA" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_sasl_set_auth_data \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_ADD" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SERVER_ADD" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_server_add \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_ADD_UNIX_SOCKET" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SERVER_ADD_UNIX_SOCKET" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_server_add_unix_socket \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_COUNT" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SERVER_COUNT" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_server_count \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_CURSOR" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SERVER_CURSOR" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_server_cursor \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_LIST" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_server_list \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_LIST_APPEND" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST_APPEND" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_server_list_append \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_LIST_COUNT" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST_COUNT" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_server_list_count \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_LIST_FREE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST_FREE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_server_list_free \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_PUSH" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SERVER_PUSH" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_server_push \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_ST" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SERVER_ST" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_server_st \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVERS" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SERVERS" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_servers \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVERS_PARSE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SERVERS_PARSE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_servers_parse \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVERS_RESET" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SERVERS_RESET" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_servers_reset \- libmemcached Documentation
.
-.TH "MEMCACHED_SET" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SET" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_set \- Storing and Replacing Data
.
-.TH "MEMCACHED_SET_BY_KEY" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SET_BY_KEY" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_set_by_key \- Storing and Replacing Data
.
-.TH "MEMCACHED_SET_MEMORY_ALLOCATORS" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SET_MEMORY_ALLOCATORS" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_set_memory_allocators \- libmemcached Documentation
.
-.TH "MEMCACHED_SET_MEMORY_ALLOCATORS_CONTEXT" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SET_MEMORY_ALLOCATORS_CONTEXT" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_set_memory_allocators_context \- libmemcached Documentation
.
-.TH "MEMCACHED_SET_SASL_CALLBACKS" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SET_SASL_CALLBACKS" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_set_sasl_callbacks \- libmemcached Documentation
.
-.TH "MEMCACHED_SET_USER_DATA" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_SET_USER_DATA" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_set_user_data \- libmemcached Documentation
.
-.TH "MEMCACHED_STAT" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_STAT" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_stat \- libmemcached Documentation
.
-.TH "MEMCACHED_STAT_EXECUTE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_STAT_EXECUTE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_stat_execute \- libmemcached Documentation
.
-.TH "MEMCACHED_STAT_GET_KEYS" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_STAT_GET_KEYS" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_stat_get_keys \- libmemcached Documentation
.
-.TH "MEMCACHED_STAT_GET_VALUE" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_STAT_GET_VALUE" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_stat_get_value \- libmemcached Documentation
.
-.TH "MEMCACHED_STAT_SERVERNAME" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_STAT_SERVERNAME" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_stat_servername \- libmemcached Documentation
.
-.TH "MEMCACHED_STATS" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_STATS" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_stats \- libmemcached Documentation
.
-.TH "MEMCACHED_STRERROR" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_STRERROR" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_strerror \- libmemcached Documentation
.
-.TH "MEMCACHED_USER_DATA" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_USER_DATA" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_user_data \- libmemcached Documentation
.
-.TH "MEMCACHED_VERBOSITY" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_VERBOSITY" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_verbosity \- libmemcached Documentation
.
-.TH "MEMCACHED_VERSION" "3" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCACHED_VERSION" "3" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcached_version \- libmemcached Documentation
.
-.TH "MEMCAPABLE" "1" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCAPABLE" "1" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcapable \- libmemcached Documentation
.
-.TH "MEMCAT" "1" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCAT" "1" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcat \- libmemcached Documentation
.
-.TH "MEMCP" "1" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMCP" "1" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memcp \- libmemcached Documentation
.
-.TH "MEMDUMP" "1" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMDUMP" "1" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memdump \- libmemcached Documentation
.
-.TH "MEMERROR" "1" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMERROR" "1" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memerror \- libmemcached Documentation
.
-.TH "MEMFLUSH" "1" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMFLUSH" "1" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memflush \- libmemcached Documentation
.
-.TH "MEMRM" "1" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMRM" "1" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memrm \- libmemcached Documentation
.
-.TH "MEMSLAP" "1" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMSLAP" "1" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memslap \- libmemcached Documentation
.
-.TH "MEMSTAT" "1" "May 23, 2011" "0.47" "libmemcached"
+.TH "MEMSTAT" "1" "June 02, 2011" "0.47" "libmemcached"
.SH NAME
memstat \- libmemcached Documentation
.
-----------
-memcached_flush() is used to wipe clean the contents of memcached(1) servers.
+:c:func::`memcached_flush()` is used to wipe clean the contents of memcached(1) servers.
It will either do this immediately or expire the content based on the
expiration time passed to the method (a value of zero causes an immediate
flush). The operation is not atomic to multiple servers, just atomic to a
------
-A value of type \ ``memcached_return_t``\ is returned
-On success that value will be \ ``MEMCACHED_SUCCESS``\ .
-Use memcached_strerror() to translate this value to a printable string.
+A value of type :c:type:`memcached_return_t` is returned
+On success that value will be :c:type:`MEMCACHED_SUCCESS`.
+Use :c:type:`memcached_strerror()` to translate this value to a printable string.
----
-/* LibMemcached
- * Copyright (C) 2006-2009 Brian Aker
- * All rights reserved.
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Libmemcached library
*
- * Use and distribution licensed under the BSD license. See
- * the COPYING file in the parent directory for full text.
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ * Copyright (C) 2006-2009 Brian Aker All rights reserved.
*
- * Summary: Get functions for libmemcached
+ * 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 "common.h"
+#include "libmemcached/common.h"
+#include <iostream>
/*
What happens if no servers exist?
{
if (ptr->get_key_failure && *error == MEMCACHED_NOTFOUND)
{
- memcached_return_t rc;
memcached_result_reset(&ptr->result);
- rc= ptr->get_key_failure(ptr, key, key_length, &ptr->result);
+ memcached_return_t rc= ptr->get_key_failure(ptr, key, key_length, &ptr->result);
/* On all failure drop to returning NULL */
if (rc == MEMCACHED_SUCCESS || rc == MEMCACHED_BUFFERED)
for (uint32_t x= 0; x < number_of_keys; ++x)
{
- memcached_server_write_instance_st instance;
-
if (hash[x] == memcached_server_count(ptr))
continue; /* Already successfully sent */
if (dead_servers[server])
continue;
- instance= memcached_server_instance_fetch(ptr, server);
+ memcached_server_write_instance_st instance= memcached_server_instance_fetch(ptr, server);
if (memcached_server_response_count(instance) == 0)
{
rc= memcached_connect(instance);
- if (rc != MEMCACHED_SUCCESS)
+ if (memcached_failed(rc))
{
memcached_io_reset(instance);
dead_servers[server]= true;
}
else
{
- uint32_t* hash;
- bool* dead_servers;
-
- hash= static_cast<uint32_t*>(libmemcached_malloc(ptr, sizeof(uint32_t) * number_of_keys));
- dead_servers= static_cast<bool*>(libmemcached_calloc(ptr, memcached_server_count(ptr), sizeof(bool)));
+ uint32_t* hash= static_cast<uint32_t*>(libmemcached_malloc(ptr, sizeof(uint32_t) * number_of_keys));
+ bool* dead_servers= static_cast<bool*>(libmemcached_calloc(ptr, memcached_server_count(ptr), sizeof(bool)));
if (hash == NULL || dead_servers == NULL)
{
#pragma once
+#include <libmemcached/util/flush.h>
#include <libmemcached/util/ping.h>
#include <libmemcached/util/pool.h>
#include <libmemcached/util/version.h>
return MEMCACHED_FAILURE;
}
- sasl_callback_t *cb= libmemcached_calloc(ptr, 4, sizeof(sasl_callback_t));
- char *name= libmemcached_malloc(ptr, strlen(username) + 1);
+ sasl_callback_t *callbacks= libmemcached_calloc(ptr, 4, sizeof(sasl_callback_t));
size_t password_length= strlen(password);
- sasl_secret_t *secret= libmemcached_malloc(ptr, password_length +1 + sizeof(*secret));
- if (cb == NULL || name == NULL || secret == NULL)
+ size_t username_length= strlen(username);
+ char *name= libmemcached_malloc(ptr, username_length +1);
+ sasl_secret_t *secret= libmemcached_malloc(ptr, password_length +1 + sizeof(sasl_secret_t));
+
+ if (callbacks == NULL || name == NULL || secret == NULL)
{
- libmemcached_free(ptr, cb);
+ libmemcached_free(ptr, callbacks);
libmemcached_free(ptr, name);
libmemcached_free(ptr, secret);
return MEMCACHED_MEMORY_ALLOCATION_FAILURE;
}
- secret->len= strlen(password);
+ secret->len= password_length;
memcpy(secret->data, password, password_length);
secret->data[password_length]= 0;
- cb[0].id= SASL_CB_USER;
- cb[0].proc= get_username;
- cb[0].context= strncpy(name, username, sizeof(cb[0].context));
- cb[1].id= SASL_CB_AUTHNAME;
- cb[1].proc= get_username;
- cb[1].context= name;
- cb[2].id= SASL_CB_PASS;
- cb[2].proc= get_password;
- cb[2].context= secret;
- cb[3].id= SASL_CB_LIST_END;
-
- ptr->sasl.callbacks= cb;
+ callbacks[0].id= SASL_CB_USER;
+ callbacks[0].proc= get_username;
+ callbacks[0].context= strncpy(name, username, username_length +1);
+ callbacks[1].id= SASL_CB_AUTHNAME;
+ callbacks[1].proc= get_username;
+ callbacks[1].context= name;
+ callbacks[2].id= SASL_CB_PASS;
+ callbacks[2].proc= get_password;
+ callbacks[2].context= secret;
+ callbacks[3].id= SASL_CB_LIST_END;
+
+ ptr->sasl.callbacks= callbacks;
ptr->sasl.is_allocated= true;
return MEMCACHED_SUCCESS;
--- /dev/null
+/* 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.
+ *
+ * Summary: connects to a host, and then flushes it (memcached_flush(3)).
+ *
+ */
+
+#include <libmemcached/common.h>
+#include <libmemcached/memcached_util.h>
+
+
+bool libmemcached_util_flush(const char *hostname, in_port_t port, memcached_return_t *ret)
+{
+ memcached_st *memc_ptr= memcached_create(NULL);
+
+ memcached_return_t rc= memcached_server_add(memc_ptr, hostname, port);
+ if (memcached_success(rc))
+ {
+ rc= memcached_flush(memc_ptr, 0);
+ }
+
+ memcached_free(memc_ptr);
+
+ if (ret)
+ {
+ *ret= rc;
+ }
+
+ return memcached_success(rc);
+}
--- /dev/null
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Libmemcached library
+ *
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ * Copyright (C) 2010 Brian Aker All rights reserved.
+ *
+ * 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
+
+LIBMEMCACHED_API
+bool libmemcached_util_flush(const char *hostname, in_port_t port, memcached_return_t *ret);
+
+#ifdef __cplusplus
+}
+#endif
+
nobase_include_HEADERS+= \
libmemcached/memcached_util.h \
libmemcached/util.h \
+ libmemcached/util/flush.h \
libmemcached/util/ping.h \
libmemcached/util/pool.h \
libmemcached/util/version.h
endif
libmemcached_libmemcachedutil_la_SOURCES= \
+ libmemcached/util/flush.cc \
libmemcached/util/ping.cc \
libmemcached/util/pool.cc \
libmemcached/util/version.cc
-/* LibMemcached
- * Copyright (C) 2010 Brian Aker
- * All rights reserved.
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Libmemcached library
*
- * Use and distribution licensed under the BSD license. See
- * the COPYING file in the parent directory for full text.
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ * Copyright (C) 2010 Brian Aker All rights reserved.
+ *
+ * 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.
*
* Summary: connects to a host, and makes sure it is alive.
*
*/
-#include "libmemcached/common.h"
-#include "libmemcached/memcached_util.h"
+#include <libmemcached/common.h>
+#include <libmemcached/memcached_util.h>
bool libmemcached_util_ping(const char *hostname, in_port_t port, memcached_return_t *ret)
{
- memcached_return_t rc;
- memcached_st memc, *memc_ptr;
-
- memc_ptr= memcached_create(&memc);
-
- rc= memcached_server_add(memc_ptr, hostname, port);
+ memcached_st *memc_ptr= memcached_create(NULL);
- if (rc == MEMCACHED_SUCCESS)
+ memcached_return_t rc= memcached_server_add(memc_ptr, hostname, port);
+ if (memcached_success(rc))
{
rc= memcached_version(memc_ptr);
}
-/* LibMemcached
- * Copyright (C) 2006-2009 Brian Aker
- * All rights reserved.
+/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
+ *
+ * Libmemcached library
*
- * Use and distribution licensed under the BSD license. See
- * the COPYING file in the parent directory for full text.
+ * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ * Copyright (C) 2006-2009 Brian Aker All rights reserved.
*
- * Summary:
+ * 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.
*
*/
+
/*
Startup, and shutdown the memcached servers.
*/
#include <config.h>
+#include <iso646.h>
+
#include <assert.h>
#include <limits.h>
#include <signal.h>
if (libmemcached_util_ping("localhost", construct->port[x], NULL))
{
- port_base++;
- construct->port[x]= 0;
+ if (libmemcached_util_flush("localhost", construct->port[x], NULL))
+ {
+ fprintf(stderr, "Found server on port %d, flushed it!\n", (int)construct->port[x]);
+ } // If we can flush it, we will just use it
+ else
+ {
+ fprintf(stderr, "Found server on port %d, could not flush it, so trying next port.\n", (int)construct->port[x]);
+ port_base++;
+ construct->port[x]= 0;
+ }
}
} while (construct->port[x] == 0);
}
--- /dev/null
+AC_DEFUN([ENABLE_MEMASLAP],
+ [AC_ARG_ENABLE([memaslap],
+ [AS_HELP_STRING([--enable-memaslap],
+ [build with memaslap tool. @<:@default=off@:>@])],
+ [ac_cv_enable_memaslap=yes],
+ [ac_cv_enable_memaslap=no])
+
+ AM_CONDITIONAL([BUILD_MEMASLAP], [test "$ac_cv_enable_memaslap" = "yes"])
+])
%{_includedir}/libhashkit/strerror.h
%{_includedir}/libhashkit/types.h
%{_includedir}/libhashkit/visibility.h
+%{_includedir}/libhashkit/hashkit.hpp
+
%{_includedir}/libmemcached/allocators.h
%{_includedir}/libmemcached/analyze.h
%{_includedir}/libmemcached/array.h
%{_includedir}/libmemcached/auto.h
+%{_includedir}/libmemcached/basic_string.h
%{_includedir}/libmemcached/behavior.h
%{_includedir}/libmemcached/callback.h
%{_includedir}/libmemcached/configure.h
%{_includedir}/libmemcached/protocol_handler.h
%{_includedir}/libmemcached/quit.h
%{_includedir}/libmemcached/result.h
+%{_includedir}/libmemcached/return.h
%{_includedir}/libmemcached/sasl.h
%{_includedir}/libmemcached/server.h
%{_includedir}/libmemcached/server_list.h
{"mget", 0, (test_callback_fn)replication_mget_test },
{"delete", 0, (test_callback_fn)replication_delete_test },
{"rand_mget", 0, (test_callback_fn)replication_randomize_mget_test },
+ {"fail", 0, (test_callback_fn)replication_randomize_mget_fail_test },
{0, 0, (test_callback_fn)0}
};
return TEST_SUCCESS;
}
+
+test_return_t replication_randomize_mget_fail_test(memcached_st *memc)
+{
+ memcached_st *memc_clone= memcached_clone(NULL, memc);
+ memcached_behavior_set(memc_clone, MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS, 3);
+
+ for (int x= int(MEMCACHED_SUCCESS); x < int(MEMCACHED_MAXIMUM_RETURN); ++x)
+ {
+ const char *key= memcached_strerror(NULL, memcached_return_t(x));
+ memcached_return_t rc= memcached_set(memc,
+ key, strlen(key),
+ key, strlen(key), 0, 0);
+ test_true(rc == MEMCACHED_SUCCESS);
+ }
+
+ memcached_flush_buffers(memc);
+
+ // We need to now cause a failure in one server, never do this in your own
+ // code.
+ close(memc_clone->servers[1].fd);
+ memc_clone->servers[1].port= 1;
+ memc_clone->servers[1].address_info_next= NULL;
+
+ for (int x= int(MEMCACHED_SUCCESS); x < int(MEMCACHED_MAXIMUM_RETURN); ++x)
+ {
+ const char *key= memcached_strerror(NULL, memcached_return_t(x));
+ memcached_return_t rc;
+ uint32_t flags;
+ size_t value_length;
+ char *value= memcached_get(memc_clone, key, strlen(key), &value_length, &flags, &rc);
+ test_true(rc == MEMCACHED_SUCCESS);
+ test_compare(strlen(key), value_length);
+ test_strcmp(key, value);
+ free(value);
+ }
+ memcached_free(memc_clone);
+ return TEST_SUCCESS;
+}
LIBTEST_INTERNAL_API
test_return_t replication_randomize_mget_test(memcached_st *memc);
+LIBTEST_INTERNAL_API
+test_return_t replication_randomize_mget_fail_test(memcached_st *memc);
+
#ifdef __cplusplus
}
#endif