tags
venv/
/infer-out/
-/docs/gh-pages/source/
+/docs/gh-pages/pages/
/docs/gh-pages/build/
-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMake)
-
set(THREADS_PREFER_PTHREAD_FLAG ON)
# globals
# docs / sphinx
+set(BUILD_DOCS ON
+ CACHE BOOL "build documentation")
+
+set(BUILD_DOCSONLY OFF
+ CACHE BOOL "build *only* documentation")
+
set(GZIP_MAN ON
CACHE BOOL "gzip manpages")
# modules
+set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMake)
-include(CMake/_Include.cmake)
+if(NOT BUILD_DOCSONLY)
+ include(CMake/_Include.cmake)
+endif()
include(CMakeConfig.txt)
-foreach(INCLUDE IN ITEMS ${CMAKE_BINARY_DIR} .)
- include_directories(
- ${INCLUDE}/
- ${INCLUDE}/include
- ${INCLUDE}/src
+if(NOT BUILD_DOCSONLY)
+ foreach(INCLUDE IN ITEMS ${CMAKE_BINARY_DIR} .)
+ include_directories(
+ ${INCLUDE}/
+ ${INCLUDE}/include
+ ${INCLUDE}/src
+ )
+ endforeach()
+
+ set(AUTOHEADER_FILE mem_config.h)
+
+ set(CLIENTS
+ memcapable
+ memcat
+ memcp
+ memdump
+ memerror
+ memexist
+ memflush
+ memparse
+ memping
+ memrm
+ memslap
+ memstat
+ memtouch
)
-endforeach()
-
-set(AUTOHEADER_FILE mem_config.h)
-
-set(CLIENTS
- memcapable
- memcat
- memcp
- memdump
- memerror
- memexist
- memflush
- memparse
- memping
- memrm
- memslap
- memstat
- memtouch
- )
-add_subdirectory(include)
-add_subdirectory(src)
-add_subdirectory(docs)
-add_subdirectory(support)
+ add_subdirectory(include)
+ add_subdirectory(src)
+ add_subdirectory(support)
+
+ if(BUILD_TESTING)
+ add_subdirectory(tests)
+ endif()
-if(BUILD_TESTING)
- add_subdirectory(tests)
+ # keep last
+ configure_file(src/mem_config.h.in ${AUTOHEADER_FILE} @ONLY)
endif()
-# keep last
-configure_file(src/mem_config.h.in ${AUTOHEADER_FILE} @ONLY)
+if(BUILD_DOCS OR BUILD_DOCSONLY)
+ add_subdirectory(docs)
+endif()
+
+
if(GZIP)
set(MAN_EXT ".gz")
add_custom_target(man_gz ALL
- ${GZIP} -rkf ${SPHINX_MAN_DIR}
+ ${GZIP} -kf ${SPHINX_MAN_DIR}/*.{1,3}
DEPENDS man
)
endif()
set -eu
cd "$(dirname $0)"
-if test -d source/.git
+if test -d pages/.git
then
- cd source
+ cd pages
git pull -r
cd ..
else
- git clone -b gh-pages github.com:m6w6/libmemcached source
+ git clone -b gh-pages github.com:m6w6/libmemcached pages
fi
mkdir -p build
cd build
-cmake ../..
+cmake -DBUILD_DOCSONLY=true ../../..
make html
-rsync -va --delete --exclude=.git/ docs/html/ ../source/
+rsync -va --delete --exclude=.git/ docs/html/ ../pages/
-cd ../source
+cd ../pages
touch .nojekyll
git add -A
git ci -m "update docs"
:program:`memaslap` is a load generation and benchmark tool for memcached
-servers. It generates configurable workload such as threads, concurrencies,
+servers. It generates configurable workload such as threads, concurrency,
connections, run time, overwrite, miss rate, key size, value size, get/set
-proportion, expected throughput, and so on. Furthermore, it also testss data
+proportion, expected throughput, and so on. Furthermore, it also tests data
verification, expire-time verification, UDP, binary protocol, facebook test,
replication test, multi-get and reconnection, etc.
Memslap has the similar implementation of multi-threads to
memcached. Memslap creates one or more self-governed threads;
-each thread is bound with one CPU core if the system testss setting CPU
+each thread is bound with one CPU core if the system tests setting CPU
core affinity.
In addition, each thread has a libevent to manage the events of the network;
-each thread has one or more self-governed concurrencies; and each
-concurrency has one or more socket connections. All the concurrencies don’t
+each thread has one or more self-governed concurrency; and each
+concurrency has one or more socket connections. All the concurrent tasks don't
communicate with each other even though they are in the same thread.
Memslap can create thousands of socket connections, and each
Each key contains two parts, a prefix and a suffix. The prefix is an
uint64_t, 8 bytes. In order to verify the data set before,
memaslap need to ensure each key is unique, so it uses the prefix to identify
-a key. The prefix cannot include illegal characters, such as ‘\r’, ‘\n’,
-‘\0’ and ‘ ‘. And memaslap has an algorithm to ensure that.
+a key. The prefix cannot include illegal characters, such as '\r', '\n',
+'\0' and ' '. And memaslap has an algorithm to ensure that.
-Memslap doesn’t generate all the objects (key-value pairs) at
+Memslap doesn't generate all the objects (key-value pairs) at
the beginning. It only generates enough objects to fill the task window
(default 10K objects) of each concurrency. Each object has the following
basic information, key prefix, key suffix offset in the character table, key
_________________________________
-Memslap uses libevent to schedule all the concurrencies of
+Memslap uses libevent to schedule all concurrent tasks of
threads, and each concurrency schedules tasks based on the local task
window. Memslap assumes that if each concurrency keeps the same
key distribution, value distribution and commands distribution, from
multi-get option, memaslap will collect enough get commands and
pack and send the commands together.
-Memslap testss both the ASCII protocol and binary protocol,
+Memslap tests both the ASCII protocol and binary protocol,
but it runs on the ASCII protocol by default.
Memslap by default runs on the TCP protocol, but it also
tests UDP. Because UDP is unreliable, dropped packages and out-of-order
The user must specify one server at least to run memaslap. The
rest of the parameters have default values, as shown below:
-Thread number = 1 Concurrency = 16
+Thread number = 1 Concurrency = 16
Run time = 600 seconds Configuration file = NULL
Get/set = 9:1 Window size = 10k
-Execute number = 0 Single get = true
+Execute number = 0 Single get = true
-Multi-get = false Number of sockets of each concurrency = 1
+Multi-get = false Number of sockets of each concurrency = 1
Reconnect = false Data verification = false
-Expire-time verification = false ASCII protocol = true
+Expire-time verification = false ASCII protocol = true
-Binary protocol = false Dumping statistic information
-
-periodically = false
+Binary protocol = false Dumping statistic information periodically = false
Overwrite proportion = 0% UDP = false
-TCP = true Limit throughput = false
+TCP = true Limit throughput = false
+
+Facebook test = false Replication test = false
-Facebook test = false Replication test = false
Key size, value size and command distribution.
______________________________________________
All the distributions are read from the configuration file specified by user
-with “—cfg_cmd” option. If the user does not specify a configuration file,
+with "—cfg_cmd" option. If the user does not specify a configuration file,
memaslap will run with the default distribution (key size = 64,
value size = 1024, get/set = 9:1). For information on how to edit the
-configuration file, refer to the “Configuration File” section.
+configuration file, refer to the "Configuration File" section.
The minimum key size is 16 bytes; the maximum key size is 250 bytes. The
precision of proportion is 0.001. The proportion of distribution will be
The minimum value size is 1 bytes; the maximum value size is 1M bytes. The
precision of proportion is 0.001. The proportion of distribution will be
rounded to 3 decimal places.
-Currently, memaslap only testss set and get commands. And it
+Currently, memaslap only tests set and get commands. And it
testss 100% set and 100% get. For 100% get, it will preset some objects to
the server.
The high performance of memaslap benefits from the special
-schedule of thread and concurrency. It’s important to specify the proper
+schedule of thread and concurrency. It's important to specify the proper
number of them. The default number of threads is 1; the default number of
-concurrency is 16. The user can use “—threads” and “--concurrency” to
+concurrency is 16. The user can use "—threads" and "--concurrency" to
specify these variables.
If the system tests setting CPU affinity and the number of threads
are two ways to do this:
Decrease the number of threads and concurrencies.
-Use the option “--tps” that memaslap
+Use the option "--tps" that memaslap
provides to limit the throughput. This option allows
the user to get the expected throughput. For
example, assume that the maximum throughput is 50
kops/s for a specific configuration, you can specify
the throughput equal to or less than the maximum
-throughput using “--tps” option.
+throughput using "--tps" option.
Window size
Memslap will dump the statistics of the commands (get and set) at the frequency of every 20
seconds.
-For more information on the format of dumping statistic information, refer to “Format of Output” section.
+For more information on the format of dumping statistic information, refer to "Format of Output" section.
Multi-get
Memslap testss multi-get with both TCP and UDP. Because of
the different implementation of the ASCII protocol and binary protocol,
there are some differences between the two. For the ASCII protocol,
-memaslap sends one “multi-get” to the server once. For the
+memaslap sends one "multi-get" to the server once. For the
binary protocol, memaslap sends several single get commands
-together as “multi-get” to the server.
+together as "multi-get" to the server.
UDP and TCP
Memslap testss both UDP and TCP. For TCP,
memaslap does not reconnect the memcached server if socket connections are
lost. If all the socket connections are lost or memcached server crashes,
-memaslap will exit. If the user specifies the “--reconnect”
+memaslap will exit. If the user specifies the "--reconnect"
option when socket connections are lost, it will reconnect them.
-User can use “--udp” to enable the UDP feature, but UDP comes with some
+User can use "--udp" to enable the UDP feature, but UDP comes with some
limitations:
UDP cannot set data more than 1400 bytes.
-UDP is not testsed by the binary protocol because the binary protocol of
+UDP is not tested by the binary protocol because the binary protocol of
memcached does not tests that.
-UDP doesn’t tests reconnection.
+UDP doesn't tests reconnection.
Facebook test
For replication test, the user must specify at least two memcached servers.
-The user can use “—rep_write=” option to enable feature.
+The user can use "—rep_write=" option to enable feature.
For example:
Since memcached 1.3.3 doesn't implement binary UDP protocol,
memaslap does not tests UDP. In addition, memcached 1.3.3 does not tests
multi-get. If you specify "--division=50" option, it just sends 50 get
-commands together as “mulit-get” to the server.
+commands together as "multi-get" to the server.
Get_miss
- How many objects can’t be gotten
+ How many objects can't be gotten
get_misses
- How many objects can’t be gotten from server
+ How many objects can't be gotten from server
verify_misses
- How many objects need to verify but can’t get them
+ How many objects need to verify but can't get them
unexpired_unget
- How many objects are unexpired but we can’t get them
+ How many objects are unexpired but we can't get them
memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2
-
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
--------
-AUTHORS
--------
-
-
-Mingqiang Zhuang <mingqiangzhuang@hengtiansoft.com> (Schooner Technolgy)
-Brian Aker, <brian@tangent.org>
-
-
--------
SEE ALSO
--------
=======================================================================
-memcapable - Checking a Memcached server capibilities and compatibility
+memcapable - Checking a Memcached server capabilities and compatibility
=======================================================================
--------
.. option:: -t n
Set the timeout from an IO operation to/from the server to \ *n*\ seconds.
-
-
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Trond Norbye, <trond.norbye@gmail.com>
-
--------
SEE ALSO
You can specify servers via the option:
-.. cmdoption:: --servers
+.. option:: --servers
or via the environment variable:
For a full list of operations run the tool with the option:
-.. cmdoption:: --help
-
-
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
-Mark Atwood <mark@fallenpegasus.com>
+.. option:: --help
--------
.. option:: --help
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
-Mark Atwood, <mark@fallenpegasus.com>
-
--------
SEE ALSO
:program:`memdump` dumps a list of "keys" from all servers that
-it is told to fetch from. Because memcached does not guarentee to
+it is told to fetch from. Because memcached does not guarantee to
provide all keys it is not possible to get a complete "dump".
.. option:: --help
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
--------
SEE ALSO
.. option:: --help
-----
-HOME
-----
-
-
-To find out more infoerroration please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
--------
SEE ALSO
===========================================
-memexist - Check for the existance of a key
+memexist - Check for the existence of a key
===========================================
.. option:: --help
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
--------
SEE ALSO
--------
.. option:: --help
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
-Mark Atwood <mark@fallenpegasus.com>
-
--------
SEE ALSO
.. option:: --help
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
--------
SEE ALSO
.. option:: --help
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-Brian Aker, <brian@tangent.org>
-
--------
SEE ALSO
--------
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
-Mark Atwood, <mark@fallenpegasus.com>
-
-
--------
SEE ALSO
--------
.. option:: --help
-----
-HOME
-----
-
-
-To find out more information please check:
-'http://libmemcached.org/ <http://libmemcached.org/>'_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
--------
SEE ALSO
.. option:: --analyze
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
--------
SEE ALSO
.. option:: --help
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-Brian Aker, <brian@tangent.org>
--------
SEE ALSO
.. c:type:: MEMCACHED_AUTH_PROBLEM
-An unknown issue has occured during authentication.
+An unknown issue has occurred during authentication.
.. c:type:: MEMCACHED_CLIENT_ERROR
-An unknown client error has occured internally.
+An unknown client error has occurred internally.
.. c:type:: MEMCACHED_CONNECTION_FAILURE
-A unknown error has occured while trying to connect to a server.
+A unknown error has occurred while trying to connect to a server.
.. c:type:: MEMCACHED_PARTIAL_READ
-The read was only partcially successful.
+The read was only partially successful.
.. c:type:: MEMCACHED_SOME_ERRORS
-A multi request has been made, and some underterminate number of errors have occurred.
+A multi request has been made, and some undetermined number of errors have occurred.
.. c:type:: MEMCACHED_WRITE_FAILURE
-An error has occured while trying to write to a server.
+An error has occurred while trying to write to a server.
# General information about the project.
project = u'libmemcached'
-copyright = u'2011-2020 Brian Aker, Michael Wallner'
+#copyright = u'2011-2013 Brian Aker, 2020 Michael Wallner'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
-version = '@VERSION@'
+version = '@PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@'
# The full version, including alpha/beta/rc tags.
-release = '@VERSION@'
+release = '@PROJECT_VERSION@'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
# Output file base name for HTML help builder.
htmlhelp_basename = 'libmemcacheddoc'
+#manpages_url =
+
+html_copy_source = False
+
# -- Options for LaTeX output --------------------------------------------------
# -- Options for manual page output --------------------------------------------
+
+#man_show_urls = True
+
# Skip a separate AUTHOR section
man_authors = []
+
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
SYNOPSIS
--------
-#include <libhashkit/hashkit.h>
+.. describe:: #include <libhashkit/hashkit.h>
.. c:type:: hashkit_st
:c:func:`hashkit_clone`, otherwise it is false and was user-supplied memory.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
--------
SEE ALSO
A 32-bit hash value.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
--------
SEE ALSO
A 32-bit hash value.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
--------
SEE ALSO
--------
libhashkit is a small and thread-safe client library that provides a collection of useful hashing algorithm. libhashkit is distributed with libmemcached.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
--------
SEE ALSO
-----------
-:c:func:`memcached_set_encoding_key` sets the key that will be used to encrypt and decrypt data as it is sent and recieved from the server.
+:c:func:`memcached_set_encoding_key` sets the key that will be used to encrypt and decrypt data as it is sent and received from the server.
Currently only AES is is supported.
translate this value to a printable string.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
--------
SEE ALSO
Use :c:func:`memcached_strerror` to translate this value to a printable
string.
-----
-HOME
-----
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
--------
you can call :c:func:`memcached_quit` on a :c:type:`memcached_st` and then use the resulting cloned structure.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
--------
SEE ALSO
.. c:macro:: MEMCACHED_DEFAULT_TIMEOUT
-Value 5000
+ Value 5000
.. c:macro:: MEMCACHED_DEFAULT_CONNECT_TIMEOUT
.. c:function:: memcached_return_t memcached_exist_by_key(memcached_st *ptr, char *group_key, size_t *group_key_length, char *key, size_t *key_length)
- .. versionadded:: 0.53
-
Compile and link with -lmemcached
+.. versionadded:: 0.53
+
-----------
DESCRIPTION
-----------
-:c:func:`memcached_exist()` 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.
+:c:func:`memcached_exist()` can be used to check if a key exists.
------
RETURN
------
-:c:func:`memcached_exist()` sets error to
-to :c:type:`MEMCACHED_SUCCESS` upon finding that the key exists.
-:c:type:`MEMCACHED_NOTFOUND` will be return if the key is not found.
-
-
-----
-HOME
-----
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
+:c:type:`MEMCACHED_SUCCESS`
+ The key exists.
+:c:type:`MEMCACHED_NOTFOUND`
+ The key was not found.
--------
SEE ALSO
--------
+
:manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
key allowed for the original memcached ascii server.
-----
-HOME
-----
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
--------
SEE ALSO
--------
memcached_last_error_message returns a const char* which does not need to be
de-allocated. If no error has occurred then it will return NULL.
-----
-HOME
-----
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
--------
SEE ALSO
SYNOPSIS
--------
-#include <libmemcached-1.0/memcached.h>
+.. describe:: #include <libmemcached-1.0/memcached.h>
-.. envvar:: LIBMEMCACHED
-
-.. c:function:: memcached_st *memcached(const char *string, size_t string_length)
+.. c:function:: memcached_st *\
+ memcached(const char *string, size_t string_length)
-.. c:function:: memcached_return_t libmemcached_check_configuration(const char *option_string, size_t length, char *error_buffer, size_t error_buffer_size)
+.. c:function:: memcached_return_t \
+ libmemcached_check_configuration(const char *option_string, size_t length, \
+ char *error_buffer, size_t error_buffer_size)
Compile and link with -lmemcached
servers. By passing in an option string you can generate a ``memcached_st`` object
that you can use in your application directly.
-.. describe:: --SERVER=<servername>:<optional_port>/?<optional_weight>
+General Options:
+****************
+
+.. option:: --SERVER=<servername>:<optional_port>/?<optional_weight>
+
+Provide a servername to be used by the client.
-Provide a servername to be used by the client. Providing a weight will cause weighting to occur with all hosts with each server getting a default weight of 1.
+Providing a weight will cause weighting to occur with all hosts with each server getting a default weight of 1.
-.. describe:: --SOCKET=\"<filepath>/?<optional_weight>\"
+.. option:: --SOCKET=\"<filepath>/?<optional_weight>\"
Provide a filepath to a UNIX socket file. Providing a weight will cause weighting to occur with all hosts with each server getting a default weight of 1.
-.. describe:: --VERIFY-KEY
+.. option:: --VERIFY-KEY
Verify that keys that are being used fit within the design of the protocol being used.
-.. describe:: --REMOVE_FAILED_SERVERS
+.. option:: --REMOVE_FAILED_SERVERS
Enable the behavior :c:type:`MEMCACHED_BEHAVIOR_REMOVE_FAILED_SERVERS`.
-.. describe:: --BINARY-PROTOCOL
+.. option:: --BINARY-PROTOCOL
Force all connections to use the binary protocol.
-.. describe:: --BUFFER-REQUESTS
+.. option:: --BUFFER-REQUESTS
Please see :c:type:`MEMCACHED_BEHAVIOR_BUFFER_REQUESTS`.
-.. describe:: --CONFIGURE-FILE=
+.. option:: --CONFIGURE-FILE=
Provide a configuration file to be used to load requests. Beware that by using a configuration file libmemcached will reset memcached_st based on information only contained in the file.
-.. describe:: --CONNECT-TIMEOUT=
+.. option:: --CONNECT-TIMEOUT=
Please see :c:type:`MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT`.
-.. describe:: --DISTRIBUTION=
+.. option:: --DISTRIBUTION=
Set the distribution model used by the client. See :manpage:`memcached_behavior_set(3)` for more details.
-.. describe:: --HASH=
+.. option:: --HASH=
-Set the hashing alogrthm used for placing keys on servers.
+Set the hashing algorithm used for placing keys on servers.
-.. describe:: --HASH-WITH-NAMESPACE
+.. option:: --HASH-WITH-NAMESPACE
When enabled the prefix key will be added to the key when determining which
server to store the data in.
-.. describe:: --NOREPLY
+.. option:: --NOREPLY
Enable "no reply" for all calls that support this. It is highly recommended
that you use this option with the binary protocol only.
-.. describe:: --NUMBER-OF-REPLICAS=
+.. option:: --NUMBER-OF-REPLICAS=
-Set the nummber of servers that keys will be replicated to.
+Set the number of servers that keys will be replicated to.
-.. describe:: --RANDOMIZE-REPLICA-READ
+.. option:: --RANDOMIZE-REPLICA-READ
Select randomly the server within the replication pool to read from.
-.. describe:: --SORT-HOSTS
+.. option:: --SORT-HOSTS
When adding new servers always calculate their distribution based on sorted naming order.
-.. describe:: --SUPPORT-CAS
+.. option:: --SUPPORT-CAS
See :manpage:`memcached_behavior_set(3)` for :c:type:`MEMCACHED_BEHAVIOR_SUPPORT_CAS`
-.. describe:: --USE-UDP
+.. option:: --USE-UDP
See :manpage:`memcached_behavior_set(3)` for :c:type:`MEMCACHED_BEHAVIOR_USE_UDP`
-.. describe:: --NAMESPACE=
+.. option:: --NAMESPACE=
A namespace is a container that provides context for keys, only other
requests that know the namespace can access these values. This is
accomplished by prepending the namespace value to all keys.
-**********************
-Mecached Pool Options:
-**********************
+***********************
+Memcached Pool Options:
+***********************
-.. describe:: --POOL-MIN
+.. option:: --POOL-MIN
Initial size of pool.
-.. describe:: --POOL-MAX
+.. option:: --POOL-MAX
Maximize size of the pool.
I/O Options:
************
-.. describe:: --TCP-NODELAY
+.. option:: --TCP-NODELAY
See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_TCP_NODELAY
-.. describe:: --TCP-KEEPALIVE
+.. option:: --TCP-KEEPALIVE
See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_TCP_KEEPALIVE
-.. describe:: --RETRY-TIMEOUT=
+.. option:: --RETRY-TIMEOUT=
See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_RETRY_TIMEOUT
-.. describe:: --SERVER-FAILURE-LIMIT=
+.. option:: --SERVER-FAILURE-LIMIT=
See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT
-.. describe:: --SND-TIMEOUT=
+.. option:: --SND-TIMEOUT=
See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SND_TIMEOUT
-.. describe:: --SOCKET-RECV-SIZE=
+.. option:: --SOCKET-RECV-SIZE=
See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE
-.. describe:: --SOCKET-SEND-SIZE=
+.. option:: --SOCKET-SEND-SIZE=
See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE
-.. describe:: --POLL-TIMEOUT=
+.. option:: --POLL-TIMEOUT=
That sets the value of the timeout used by :manpage: `poll()`.
-.. describe:: --IO-BYTES-WATERMARK=
+.. option:: --IO-BYTES-WATERMARK=
-.. describe:: --IO-KEY-PREFETCH=
+.. option:: --IO-KEY-PREFETCH=
-.. describe:: --IO-MSG-WATERMARK=
+.. option:: --IO-MSG-WATERMARK=
-.. describe:: --TCP-KEEPIDLE
+.. option:: --TCP-KEEPIDLE
-.. describe:: --RCV-TIMEOUT=
+.. option:: --RCV-TIMEOUT=
-******
-Other:
-******
+Other Options:
+**************
-.. describe:: INCLUDE
+.. option:: INCLUDE
Include a file in configuration. Unlike --CONFIGURE-FILE= this will not reset memcached_st
-.. describe:: RESET
+.. option:: RESET
Reset memcached_st and continue to process.
-.. describe:: END
+.. option:: END
-End configutation processing.
+End configuration processing.
-.. describe:: ERROR
+.. option:: ERROR
-End configutation processing and throw an error.
+End configuration processing and throw an error.
+
+
+-----------
+ENVIRONMENT
+-----------
+
+.. envvar:: LIBMEMCACHED
------
.. code-block:: c
- const char *config_string= "--SERVER=host10.example.com --SERVER=host11.example.com --SERVER=host10.example.com"
- memcached_st *memc= memcached(config_string, strlen(config_string);
+ const char *config_string=
+ "--SERVER=host10.example.com "
+ "--SERVER=host11.example.com "
+ "--SERVER=host10.example.com";
+ memcached_st *memc= memcached(config_string, strlen(config_string));
{
- ...
+ // ...
}
memcached_free(memc);
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-
--------
SEE ALSO
--------
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
--------
SEE ALSO
--------
you should either clone the :c:type:`memcached_st`, or use the memcached pool
implementation. see :c:func:`memcached_pool_create`.
-
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
--------
SEE ALSO
--------
=================
-Anaylzing servers
+Analyzing servers
=================
memory allocated for it.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
--------
SEE ALSO
If you are looking for performance, :c:func:`memcached_set` with non-blocking
IO is the fastest way to store data on the server.
-All of the above functions are testsed with the
+All of the above functions are tested with the
:c:type:`MEMCACHED_BEHAVIOR_USE_UDP` behavior enabled. However, when using
these operations with this behavior on, there are limits to the size of the
payload being sent to the server. The reason for these limits is that the
string.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
--------
SEE ALSO
--------
-:manpage:`memcached(1)` :manpage:`libmemached(3)` :manpage:`memcached_strerror(3)` :manpage:`memcached_set(3)` :manpage:`memcached_add(3)` :manpage:`memcached_cas(3)` :manpage:`memcached_replace(3)`
+:manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` :manpage:`memcached_set(3)` :manpage:`memcached_add(3)` :manpage:`memcached_cas(3)` :manpage:`memcached_replace(3)`
(overflow and underflow are not detected). This gives you the ability to use
memcached to generate shared sequences of values.
-memcached_increment takes a key and keylength and increments the value by
+memcached_increment takes a key and key length and increments the value by
the offset passed to it. The value is then returned via the uint32_t
value pointer you pass to it.
Use memcached_strerror to translate this value to a printable string.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
--------
SEE ALSO
--------
DESCRIPTION
-----------
-:manpage:`libmemcached(3)` behavior can be modified by using :c:func:`memcached_behavior_set`. Default behavior is the library strives to be quick and
+:manpage:`libmemcached(3)` behavior can be modified by using
+:c:func:`memcached_behavior_set`. Default behavior is the library strives to be quick and
accurate. Some behavior, while being faster, can also result in not entirely
accurate behavior (for instance, :c:func:`memcached_set` will always respond
with :c:type:`MEMCACHED_SUCCESS`).
.. c:type:: MEMCACHED_BEHAVIOR_USE_UDP
Causes :manpage:`libmemcached(3)` to use the UDP transport when communicating
-with a memcached server. Not all I/O operations are testsed
-when this behavior is enababled. The following operations will return
-:c:type:`MEMCACHED_NOT_SUPPORTED` when executed with the
-:c:type:`MEMCACHED_BEHAVIOR_USE_UDP` enabled: :c:func:`memcached_version`,
-:c:func:`memcached_stat`, :c:func:`memcached_get`,
-:c:func:`memcached_get_by_key`, :c:func:`memcached_mget`,
-:c:func:`memcached_mget_by_key`, :c:func:`memcached_fetch`,
-:c:func:`memcached_fetch_result`, :c:func:`memcached_fetch_execute`.
+with a memcached server. Not all I/O operations are tested
+when this behavior is enabled.
-All other operations are testsed but are executed in a 'fire-and-forget'
+The following operations will return
+:c:type:`MEMCACHED_NOT_SUPPORTED` when executed with the
+:c:type:`MEMCACHED_BEHAVIOR_USE_UDP` enabled:
+ * :c:func:`memcached_version`,
+ * :c:func:`memcached_stat`,
+ * :c:func:`memcached_get`,
+ * :c:func:`memcached_get_by_key`,
+ * :c:func:`memcached_mget`,
+ * :c:func:`memcached_mget_by_key`,
+ * :c:func:`memcached_fetch`,
+ * :c:func:`memcached_fetch_result`,
+ * :c:func:`memcached_fetch_execute`.
+
+All other operations are tested but are executed in a 'fire-and-forget'
mode, in which once the client has executed the operation, no attempt
will be made to ensure the operation has been received and acted on by the
server.
:manpage:`libmemcached(3)` does not allow TCP and UDP servers to be shared
-within the same libmemached(3) client 'instance'. An attempt to add a TCP
-server when this behavior is enabled will result in a :c:type:`MEMCACHED_INVALID_HOST_PROTOCOL`, as will attempting to add a UDP server when this behavior has
-not been enabled.
+within the same libmemcached(3) client 'instance'. An attempt to add a TCP
+server when this behavior is enabled will result in a
+:c:type:`MEMCACHED_INVALID_HOST_PROTOCOL`, as will attempting to add a UDP
+server when this behavior has not been enabled.
.. c:type:: MEMCACHED_BEHAVIOR_NO_BLOCK
-Causes :manpage:`libmemcached(3)` to use asychronous IO. This is the fastest
+Causes :manpage:`libmemcached(3)` to use asynchronous IO. This is the fastest
transport available for storage functions.
.. c:type:: MEMCACHED_BEHAVIOR_SND_TIMEOUT
-This sets the microsecond behavior of the socket against the SO_SNDTIMEO flag. In cases where you cannot use non-blocking IO this will allow you to still have timeouts on the sending of data.
+This sets the microsecond behavior of the socket against the SO_SNDTIMEO flag.
+
+In cases where you cannot use non-blocking IO this will allow you to still have timeouts on the sending of data.
.. c:type:: MEMCACHED_BEHAVIOR_RCV_TIMEOUT
.. c:type:: MEMCACHED_BEHAVIOR_HASH
-Makes the default hashing algorithm for keys use MD5. The value can be set to either :c:type:`MEMCACHED_HASH_DEFAULT`, :c:type:`MEMCACHED_HASH_MD5`, :c:type:`MEMCACHED_HASH_CRC`, :c:type:`MEMCACHED_HASH_FNV1_64`, :c:type:`MEMCACHED_HASH_FNV1A_64`, :c:type:`MEMCACHED_HASH_FNV1_32`, :c:type:`MEMCACHED_HASH_FNV1A_32`, :c:type:`MEMCACHED_HASH_JENKINS`, :c:type:`MEMCACHED_HASH_HSIEH`, and :c:type:`MEMCACHED_HASH_MURMUR`.
-
-Each hash has it's advantages and it's weaknesses. If you don't know or don't
+Makes the default hashing algorithm for keys use MD5.
+The value can be set to either:
+ * :c:type:`MEMCACHED_HASH_DEFAULT`,
+ * :c:type:`MEMCACHED_HASH_MD5`,
+ * :c:type:`MEMCACHED_HASH_CRC`,
+ * :c:type:`MEMCACHED_HASH_FNV1_64`,
+ * :c:type:`MEMCACHED_HASH_FNV1A_64`,
+ * :c:type:`MEMCACHED_HASH_FNV1_32`,
+ * :c:type:`MEMCACHED_HASH_FNV1A_32`,
+ * :c:type:`MEMCACHED_HASH_JENKINS`,
+ * :c:type:`MEMCACHED_HASH_HSIEH`, and
+ * :c:type:`MEMCACHED_HASH_MURMUR`.
+
+Each hash has its advantages and its weaknesses. If you don't know or don't
care, just go with the default.
-Support for :c:type:`MEMCACHED_HASH_HSIEH` is a compile time option that is disabled by default. To enable tests for this hashing algorithm, configure and build libmemcached with the --enable-hash_hsieh.
+Support for :c:type:`MEMCACHED_HASH_HSIEH` is a compile time option that is
+disabled by default. To enable tests for this hashing algorithm, configure and
+build libmemcached with the Hsieh hash enabled.
Using this you can enable different means of distributing values to servers.
-The default method is MEMCACHED_DISTRIBUTION_MODULA. You can enable consistent hashing by setting MEMCACHED_DISTRIBUTION_CONSISTENT. Consistent hashing delivers better distribution and allows servers to be added to the cluster with minimal cache losses. Currently MEMCACHED_DISTRIBUTION_CONSISTENT is an alias for the value MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA.
+The default method is :c:type:`MEMCACHED_DISTRIBUTION_MODULA`.
+
+You can enable consistent hashing by setting :c:type:`MEMCACHED_DISTRIBUTION_CONSISTENT`.
+Consistent hashing delivers better distribution and allows servers to be added
+to the cluster with minimal cache losses.
+
+Currently :c:type:`MEMCACHED_DISTRIBUTION_CONSISTENT` is an alias for the value
+c:type:`MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA`.
.. c:type:: MEMCACHED_BEHAVIOR_CACHE_LOOKUPS
.. deprecated:: 0.46(?)
.. c:type:: MEMCACHED_BEHAVIOR_SORT_HOSTS
-Enabling this will cause hosts that are added to be placed in the host list in sorted order. This will defeat consisten hashing.
+Enabling this will cause hosts that are added to be placed in the host list in sorted order. This will defeat consistent hashing.
.. c:type:: MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT
.. c:type:: MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE
-Find the current size of SO_SNDBUF. A value of 0 means either an error occured or no hosts were available. It is safe to assume system default if this occurs. If an error occurs you can checked the last cached errno statement to find the specific error.
+Find the current size of SO_SNDBUF. A value of 0 means either an error occurred or no hosts were available. It is safe to assume system default if this occurs. If an error occurs you can checked the last cached errno statement to find the specific error.
.. c:type:: MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE
-Find the current size of SO_RCVBUF. A value of 0 means either an error occured or no hosts were available. It is safe to assume system default if this occurs. If an error occurs you can checked the last cached errno statement to find the specific error.
+Find the current size of SO_RCVBUF. A value of 0 means either an error occurred or no hosts were available. It is safe to assume system default if this occurs. If an error occurs you can checked the last cached errno statement to find the specific error.
.. c:type:: MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT
to data value, to taking a uin64_t.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
--------
SEE ALSO
.. c:type:: MEMCACHED_CALLBACK_CLEANUP_FUNCTION
-When :c:func:`memcached_delete` is called this function will be excuted. At
+When :c:func:`memcached_delete` is called this function will be executed. At
the point of its execution all connections are closed.
.. c:type:: MEMCACHED_CALLBACK_CLONE_FUNCTION
-When :c:func:`memcached_delete` is called this function will be excuted.
+When :c:func:`memcached_delete` is called this function will be executed.
At the point of its execution all connections are closed.
.. c:type:: MEMCACHED_CALLBACK_PREFIX_KEY
.. c:type:: MEMCACHED_CALLBACK_USER_DATA
-This allows you to store a pointer to a specifc piece of data. This can be
+This allows you to store a pointer to a specific piece of data. This can be
retrieved from inside of :c:func:`memcached_fetch_execute`. Cloning a
:c:type:`memcached_st` will copy the pointer to the clone.
make use of it. The value will be stored only if you return
:c:type:`MEMCACHED_SUCCESS` or :c:type:`MEMCACHED_BUFFERED`. Returning
:c:type:`MEMCACHED_BUFFERED` will cause the object to be buffered and not sent
-immediatly (if this is the default behavior based on your connection setup
+immediately (if this is the default behavior based on your connection setup
this will happen automatically).
The prototype for this is:
successful setting, otherwise :c:type:`MEMCACHED_FAILURE` on error.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
--------
SEE ALSO
:c:func:`memcached_cas` overwrites data in the server as long as the "cas"
value is still the same in the server. You can get the cas value of a result
by calling :c:func:`memcached_result_cas` on a memcached_result_st(3)
-structure. At the point that this note was written cas is still buggy in memached. Turning on tests for it in libmemcached(3) is optional. Please see
+structure. At the point that this note was written cas is still buggy in memcached.
+Turning on tests for it in libmemcached(3) is optional. Please see
:c:func:`memcached_set` for information on how to do this.
:c:func:`memcached_cas_by_key` method behaves in a similar method as the non
key methods. The difference is that it uses the group_key parameter
to map objects to particular servers.
-:c:func:`memcached_cas` is testsed with the :c:type:`MEMCACHED_BEHAVIOR_USE_UDP` behavior enabled. However, when using these operations with this behavior
+:c:func:`memcached_cas` is tested with the :c:type:`MEMCACHED_BEHAVIOR_USE_UDP` behavior enabled. However, when using these operations with this behavior
on, there are limits to the size of the payload being sent to the server. The
reason for these limits is that the Memcached Server does not allow
multi-datagram requests and the current server implementation sets a datagram
string.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
--------
SEE ALSO
--------
-:manpage:`memcached(1)` :manpage:`libmemached(3)` :manpage:`memcached_strerror(3)` :manpage:`memcached_set(3)` :manpage:`memcached_append(3)` :manpage:`memcached_add(3)` :manpage:`memcached_prepend(3)` :manpage:`memcached_replace(3)`
+:manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` :manpage:`memcached_set(3)` :manpage:`memcached_append(3)` :manpage:`memcached_add(3)` :manpage:`memcached_prepend(3)` :manpage:`memcached_replace(3)`
that was created (or initialized). On an allocation failure, it returns NULL.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
--------
SEE ALSO
--------
"replace" commands with this key will also fail (the "set" command will
succeed, however). After the time passes, the item is finally deleted from server memory.
-Please note the the Danga memcached server removed tests for expiration in
+Please note the the memcached server removed tests for expiration in
the 1.4 version.
means that the message was queued for delivery.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
--------
SEE ALSO
:c:func:`memcached_dump` is used to get a list of keys found in memcached(1)
-servers. Because memcached(1) does not guarentee to dump all keys you can not
+servers. Because memcached(1) does not guarantee to dump all keys you can not
assume you have fetched all keys from the server. The function takes an array
of callbacks that it will use to execute on keys as they are found.
-Currently the binary protocol is not testsed.
+Currently the binary protocol is not tested.
------
string.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
--------
SEE ALSO
On success that value will be :c:type:`MEMCACHED_SUCCESS`.
Use :c:type:`memcached_strerror` to translate this value to a printable string.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
--------
SEE ALSO
.. index:: object: memcached_st
-Flush and senf buffered commands
+Flush and send buffered commands
--------
SYNOPSIS
string.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
-Trond Norbye, <trond.norbye@gmail.com>
--------
The allowed hash algorithm constants are listed in the manpage for
:c:func:`memcached_behavior_set`.
-:c:func:`memcached_generate_hash` takes a :c:type:`memcached_st` struture
+:c:func:`memcached_generate_hash` takes a :c:type:`memcached_st` structure
and produces the hash value that would have been generated based on the
defaults of :c:type:`memcached_st`.
returned.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
--------
SEE ALSO
to :c:type:`MEMCACHED_END` upon successful conclusion.
:c:type:`MEMCACHED_NOTFOUND` will be return if no keys at all were found.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
--------
SEE ALSO
NULL as all functions to reset them to the default values.
:c:func:`memcached_get_memory_allocators` is used to get the currently used
-memory allocators by a mamcached handle.
+memory allocators by a memcached handle.
:c:func:`memcached_get_memory_allocators_context` returns the void \* that
was passed in during the call to :c:func:`memcached_set_memory_allocators`.
of function pointers.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
--------
SEE ALSO
--------
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.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
-Trond Norbye, <trond.norbye@gmail.com>
-
--------
SEE ALSO
translate this value to a printable string.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
-
--------
SEE ALSO
--------
to do this will result in leaked memory.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
--------
SEE ALSO
:c:type:`MEMCACHED_SUCCESS` upon success.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
-Trond Norbye, <trond.norbye@gmail.com>
-
--------
SEE ALSO
:c:func:`memcached_server_error` can be used to look at the text of the last error message sent by the server to to the client.
-Before version 0.39 theses functions used a memcache_server_st \*. In 0.39
+Before version 0.39 theses functions used a memcached_server_st \*. In 0.39
memcached_server_st \* was aliased to :c:type:`memcached_server_list_st`. This was done for a style reason to help clean up some concepts in the code.
Varies, see particular functions.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
--------
SEE ALSO
Varies, see particular functions.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
--------
SEE ALSO
--------
:c:func:`memcached_cas` overwrites data in the server as long as the "cas"
value is still the same in the server. You can get the cas value of a result by
calling :c:func:`memcached_result_cas` on a memcached_result_st(3) structure. At the point
-that this note was written cas is still buggy in memached. Turning on tests
+that this note was written cas is still buggy in memcached. Turning on tests
for it in libmemcached(3) is optional. Please see memcached_set for
information on how to do this.
If you are looking for performance, :c:func:`memcached_set` with non-blocking IO is the fastest way to store data on the server.
-All of the above functions are testsed with the :c:type:`MEMCACHED_BEHAVIOR_USE_UDP` behavior enabled. However, when using these operations with this behavior
+All of the above functions are tested with the :c:type:`MEMCACHED_BEHAVIOR_USE_UDP` behavior enabled. However, when using these operations with this behavior
on, there are limits to the size of the payload being sent to the server.
The reason for these limits is that the Memcached Server does not allow
multi-datagram requests and the current server implementation sets a datagram
On success the value will be :c:type:`MEMCACHED_SUCCESS`.
Use :c:func:`memcached_strerror` to translate this value to a printable string.
-For :c:func:`memcached_replace` and :c:func:`memcached_add`, :c:type:`MEMCACHED_NOTSTORED` is a legitmate error in the case of a collision.
+For :c:func:`memcached_replace` and :c:func:`memcached_add`, :c:type:`MEMCACHED_NOTSTORED` is a legitimate error in the case of a collision.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
--------
SEE ALSO
--------
-:manpage:`memcached(1)` :manpage:`libmemached(3)` :manpage:`memcached_strerror(3)` :manpage:`memcached_prepend(3)` :manpage:`memcached_cas(3)` :manpage:`memcached_append(3)`
+:manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` :manpage:`memcached_prepend(3)` :manpage:`memcached_cas(3)` :manpage:`memcached_append(3)`
memory allocated for it.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-------
-AUTHOR
-------
-
-
-Brian Aker, <brian@tangent.org>
-
--------
SEE ALSO
-================================================
-Coverting Errors, memcached_return_t, to strings
-================================================
+=================================================
+Converting Errors, memcached_return_t, to strings
+=================================================
.. index:: object: memcached_st
:c:func:`memcached_strerror` returns a string describing a :c:type:`memcached_return_t` value.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
-
--------
SEE ALSO
--------
:c:func:`memcached_get_user_data` returns the current value uf the user specific data.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
--------
SEE ALSO
.. index:: object: memcached_st
-Modifiy verbosity of servers
+Modify verbosity of servers
--------
SYNOPSIS
Use :c:func:`memcached_strerror` to translate this value to a printable string.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
-
--------
SEE ALSO
--------
a printable string.
-----
-HOME
-----
-
-
-To find out more information please check:
-`http://libmemcached.org/ <http://libmemcached.org/>`_
-
--------
SEE ALSO
By default on Linux libmemcached is compiled to support Systemtap. This enabled/disabled during compiles via the dtrace configure flag.
-Please see :manpage: `stapex` for more information about Systemtap.
+Please see :manpage:`stapex` for more information about Systemtap.
Versioning
==========
-Libmemcached is layed out by interface version. The 1.0 version would be found in: libmemcached-1.0/memcached.h
+Libmemcached is laid out by interface version. The 1.0 version would be found in: ``libmemcached-1.0/memcached.h``
-The historic libmemcached/memcached.h includes libmemcached-1.0/memcached.h. For best practice you should include the version of libmemcacached that you used during development.
+The historic ``libmemcached/memcached.h`` includes ``libmemcached-1.0/memcached.h``.
+For best practice you should include the version of libmemcached that you used during development.