From: Michael Wallner Date: Thu, 20 Feb 2020 11:22:48 +0000 (+0100) Subject: docs: sanitize X-Git-Tag: 1.1.0-beta1~250^2~19 X-Git-Url: https://git.m6w6.name/?a=commitdiff_plain;h=49aa94b8c4df6c3fd9d5c9688651c6f928f9aad1;p=m6w6%2Flibmemcached docs: sanitize --- diff --git a/.gitignore b/.gitignore index dffd1bf9..6e4a3f49 100644 --- a/.gitignore +++ b/.gitignore @@ -47,5 +47,5 @@ example/t/memcached_light tags venv/ /infer-out/ -/docs/gh-pages/source/ +/docs/gh-pages/pages/ /docs/gh-pages/build/ diff --git a/CMake/_Include.cmake b/CMake/_Include.cmake index 1c5b89ff..9f6891c2 100644 --- a/CMake/_Include.cmake +++ b/CMake/_Include.cmake @@ -1,5 +1,3 @@ -set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMake) - set(THREADS_PREFER_PTHREAD_FLAG ON) # globals diff --git a/CMakeConfig.txt b/CMakeConfig.txt index 3acae1cb..209f4770 100644 --- a/CMakeConfig.txt +++ b/CMakeConfig.txt @@ -39,6 +39,12 @@ set(ENABLE_DTRACE OFF # 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") @@ -61,5 +67,8 @@ set(HAVE_GCC_BUILTIN_ATOMIC 1) # modules +set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMake) -include(CMake/_Include.cmake) +if(NOT BUILD_DOCSONLY) + include(CMake/_Include.cmake) +endif() diff --git a/CMakeLists.txt b/CMakeLists.txt index 7cd6745f..2db4ab3a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,40 +17,47 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) 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() + + diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index 07709dd0..e7ce95c9 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -66,7 +66,7 @@ else() 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() diff --git a/docs/gh-pages/publish.sh b/docs/gh-pages/publish.sh index b87f8ef5..6095d45f 100755 --- a/docs/gh-pages/publish.sh +++ b/docs/gh-pages/publish.sh @@ -3,22 +3,22 @@ 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" diff --git a/docs/source/bin/memaslap.rst b/docs/source/bin/memaslap.rst index 61060675..eae05d81 100644 --- a/docs/source/bin/memaslap.rst +++ b/docs/source/bin/memaslap.rst @@ -21,9 +21,9 @@ DESCRIPTION :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. @@ -115,12 +115,12 @@ _________________________________________________________ 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 @@ -145,10 +145,10 @@ of the string to identify a string. It can save much memory. 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 @@ -164,7 +164,7 @@ Simple but useful task scheduling _________________________________ -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 @@ -209,7 +209,7 @@ By default, Memslap does single get. If the user specifies 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 @@ -260,7 +260,7 @@ memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2 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 @@ -268,33 +268,32 @@ Key size = 64 Value size = 1024 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 @@ -303,7 +302,7 @@ rounded to 3 decimal places. 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. @@ -313,9 +312,9 @@ ____________________________ 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 @@ -359,13 +358,13 @@ limit the performance of memaslap, there 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 @@ -492,7 +491,7 @@ For example: 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 @@ -506,9 +505,9 @@ verification and expire-time verification for 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 @@ -518,18 +517,18 @@ ___________ 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 @@ -561,7 +560,7 @@ ________________ 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: @@ -610,7 +609,7 @@ 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. @@ -875,7 +874,7 @@ Net Get_miss - How many objects can’t be gotten + How many objects can't be gotten @@ -1034,13 +1033,13 @@ cmd_set 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 @@ -1058,7 +1057,7 @@ expired_get unexpired_unget - How many objects are unexpired but we can’t get them + How many objects are unexpired but we can't get them @@ -1226,25 +1225,6 @@ memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m 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/ `_ - - -------- -AUTHORS -------- - - -Mingqiang Zhuang (Schooner Technolgy) -Brian Aker, - - -------- SEE ALSO -------- diff --git a/docs/source/bin/memcapable.rst b/docs/source/bin/memcapable.rst index 0e4f33e3..f5d18c28 100644 --- a/docs/source/bin/memcapable.rst +++ b/docs/source/bin/memcapable.rst @@ -1,5 +1,5 @@ ======================================================================= -memcapable - Checking a Memcached server capibilities and compatibility +memcapable - Checking a Memcached server capabilities and compatibility ======================================================================= -------- @@ -51,24 +51,6 @@ Print out the comparison when it detects an error from the server. .. 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/ `_ - - ------- -AUTHOR ------- - - -Trond Norbye, - -------- SEE ALSO diff --git a/docs/source/bin/memcat.rst b/docs/source/bin/memcat.rst index b8612a92..3345a0b6 100644 --- a/docs/source/bin/memcat.rst +++ b/docs/source/bin/memcat.rst @@ -34,7 +34,7 @@ OPTIONS You can specify servers via the option: -.. cmdoption:: --servers +.. option:: --servers or via the environment variable: @@ -42,26 +42,7 @@ 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/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -Mark Atwood +.. option:: --help -------- diff --git a/docs/source/bin/memcp.rst b/docs/source/bin/memcp.rst index a85eed8b..d9547d91 100644 --- a/docs/source/bin/memcp.rst +++ b/docs/source/bin/memcp.rst @@ -47,24 +47,6 @@ For a full list of operations run the tool with the option: .. option:: --help ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -Mark Atwood, - -------- SEE ALSO diff --git a/docs/source/bin/memdump.rst b/docs/source/bin/memdump.rst index 6a8e12da..7ea39bcd 100644 --- a/docs/source/bin/memdump.rst +++ b/docs/source/bin/memdump.rst @@ -20,7 +20,7 @@ DESCRIPTION :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". @@ -34,22 +34,6 @@ For a full list of operations run the tool with option: .. option:: --help ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -------- SEE ALSO diff --git a/docs/source/bin/memerror.rst b/docs/source/bin/memerror.rst index 53fc09c4..b92699fe 100644 --- a/docs/source/bin/memerror.rst +++ b/docs/source/bin/memerror.rst @@ -33,22 +33,6 @@ For a full list of operations run the tool with option: .. option:: --help ----- -HOME ----- - - -To find out more infoerroration please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -------- SEE ALSO diff --git a/docs/source/bin/memexist.rst b/docs/source/bin/memexist.rst index 22c3a4d8..b407d90c 100644 --- a/docs/source/bin/memexist.rst +++ b/docs/source/bin/memexist.rst @@ -1,5 +1,5 @@ =========================================== -memexist - Check for the existance of a key +memexist - Check for the existence of a key =========================================== @@ -39,22 +39,6 @@ For a full list of operations run the tool with the option: .. option:: --help ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -------- SEE ALSO -------- diff --git a/docs/source/bin/memflush.rst b/docs/source/bin/memflush.rst index a2b9894d..9caa422e 100644 --- a/docs/source/bin/memflush.rst +++ b/docs/source/bin/memflush.rst @@ -41,24 +41,6 @@ For a full list of operations run the tool with option: .. option:: --help ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -Mark Atwood - -------- SEE ALSO diff --git a/docs/source/bin/memparse.rst b/docs/source/bin/memparse.rst index 5aca71fb..eb535ecf 100644 --- a/docs/source/bin/memparse.rst +++ b/docs/source/bin/memparse.rst @@ -31,21 +31,6 @@ For a full list of operations run the tool with the option: .. option:: --help ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, -------- SEE ALSO diff --git a/docs/source/bin/memping.rst b/docs/source/bin/memping.rst index 5a784299..f3c8dce4 100644 --- a/docs/source/bin/memping.rst +++ b/docs/source/bin/memping.rst @@ -39,21 +39,6 @@ For a full list of operations run the tool with the option: .. option:: --help ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - -Brian Aker, - -------- SEE ALSO -------- diff --git a/docs/source/bin/memrm.rst b/docs/source/bin/memrm.rst index d395b364..1211043d 100644 --- a/docs/source/bin/memrm.rst +++ b/docs/source/bin/memrm.rst @@ -43,25 +43,6 @@ For a full list of operations run the tool with the ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -Mark Atwood, - - -------- SEE ALSO -------- diff --git a/docs/source/bin/memslap.rst b/docs/source/bin/memslap.rst index fbaa5fe3..8abd7fe0 100644 --- a/docs/source/bin/memslap.rst +++ b/docs/source/bin/memslap.rst @@ -38,22 +38,6 @@ For a full list of operations run the tool with: .. option:: --help ----- -HOME ----- - - -To find out more information please check: -'http://libmemcached.org/ '_ - - ------- -AUTHOR ------- - - -Brian Aker, - -------- SEE ALSO diff --git a/docs/source/bin/memstat.rst b/docs/source/bin/memstat.rst index 9b60297d..a958d902 100644 --- a/docs/source/bin/memstat.rst +++ b/docs/source/bin/memstat.rst @@ -44,14 +44,6 @@ For a full list of operations run the tool with: .. option:: --analyze ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - -------- SEE ALSO diff --git a/docs/source/bin/memtouch.rst b/docs/source/bin/memtouch.rst index 3f7cd1c7..44b4c085 100644 --- a/docs/source/bin/memtouch.rst +++ b/docs/source/bin/memtouch.rst @@ -39,20 +39,6 @@ For a full list of operations run the tool with the option: .. option:: --help ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - -Brian Aker, -------- SEE ALSO diff --git a/docs/source/client_errors/MEMCACHED_AUTH_PROBLEM.rst b/docs/source/client_errors/MEMCACHED_AUTH_PROBLEM.rst index ba8f22ca..00e8d4b7 100644 --- a/docs/source/client_errors/MEMCACHED_AUTH_PROBLEM.rst +++ b/docs/source/client_errors/MEMCACHED_AUTH_PROBLEM.rst @@ -4,4 +4,4 @@ MEMCACHED_AUTH_PROBLEM .. c:type:: MEMCACHED_AUTH_PROBLEM -An unknown issue has occured during authentication. +An unknown issue has occurred during authentication. diff --git a/docs/source/client_errors/MEMCACHED_CLIENT_ERROR.rst b/docs/source/client_errors/MEMCACHED_CLIENT_ERROR.rst index d8df4683..f7c43749 100644 --- a/docs/source/client_errors/MEMCACHED_CLIENT_ERROR.rst +++ b/docs/source/client_errors/MEMCACHED_CLIENT_ERROR.rst @@ -4,4 +4,4 @@ MEMCACHED_CLIENT_ERROR .. c:type:: MEMCACHED_CLIENT_ERROR -An unknown client error has occured internally. +An unknown client error has occurred internally. diff --git a/docs/source/client_errors/MEMCACHED_CONNECTION_FAILURE.rst b/docs/source/client_errors/MEMCACHED_CONNECTION_FAILURE.rst index 1d2ca04e..df1876b5 100644 --- a/docs/source/client_errors/MEMCACHED_CONNECTION_FAILURE.rst +++ b/docs/source/client_errors/MEMCACHED_CONNECTION_FAILURE.rst @@ -4,4 +4,4 @@ MEMCACHED_CONNECTION_FAILURE .. 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. diff --git a/docs/source/client_errors/MEMCACHED_PARTIAL_READ.rst b/docs/source/client_errors/MEMCACHED_PARTIAL_READ.rst index 78c51e02..96462f5e 100644 --- a/docs/source/client_errors/MEMCACHED_PARTIAL_READ.rst +++ b/docs/source/client_errors/MEMCACHED_PARTIAL_READ.rst @@ -4,4 +4,4 @@ MEMCACHED_PARTIAL_READ .. c:type:: MEMCACHED_PARTIAL_READ -The read was only partcially successful. +The read was only partially successful. diff --git a/docs/source/client_errors/MEMCACHED_SOME_ERRORS.rst b/docs/source/client_errors/MEMCACHED_SOME_ERRORS.rst index 1217da8e..58b7bdfe 100644 --- a/docs/source/client_errors/MEMCACHED_SOME_ERRORS.rst +++ b/docs/source/client_errors/MEMCACHED_SOME_ERRORS.rst @@ -4,4 +4,4 @@ MEMCACHED_SOME_ERRORS .. 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. diff --git a/docs/source/client_errors/MEMCACHED_WRITE_FAILURE.rst b/docs/source/client_errors/MEMCACHED_WRITE_FAILURE.rst index ca3ba45c..3fc765e6 100644 --- a/docs/source/client_errors/MEMCACHED_WRITE_FAILURE.rst +++ b/docs/source/client_errors/MEMCACHED_WRITE_FAILURE.rst @@ -4,4 +4,4 @@ MEMCACHED_WRITE_FAILURE .. 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. diff --git a/docs/source/conf.py.in b/docs/source/conf.py.in index fc773c4e..b3e27b3e 100644 --- a/docs/source/conf.py.in +++ b/docs/source/conf.py.in @@ -47,16 +47,16 @@ master_doc = 'index' # 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. @@ -172,6 +172,10 @@ html_show_sourcelink = False # Output file base name for HTML help builder. htmlhelp_basename = 'libmemcacheddoc' +#manpages_url = + +html_copy_source = False + # -- Options for LaTeX output -------------------------------------------------- @@ -213,8 +217,12 @@ latex_documents = [ # -- 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 = [ diff --git a/docs/source/hashkit_create.rst b/docs/source/hashkit_create.rst index 287382df..5473ba11 100644 --- a/docs/source/hashkit_create.rst +++ b/docs/source/hashkit_create.rst @@ -10,7 +10,7 @@ Creating a hashkit structure SYNOPSIS -------- -#include +.. describe:: #include .. c:type:: hashkit_st @@ -58,15 +58,6 @@ object was allocated inside of :c:func:`hashkit_create` or :c:func:`hashkit_clone`, otherwise it is false and was user-supplied memory. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - -------- SEE ALSO diff --git a/docs/source/hashkit_functions.rst b/docs/source/hashkit_functions.rst index 4db41661..0c9e2cc1 100644 --- a/docs/source/hashkit_functions.rst +++ b/docs/source/hashkit_functions.rst @@ -57,14 +57,6 @@ RETURN VALUE A 32-bit hash value. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - -------- SEE ALSO diff --git a/docs/source/hashkit_value.rst b/docs/source/hashkit_value.rst index d27e3528..cae79ace 100644 --- a/docs/source/hashkit_value.rst +++ b/docs/source/hashkit_value.rst @@ -37,15 +37,6 @@ RETURN VALUE A 32-bit hash value. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - -------- SEE ALSO -------- diff --git a/docs/source/libhashkit.rst b/docs/source/libhashkit.rst index 8866737a..5e6e28a5 100644 --- a/docs/source/libhashkit.rst +++ b/docs/source/libhashkit.rst @@ -19,14 +19,6 @@ DESCRIPTION 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/ `_ - -------- SEE ALSO diff --git a/docs/source/libmemcached-1.0/memcached_set_encoding_key.rst b/docs/source/libmemcached-1.0/memcached_set_encoding_key.rst index be38b03f..4e79f43f 100644 --- a/docs/source/libmemcached-1.0/memcached_set_encoding_key.rst +++ b/docs/source/libmemcached-1.0/memcached_set_encoding_key.rst @@ -19,7 +19,7 @@ DESCRIPTION ----------- -: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. @@ -34,22 +34,6 @@ will be :c:type:`MEMCACHED_SUCCESS`. Use :c:func:`memcached_strerror` to translate this value to a printable string. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -------- SEE ALSO diff --git a/docs/source/libmemcached-1.0/memcached_touch.rst b/docs/source/libmemcached-1.0/memcached_touch.rst index 76b015cb..6c1b931b 100644 --- a/docs/source/libmemcached-1.0/memcached_touch.rst +++ b/docs/source/libmemcached-1.0/memcached_touch.rst @@ -37,20 +37,6 @@ On success that value will be :c:type:`MEMCACHED_SUCCESS`. Use :c:func:`memcached_strerror` to translate this value to a printable string. ----- -HOME ----- - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, -------- diff --git a/docs/source/libmemcached.rst b/docs/source/libmemcached.rst index 4a1ea01a..4de8d579 100644 --- a/docs/source/libmemcached.rst +++ b/docs/source/libmemcached.rst @@ -137,14 +137,6 @@ locking structures you can not share a single :c:type:`memcached_st`. However, 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/ `_ - -------- SEE ALSO diff --git a/docs/source/libmemcached/defaults.rst b/docs/source/libmemcached/defaults.rst index 356c0471..e3eba71d 100644 --- a/docs/source/libmemcached/defaults.rst +++ b/docs/source/libmemcached/defaults.rst @@ -5,7 +5,7 @@ DEFAULTS .. c:macro:: MEMCACHED_DEFAULT_TIMEOUT -Value 5000 + Value 5000 .. c:macro:: MEMCACHED_DEFAULT_CONNECT_TIMEOUT diff --git a/docs/source/libmemcached/memcached_exist.rst b/docs/source/libmemcached/memcached_exist.rst index 806efe6e..4bcd6934 100644 --- a/docs/source/libmemcached/memcached_exist.rst +++ b/docs/source/libmemcached/memcached_exist.rst @@ -15,39 +15,33 @@ SYNOPSIS .. 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/ `_ +: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)` diff --git a/docs/source/libmemcached/memcached_fetch.rst b/docs/source/libmemcached/memcached_fetch.rst index de40c64f..0a9cd30c 100644 --- a/docs/source/libmemcached/memcached_fetch.rst +++ b/docs/source/libmemcached/memcached_fetch.rst @@ -50,14 +50,6 @@ and the key was set larger then :c:type:`MEMCACHED_MAX_KEY`, which was the large key allowed for the original memcached ascii server. ----- -HOME ----- - -To find out more information please check: -`http://libmemcached.org/ `_ - - -------- SEE ALSO -------- diff --git a/docs/source/libmemcached/memcached_last_error_message.rst b/docs/source/libmemcached/memcached_last_error_message.rst index f91f7ae2..0995550b 100644 --- a/docs/source/libmemcached/memcached_last_error_message.rst +++ b/docs/source/libmemcached/memcached_last_error_message.rst @@ -30,13 +30,6 @@ RETURN 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/ `_ - -------- SEE ALSO diff --git a/docs/source/libmemcached_configuration.rst b/docs/source/libmemcached_configuration.rst index f9825738..3348906b 100644 --- a/docs/source/libmemcached_configuration.rst +++ b/docs/source/libmemcached_configuration.rst @@ -8,13 +8,14 @@ Configuring Libmemcached SYNOPSIS -------- -#include +.. describe:: #include -.. 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 @@ -27,92 +28,97 @@ Libmemcached implements a custom language for configuring and modifying servers. By passing in an option string you can generate a ``memcached_st`` object that you can use in your application directly. -.. describe:: --SERVER=:/? +General Options: +**************** + +.. option:: --SERVER=:/? + +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=\"/?\" +.. option:: --SOCKET=\"/?\" 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. @@ -120,70 +126,76 @@ 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 ------ @@ -203,25 +215,18 @@ EXAMPLE .. 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/ `_ - - - -------- SEE ALSO -------- diff --git a/docs/source/libmemcached_examples.rst b/docs/source/libmemcached_examples.rst index ccc40c91..014a677e 100644 --- a/docs/source/libmemcached_examples.rst +++ b/docs/source/libmemcached_examples.rst @@ -126,15 +126,6 @@ Notice that you freed values returned from memcached_fetch(). The define ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - -------- SEE ALSO -------- diff --git a/docs/source/libmemcachedutil.rst b/docs/source/libmemcachedutil.rst index 29cc7dbf..9c869175 100644 --- a/docs/source/libmemcachedutil.rst +++ b/docs/source/libmemcachedutil.rst @@ -37,16 +37,6 @@ at the same time. If you want to access memcached from multiple threads 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/ `_ - - -------- SEE ALSO -------- diff --git a/docs/source/memcached_analyze.rst b/docs/source/memcached_analyze.rst index 88f3ad9d..0aa85216 100644 --- a/docs/source/memcached_analyze.rst +++ b/docs/source/memcached_analyze.rst @@ -1,5 +1,5 @@ ================= -Anaylzing servers +Analyzing servers ================= @@ -51,14 +51,6 @@ Any method returning a :c:type:`memcached_analysis_st` expects you to free the memory allocated for it. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - -------- SEE ALSO diff --git a/docs/source/memcached_append.rst b/docs/source/memcached_append.rst index 0510a316..0f458111 100644 --- a/docs/source/memcached_append.rst +++ b/docs/source/memcached_append.rst @@ -54,7 +54,7 @@ group_key parameter to map objects to particular servers. 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 @@ -85,19 +85,10 @@ Use :c:func:`memcached_strerror` to translate this value to a printable string. ----- -HOME ----- - - -To find out more information please check: -`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)` diff --git a/docs/source/memcached_auto.rst b/docs/source/memcached_auto.rst index 0f78e6e7..f72e698a 100644 --- a/docs/source/memcached_auto.rst +++ b/docs/source/memcached_auto.rst @@ -38,7 +38,7 @@ DESCRIPTION (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. @@ -81,15 +81,6 @@ On success that value will be :c:type:`MEMCACHED_SUCCESS`. Use memcached_strerror to translate this value to a printable string. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - -------- SEE ALSO -------- diff --git a/docs/source/memcached_behavior.rst b/docs/source/memcached_behavior.rst index 20c81924..87f95886 100644 --- a/docs/source/memcached_behavior.rst +++ b/docs/source/memcached_behavior.rst @@ -28,7 +28,8 @@ Compile and link with -lmemcached 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`). @@ -44,36 +45,46 @@ on or off options you just need to pass in a value of 1. Calls to .. 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 @@ -93,12 +104,25 @@ environments). .. 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. @@ -106,7 +130,14 @@ Support for :c:type:`MEMCACHED_HASH_HSIEH` is a compile time option that is disa 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(?) @@ -161,7 +192,7 @@ Enabling this will cause :manpage:`libmemcached(3)` to test all keys to verify t .. 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 @@ -235,12 +266,12 @@ Specify time, in seconds, to mark a connection as idle. This is only available a .. 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 @@ -293,15 +324,6 @@ memcached_behavior_set in version .17 was changed from taking a pointer to data value, to taking a uin64_t. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - -------- SEE ALSO diff --git a/docs/source/memcached_callback.rst b/docs/source/memcached_callback.rst index 0641aa4a..8e32d907 100644 --- a/docs/source/memcached_callback.rst +++ b/docs/source/memcached_callback.rst @@ -44,14 +44,14 @@ if required for any of the callbacks. .. 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 @@ -73,7 +73,7 @@ If you set a value with the value being NULL then the prefix key is disabled. .. 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. @@ -99,7 +99,7 @@ You must clone the :c:type:`memcached_st` in order to 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: @@ -132,22 +132,6 @@ provided. Upon error, nothing is set, null is returned, and the successful setting, otherwise :c:type:`MEMCACHED_FAILURE` on error. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -------- SEE ALSO diff --git a/docs/source/memcached_cas.rst b/docs/source/memcached_cas.rst index a796f303..13b8842d 100644 --- a/docs/source/memcached_cas.rst +++ b/docs/source/memcached_cas.rst @@ -26,14 +26,15 @@ DESCRIPTION :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 @@ -60,19 +61,10 @@ Use :c:func:`memcached_strerror` to translate this value to a printable string. ----- -HOME ----- - - -To find out more information please check: -`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)` diff --git a/docs/source/memcached_create.rst b/docs/source/memcached_create.rst index ae851ba9..246a33d2 100644 --- a/docs/source/memcached_create.rst +++ b/docs/source/memcached_create.rst @@ -66,15 +66,6 @@ that was created (or initialized). On an allocation failure, it returns NULL. that was created (or initialized). On an allocation failure, it returns NULL. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - -------- SEE ALSO -------- diff --git a/docs/source/memcached_delete.rst b/docs/source/memcached_delete.rst index 1c4f2661..493355da 100644 --- a/docs/source/memcached_delete.rst +++ b/docs/source/memcached_delete.rst @@ -31,7 +31,7 @@ it won't be possible to retrieve it by the "get" command. The "add" and "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. @@ -49,22 +49,6 @@ If you are using the non-blocking mode of the library, success only means that the message was queued for delivery. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -------- SEE ALSO diff --git a/docs/source/memcached_dump.rst b/docs/source/memcached_dump.rst index 988410fc..bee396df 100644 --- a/docs/source/memcached_dump.rst +++ b/docs/source/memcached_dump.rst @@ -29,11 +29,11 @@ DESCRIPTION :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. ------ @@ -47,22 +47,6 @@ Use :c:func:`memcached_strerror` to translate this value to a printable string. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -------- SEE ALSO diff --git a/docs/source/memcached_flush.rst b/docs/source/memcached_flush.rst index 042a4d42..c2ac60f5 100644 --- a/docs/source/memcached_flush.rst +++ b/docs/source/memcached_flush.rst @@ -41,22 +41,6 @@ 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. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -------- SEE ALSO diff --git a/docs/source/memcached_flush_buffers.rst b/docs/source/memcached_flush_buffers.rst index 888c9254..0c92d3a2 100644 --- a/docs/source/memcached_flush_buffers.rst +++ b/docs/source/memcached_flush_buffers.rst @@ -5,7 +5,7 @@ Flushing client buffers .. index:: object: memcached_st -Flush and senf buffered commands +Flush and send buffered commands -------- SYNOPSIS @@ -38,23 +38,6 @@ Use :c:func:`memcached_strerror` to translate this value to a printable string. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -Trond Norbye, -------- diff --git a/docs/source/memcached_generate_hash_value.rst b/docs/source/memcached_generate_hash_value.rst index 9a9b5a67..4a81a8d0 100644 --- a/docs/source/memcached_generate_hash_value.rst +++ b/docs/source/memcached_generate_hash_value.rst @@ -59,7 +59,7 @@ for normal memcache operations. 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`. @@ -77,22 +77,6 @@ For 64-bit hash algorithms, only the least-significant 32 bits are returned. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -------- SEE ALSO diff --git a/docs/source/memcached_get.rst b/docs/source/memcached_get.rst index 59309669..4ece04e5 100644 --- a/docs/source/memcached_get.rst +++ b/docs/source/memcached_get.rst @@ -115,14 +115,6 @@ keys at all were found. 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/ `_ - -------- SEE ALSO diff --git a/docs/source/memcached_memory_allocators.rst b/docs/source/memcached_memory_allocators.rst index 12a4ce5e..6ed8ae3d 100644 --- a/docs/source/memcached_memory_allocators.rst +++ b/docs/source/memcached_memory_allocators.rst @@ -47,7 +47,7 @@ allocation functions should behave as specified in the C99 standard. Specify 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`. @@ -77,15 +77,6 @@ upon success, and :c:type:`MEMCACHED_FAILURE` if you don't pass a complete set of function pointers. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - -------- SEE ALSO -------- diff --git a/docs/source/memcached_pool.rst b/docs/source/memcached_pool.rst index a3080788..04492444 100644 --- a/docs/source/memcached_pool.rst +++ b/docs/source/memcached_pool.rst @@ -83,24 +83,6 @@ If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not b 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/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -Trond Norbye, - -------- SEE ALSO diff --git a/docs/source/memcached_quit.rst b/docs/source/memcached_quit.rst index b94832ec..9f79a79b 100644 --- a/docs/source/memcached_quit.rst +++ b/docs/source/memcached_quit.rst @@ -39,23 +39,6 @@ will be :c:type:`MEMCACHED_SUCCESS`. Use :c:func:`memcached_strerror` to translate this value to a printable string. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - - -------- SEE ALSO -------- diff --git a/docs/source/memcached_result_st.rst b/docs/source/memcached_result_st.rst index 9b60f187..40e1ad86 100644 --- a/docs/source/memcached_result_st.rst +++ b/docs/source/memcached_result_st.rst @@ -109,14 +109,6 @@ Varies, see particular functions. All structures must have to do this will result in leaked memory. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - -------- SEE ALSO diff --git a/docs/source/memcached_sasl.rst b/docs/source/memcached_sasl.rst index 2a2e5699..ff2dad31 100644 --- a/docs/source/memcached_sasl.rst +++ b/docs/source/memcached_sasl.rst @@ -53,24 +53,6 @@ this memcached handle. :c:func:`memcached_set_sasl_auth_data` returns :c:type:`MEMCACHED_SUCCESS` upon success. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -Trond Norbye, - -------- SEE ALSO diff --git a/docs/source/memcached_server_st.rst b/docs/source/memcached_server_st.rst index 63008795..dbbaf03d 100644 --- a/docs/source/memcached_server_st.rst +++ b/docs/source/memcached_server_st.rst @@ -59,7 +59,7 @@ DEPRECATED :c:func:`memcached_servers_parse`, please see :c:func:`memcached` :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. @@ -71,15 +71,6 @@ RETURN Varies, see particular functions. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - -------- SEE ALSO diff --git a/docs/source/memcached_servers.rst b/docs/source/memcached_servers.rst index d3c90379..2aea068d 100644 --- a/docs/source/memcached_servers.rst +++ b/docs/source/memcached_servers.rst @@ -82,15 +82,6 @@ RETURN Varies, see particular functions. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - -------- SEE ALSO -------- diff --git a/docs/source/memcached_set.rst b/docs/source/memcached_set.rst index 6cbebe06..6776234c 100644 --- a/docs/source/memcached_set.rst +++ b/docs/source/memcached_set.rst @@ -49,7 +49,7 @@ will always return true unless a network error occurs. :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. @@ -59,7 +59,7 @@ objects to particular servers. 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 @@ -80,22 +80,14 @@ All methods return a value of type :c:type:`memcached_return_t`. 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/ `_ - -------- 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)` diff --git a/docs/source/memcached_stats.rst b/docs/source/memcached_stats.rst index c173619a..d8f79533 100644 --- a/docs/source/memcached_stats.rst +++ b/docs/source/memcached_stats.rst @@ -67,22 +67,6 @@ Any method returning a :c:type:`memcached_stat_st` expects you to free the memory allocated for it. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - ------- -AUTHOR ------- - - -Brian Aker, - -------- SEE ALSO diff --git a/docs/source/memcached_strerror.rst b/docs/source/memcached_strerror.rst index 07023b8d..81208a0e 100644 --- a/docs/source/memcached_strerror.rst +++ b/docs/source/memcached_strerror.rst @@ -1,6 +1,6 @@ -================================================ -Coverting Errors, memcached_return_t, to strings -================================================ +================================================= +Converting Errors, memcached_return_t, to strings +================================================= .. index:: object: memcached_st @@ -38,16 +38,6 @@ RETURN :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/ `_ - - - -------- SEE ALSO -------- diff --git a/docs/source/memcached_user_data.rst b/docs/source/memcached_user_data.rst index 93a777ff..3063caa3 100644 --- a/docs/source/memcached_user_data.rst +++ b/docs/source/memcached_user_data.rst @@ -54,14 +54,6 @@ RETURN :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/ `_ - -------- SEE ALSO diff --git a/docs/source/memcached_verbosity.rst b/docs/source/memcached_verbosity.rst index c3ae0d89..3c73e316 100644 --- a/docs/source/memcached_verbosity.rst +++ b/docs/source/memcached_verbosity.rst @@ -4,7 +4,7 @@ Setting the verbosity of a server .. index:: object: memcached_st -Modifiy verbosity of servers +Modify verbosity of servers -------- SYNOPSIS @@ -38,15 +38,6 @@ On success that value will be :c:type:`MEMCACHED_SUCCESS`. Use :c:func:`memcached_strerror` to translate this value to a printable string. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - - -------- SEE ALSO -------- diff --git a/docs/source/memcached_version.rst b/docs/source/memcached_version.rst index 20b8b25a..fe261020 100644 --- a/docs/source/memcached_version.rst +++ b/docs/source/memcached_version.rst @@ -45,14 +45,6 @@ Use :c:func:`memcached_strerror` to translate this value to a printable string. ----- -HOME ----- - - -To find out more information please check: -`http://libmemcached.org/ `_ - -------- SEE ALSO diff --git a/docs/source/tap.rst b/docs/source/tap.rst index 5572f114..90462ace 100644 --- a/docs/source/tap.rst +++ b/docs/source/tap.rst @@ -4,4 +4,4 @@ Systemtap support 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. diff --git a/docs/source/versioning.rst b/docs/source/versioning.rst index dd3bee9d..47e21a28 100644 --- a/docs/source/versioning.rst +++ b/docs/source/versioning.rst @@ -2,7 +2,8 @@ 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.