Merge in documentation updates.
authorBrian Aker <brian@tangent.org>
Fri, 8 Apr 2011 22:45:31 +0000 (15:45 -0700)
committerBrian Aker <brian@tangent.org>
Fri, 8 Apr 2011 22:45:31 +0000 (15:45 -0700)
163 files changed:
docs/conf.py
docs/hashkit_create.rst
docs/hashkit_functions.rst
docs/hashkit_value.rst
docs/include.am
docs/index.rst
docs/libmemcached.rst
docs/libmemcached_configuration.rst [new file with mode: 0644]
docs/man/hashkit_clone.3
docs/man/hashkit_crc32.3
docs/man/hashkit_create.3
docs/man/hashkit_fnv1_32.3
docs/man/hashkit_fnv1_64.3
docs/man/hashkit_fnv1a_32.3
docs/man/hashkit_fnv1a_64.3
docs/man/hashkit_free.3
docs/man/hashkit_functions.3
docs/man/hashkit_hsieh.3
docs/man/hashkit_is_allocated.3
docs/man/hashkit_jenkins.3
docs/man/hashkit_md5.3
docs/man/hashkit_murmur.3
docs/man/hashkit_value.3
docs/man/libmemcached.3
docs/man/libmemcached_examples.3
docs/man/libmemcachedutil.3
docs/man/memaslap.1 [new file with mode: 0644]
docs/man/memcached_add.3
docs/man/memcached_add_by_key.3
docs/man/memcached_analyze.3
docs/man/memcached_append.3
docs/man/memcached_append_by_key.3
docs/man/memcached_auto.3
docs/man/memcached_behavior.3
docs/man/memcached_behavior_get.3
docs/man/memcached_behavior_set.3
docs/man/memcached_callback.3
docs/man/memcached_callback_get.3
docs/man/memcached_callback_set.3
docs/man/memcached_cas.3
docs/man/memcached_cas_by_key.3
docs/man/memcached_clone.3
docs/man/memcached_create.3
docs/man/memcached_decrement.3
docs/man/memcached_decrement_with_initial.3
docs/man/memcached_delete.3
docs/man/memcached_delete_by_key.3
docs/man/memcached_destroy_sasl_auth_data.3
docs/man/memcached_dump.3
docs/man/memcached_fetch.3
docs/man/memcached_fetch_execute.3
docs/man/memcached_fetch_result.3
docs/man/memcached_flush.3
docs/man/memcached_flush_buffers.3
docs/man/memcached_free.3
docs/man/memcached_generate_hash_value.3
docs/man/memcached_get.3
docs/man/memcached_get_by_key.3
docs/man/memcached_get_memory_allocators.3
docs/man/memcached_get_sasl_callbacks.3
docs/man/memcached_get_user_data.3
docs/man/memcached_increment.3
docs/man/memcached_increment_with_initial.3
docs/man/memcached_lib_version.3
docs/man/memcached_memory_allocators.3
docs/man/memcached_mget.3
docs/man/memcached_mget_by_key.3
docs/man/memcached_mget_execute.3
docs/man/memcached_mget_execute_by_key.3
docs/man/memcached_pool.3
docs/man/memcached_pool_behavior_get.3
docs/man/memcached_pool_behavior_set.3
docs/man/memcached_pool_create.3
docs/man/memcached_pool_destroy.3
docs/man/memcached_pool_pop.3
docs/man/memcached_pool_push.3
docs/man/memcached_prepend.3
docs/man/memcached_prepend_by_key.3
docs/man/memcached_quit.3
docs/man/memcached_replace.3
docs/man/memcached_replace_by_key.3
docs/man/memcached_result_cas.3
docs/man/memcached_result_create.3
docs/man/memcached_result_flags.3
docs/man/memcached_result_free.3
docs/man/memcached_result_key_length.3
docs/man/memcached_result_key_value.3
docs/man/memcached_result_length.3
docs/man/memcached_result_st.3
docs/man/memcached_result_value.3
docs/man/memcached_sasl.3
docs/man/memcached_sasl_set_auth_data.3
docs/man/memcached_server_add.3
docs/man/memcached_server_add_unix_socket.3
docs/man/memcached_server_count.3
docs/man/memcached_server_cursor.3
docs/man/memcached_server_list.3
docs/man/memcached_server_list_append.3
docs/man/memcached_server_list_count.3
docs/man/memcached_server_list_free.3
docs/man/memcached_server_push.3
docs/man/memcached_server_st.3
docs/man/memcached_servers.3
docs/man/memcached_servers_parse.3
docs/man/memcached_servers_reset.3
docs/man/memcached_set.3
docs/man/memcached_set_by_key.3
docs/man/memcached_set_memory_allocators.3
docs/man/memcached_set_memory_allocators_context.3
docs/man/memcached_set_sasl_callbacks.3
docs/man/memcached_set_user_data.3
docs/man/memcached_stat.3
docs/man/memcached_stat_execute.3
docs/man/memcached_stat_get_keys.3
docs/man/memcached_stat_get_value.3
docs/man/memcached_stat_servername.3
docs/man/memcached_stats.3
docs/man/memcached_strerror.3
docs/man/memcached_user_data.3
docs/man/memcached_verbosity.3
docs/man/memcached_version.3
docs/man/memcapable.1
docs/man/memcat.1
docs/man/memcp.1
docs/man/memdump.1
docs/man/memerror.1
docs/man/memflush.1
docs/man/memrm.1
docs/man/memslap.1
docs/man/memstat.1
docs/memaslap.rst [new file with mode: 0644]
docs/memcached_auto.rst
docs/memcached_behavior.rst
docs/memcached_callback.rst
docs/memcached_create.rst
docs/memcached_delete.rst
docs/memcached_dump.rst
docs/memcached_flush.rst
docs/memcached_flush_buffers.rst
docs/memcached_generate_hash_value.rst
docs/memcached_get.rst
docs/memcached_memory_allocators.rst
docs/memcached_pool.rst
docs/memcached_quit.rst
docs/memcached_result_st.rst
docs/memcached_sasl.rst
docs/memcached_server_st.rst
docs/memcached_servers.rst
docs/memcached_set.rst
docs/memcached_stats.rst
docs/memcached_strerror.rst
docs/memcached_user_data.rst
docs/memcached_verbosity.rst
docs/memcached_version.rst
docs/memcapable.rst
docs/memcat.rst
docs/memcp.rst
docs/memdump.rst
docs/memerror.rst
docs/memflush.rst
docs/memrm.rst
docs/memslap.rst
docs/memstat.rst

index 0ef2fa425d905a6069efc1fbe32018342f863ef6..1d99b203b329f4ef86ec6afca3e2b0d3f56cb4b6 100644 (file)
@@ -334,6 +334,7 @@ man_pages = [
   ('memcp', 'memcp', u'libmemcached Documentation', [u'Brian Aker'], 1),
   ('memdump', 'memdump', u'libmemcached Documentation', [u'Brian Aker'], 1),
   ('memerror', 'memerror', u'libmemcached Documentation', [u'Brian Aker'], 1),
+  ('memaslap', 'memaslap', u'libmemcached Documentation', [u'Brian Aker'], 1),
   ('memflush', 'memflush', u'libmemcached Documentation', [u'Brian Aker'], 1),
   ('memrm', 'memrm', u'libmemcached Documentation', [u'Brian Aker'], 1),
   ('memslap', 'memslap', u'libmemcached Documentation', [u'Brian Aker'], 1),
index 91687e0e31374bdf1a0118ece9341e3cb1de48ac..44402b37ef53d22407189a9522f3148140771105 100644 (file)
@@ -11,7 +11,7 @@ LIBRARY
 -------
 
 
-C Library for hashing algorithms (libhashkit, -lhashkit)
+C Library for hashing algorithms (libmemcached, -lhashkit)
 
 
 --------
index 12a1048eaac0c5cbaf09a675c6d1b34f26d786d7..542fd95f6021a93a27cbc4e9d5127b95fcaabef9 100644 (file)
@@ -11,7 +11,7 @@ LIBRARY
 -------
 
 
-C Library for hashing algorithms (libhashkit, -lhashkit)
+C Library for hashing algorithms (libmemcached, -lhashkit)
 
 
 --------
@@ -22,7 +22,7 @@ SYNOPSIS
 
 .. code-block:: perl
 
-   #include <libhashkit/hashkit.h>
+   #include <libmemcached/hashkit.h>
  
    uint32_t hashkit_default(const char *key, size_t key_length);
    uint32_t hashkit_fnv1_64(const char *key, size_t key_length);
index e3f4f22cd5edfc45086b611ee743235429c13b8b..c31848700ce76c2338265c8e04f27893c7e1479a 100644 (file)
@@ -11,7 +11,7 @@ LIBRARY
 -------
 
 
-C Library for hashing algorithms (libhashkit, -lhashkit)
+C Library for hashing algorithms (libmemcached, -lhashkit)
 
 
 --------
@@ -22,7 +22,7 @@ SYNOPSIS
 
 .. code-block:: perl
 
-   #include <libhashkit/hashkit.h>
+   #include <libmemcached/hashkit.h>
  
    uint32_t hashkit_value(hashkit_st *hash,
                           const char *key,
index ebfa12aba03c003a7dab3a40e6a02778b787726e..8f152547d8082230ed5eb24e083b3ed55061cfbb 100644 (file)
@@ -123,6 +123,7 @@ EXTRA_DIST+= \
             docs/memerror.rst \
             docs/memflush.rst \
             docs/memrm.rst \
+            docs/memaslap.rst \
             docs/memslap.rst \
             docs/memstat.rst \
             docs/_static \
@@ -147,6 +148,7 @@ EXTRA_DIST+= \
             docs/memflush.rst \
             docs/memrm.rst \
             docs/memslap.rst \
+            docs/memaslap.rst \
             docs/memstat.rst
 
 # Makefile for Sphinx documentation
@@ -260,6 +262,7 @@ man_MANS+= \
           docs/man/memerror.1 \
           docs/man/memflush.1 \
           docs/man/memrm.1 \
+          docs/man/memaslap.1 \
           docs/man/memslap.1 \
           docs/man/memstat.1
 
index 4b115cdfc15a67e1dabc051fa470144df81d8e50..eaa17f68521ec92115bbd8e629a117605d7d607c 100644 (file)
@@ -11,6 +11,7 @@ Libmemcached
 
    libmemcached
    libmemcached_examples
+   libmemcached_configuration
    libmemcachedutil
    memcached_analyze
    memcached_auto
@@ -36,6 +37,14 @@ Libmemcached
    memcached_user_data
    memcached_verbosity
    memcached_version
+
+-------------------
+Client Applications
+-------------------
+
+.. toctree::
+   :maxdepth: 2
+
    memcapable
    memcat
    memcp
@@ -44,6 +53,7 @@ Libmemcached
    memflush
    memrm
    memslap
+   memaslap
    memstat
 
 ----------
index 76ad574081887a34c503b3618e178910ce03925d..92684f12cab665ea456783dd35ff3ec3446b0578 100644 (file)
@@ -54,7 +54,7 @@ recommended that you operate directly against the structure.
 Nearly all functions return a \ ``memcached_return_t``\  value.
 This value can be translated to a printable string with memcached_strerror(3).
 
-Partitioning based on keys is supported in the library. Using the key partioning 
+Partitioning based on keys is testsed in the library. Using the key partioning 
 functions it is possible to group sets of object onto servers.
 
 \ ``memcached_st``\  structures are thread-safe, but each thread must
@@ -63,7 +63,7 @@ threads you must provide your own locking). No global variables are
 used in this library.
 
 If you are working with GNU autotools you will want to add the following to
-your configure.ac to properly include libmemcached in your application.
+your COPYING to properly include libmemcached in your application.
 
 PKG_CHECK_MODULES(DEPS, libmemcached >= 0.8.0)
 AC_SUBST(DEPS_CFLAGS)
diff --git a/docs/libmemcached_configuration.rst b/docs/libmemcached_configuration.rst
new file mode 100644 (file)
index 0000000..86b7cbe
--- /dev/null
@@ -0,0 +1,5 @@
+========================
+Configuring Libmemcached
+========================
+
+Libmemcached implements a custom language for configuring and modifying servers.
index b42fe09a8bfdd543613a827657c37d15bde38d53..70ea45063e657e668ae4a763fa5e1ca33d7cf50a 100644 (file)
@@ -34,7 +34,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 Create and destroy hashkit objects
 .SH LIBRARY
 .sp
-C Library for hashing algorithms (libhashkit, \-lhashkit)
+C Library for hashing algorithms (libmemcached, \-lhashkit)
 .SH SYNOPSIS
 .sp
 .nf
@@ -79,9 +79,6 @@ otherwise it is false and was user\-supplied memory.
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
 .SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
 2011, Brian Aker
index bfb6a72ddccba969e6ade5208bc9a4b399175494..b9502251ea95a4c567f451241e2814d756c5bf3a 100644 (file)
@@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 Various hash functions to use for calculating values for keys
 .SH LIBRARY
 .sp
-C Library for hashing algorithms (libhashkit, \-lhashkit)
+C Library for hashing algorithms (libmemcached, \-lhashkit)
 .SH SYNOPSIS
 .sp
 .nf
 .ft C
-#include <libhashkit/hashkit.h>
+#include <libmemcached/hashkit.h>
 
 uint32_t hashkit_default(const char *key, size_t key_length);
 uint32_t hashkit_fnv1_64(const char *key, size_t key_length);
@@ -68,9 +68,6 @@ A 32\-bit hash value.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3)
index e7abc893d153a2ae74eed381a5237706b1fe9f2f..336ab394547ff60f37e47c652d355d02404a1090 100644 (file)
@@ -34,7 +34,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 Create and destroy hashkit objects
 .SH LIBRARY
 .sp
-C Library for hashing algorithms (libhashkit, \-lhashkit)
+C Library for hashing algorithms (libmemcached, \-lhashkit)
 .SH SYNOPSIS
 .sp
 .nf
@@ -79,9 +79,6 @@ otherwise it is false and was user\-supplied memory.
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
 .SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
 2011, Brian Aker
index 7028ccdb16f937922e98f98624a4707de7996f1c..94dd7aaa6756b7cdfd88f2aaaa29282981052fb8 100644 (file)
@@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 Various hash functions to use for calculating values for keys
 .SH LIBRARY
 .sp
-C Library for hashing algorithms (libhashkit, \-lhashkit)
+C Library for hashing algorithms (libmemcached, \-lhashkit)
 .SH SYNOPSIS
 .sp
 .nf
 .ft C
-#include <libhashkit/hashkit.h>
+#include <libmemcached/hashkit.h>
 
 uint32_t hashkit_default(const char *key, size_t key_length);
 uint32_t hashkit_fnv1_64(const char *key, size_t key_length);
@@ -68,9 +68,6 @@ A 32\-bit hash value.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3)
index d687ec4436cb4d689ec693aded442634158ce5cc..a9ece2d9450b13e438d0a119962a7889056c0ffc 100644 (file)
@@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 Various hash functions to use for calculating values for keys
 .SH LIBRARY
 .sp
-C Library for hashing algorithms (libhashkit, \-lhashkit)
+C Library for hashing algorithms (libmemcached, \-lhashkit)
 .SH SYNOPSIS
 .sp
 .nf
 .ft C
-#include <libhashkit/hashkit.h>
+#include <libmemcached/hashkit.h>
 
 uint32_t hashkit_default(const char *key, size_t key_length);
 uint32_t hashkit_fnv1_64(const char *key, size_t key_length);
@@ -68,9 +68,6 @@ A 32\-bit hash value.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3)
index 47dd4a7c462de7cf2ebcc5cca267aa188550d922..82951a028c3a422acb16ebc0606c89c3fda2f092 100644 (file)
@@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 Various hash functions to use for calculating values for keys
 .SH LIBRARY
 .sp
-C Library for hashing algorithms (libhashkit, \-lhashkit)
+C Library for hashing algorithms (libmemcached, \-lhashkit)
 .SH SYNOPSIS
 .sp
 .nf
 .ft C
-#include <libhashkit/hashkit.h>
+#include <libmemcached/hashkit.h>
 
 uint32_t hashkit_default(const char *key, size_t key_length);
 uint32_t hashkit_fnv1_64(const char *key, size_t key_length);
@@ -68,9 +68,6 @@ A 32\-bit hash value.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3)
index 0ae87afd1d5004b4494697f46655dceb6e31602d..a069f2c61501b339c93e0d269c66394fb55780e1 100644 (file)
@@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 Various hash functions to use for calculating values for keys
 .SH LIBRARY
 .sp
-C Library for hashing algorithms (libhashkit, \-lhashkit)
+C Library for hashing algorithms (libmemcached, \-lhashkit)
 .SH SYNOPSIS
 .sp
 .nf
 .ft C
-#include <libhashkit/hashkit.h>
+#include <libmemcached/hashkit.h>
 
 uint32_t hashkit_default(const char *key, size_t key_length);
 uint32_t hashkit_fnv1_64(const char *key, size_t key_length);
@@ -68,9 +68,6 @@ A 32\-bit hash value.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3)
index e78ec982e9a5dea0980a5be4a902c84a56278e8c..1c7953da023d45265df27988425401c4c5b7669a 100644 (file)
@@ -34,7 +34,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 Create and destroy hashkit objects
 .SH LIBRARY
 .sp
-C Library for hashing algorithms (libhashkit, \-lhashkit)
+C Library for hashing algorithms (libmemcached, \-lhashkit)
 .SH SYNOPSIS
 .sp
 .nf
@@ -79,9 +79,6 @@ otherwise it is false and was user\-supplied memory.
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
 .SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
 2011, Brian Aker
index 2b966234df084f1af4787d1855dbbb28dcb90a1a..bb2abe2157ef03d3d6dce74478eb4a7d3c4d6149 100644 (file)
@@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 Various hash functions to use for calculating values for keys
 .SH LIBRARY
 .sp
-C Library for hashing algorithms (libhashkit, \-lhashkit)
+C Library for hashing algorithms (libmemcached, \-lhashkit)
 .SH SYNOPSIS
 .sp
 .nf
 .ft C
-#include <libhashkit/hashkit.h>
+#include <libmemcached/hashkit.h>
 
 uint32_t hashkit_default(const char *key, size_t key_length);
 uint32_t hashkit_fnv1_64(const char *key, size_t key_length);
@@ -68,9 +68,6 @@ A 32\-bit hash value.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3)
index d99983a676b3aab7d7b29087e65ef14ebdccdb4d..ee08350024fc41de3eb4d721691e68e27dcd3583 100644 (file)
@@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 Various hash functions to use for calculating values for keys
 .SH LIBRARY
 .sp
-C Library for hashing algorithms (libhashkit, \-lhashkit)
+C Library for hashing algorithms (libmemcached, \-lhashkit)
 .SH SYNOPSIS
 .sp
 .nf
 .ft C
-#include <libhashkit/hashkit.h>
+#include <libmemcached/hashkit.h>
 
 uint32_t hashkit_default(const char *key, size_t key_length);
 uint32_t hashkit_fnv1_64(const char *key, size_t key_length);
@@ -68,9 +68,6 @@ A 32\-bit hash value.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3)
index 429661f3523eb4d7ff4f206a4431780b3d2861c2..a754feab419157981aa9b82f29a1a7435f6d262c 100644 (file)
@@ -34,7 +34,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 Create and destroy hashkit objects
 .SH LIBRARY
 .sp
-C Library for hashing algorithms (libhashkit, \-lhashkit)
+C Library for hashing algorithms (libmemcached, \-lhashkit)
 .SH SYNOPSIS
 .sp
 .nf
@@ -79,9 +79,6 @@ otherwise it is false and was user\-supplied memory.
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
 .SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
 2011, Brian Aker
index 9b7053aa245d6f749b0cea00c7eec0540d77580c..42efe2e8b6605819126995cea70874faab4d9cee 100644 (file)
@@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 Various hash functions to use for calculating values for keys
 .SH LIBRARY
 .sp
-C Library for hashing algorithms (libhashkit, \-lhashkit)
+C Library for hashing algorithms (libmemcached, \-lhashkit)
 .SH SYNOPSIS
 .sp
 .nf
 .ft C
-#include <libhashkit/hashkit.h>
+#include <libmemcached/hashkit.h>
 
 uint32_t hashkit_default(const char *key, size_t key_length);
 uint32_t hashkit_fnv1_64(const char *key, size_t key_length);
@@ -68,9 +68,6 @@ A 32\-bit hash value.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3)
index 81704af22079b23e8d67e26ba575414632341f8b..7dae44f2b2d527cf9415d24c7e4a1e52556a022d 100644 (file)
@@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 Various hash functions to use for calculating values for keys
 .SH LIBRARY
 .sp
-C Library for hashing algorithms (libhashkit, \-lhashkit)
+C Library for hashing algorithms (libmemcached, \-lhashkit)
 .SH SYNOPSIS
 .sp
 .nf
 .ft C
-#include <libhashkit/hashkit.h>
+#include <libmemcached/hashkit.h>
 
 uint32_t hashkit_default(const char *key, size_t key_length);
 uint32_t hashkit_fnv1_64(const char *key, size_t key_length);
@@ -68,9 +68,6 @@ A 32\-bit hash value.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3)
index b345ebf670079d79f4a3ac2b4d563d95ae6b163e..821989279f072e0ff1e7ddc6431f8789eb300851 100644 (file)
@@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 Various hash functions to use for calculating values for keys
 .SH LIBRARY
 .sp
-C Library for hashing algorithms (libhashkit, \-lhashkit)
+C Library for hashing algorithms (libmemcached, \-lhashkit)
 .SH SYNOPSIS
 .sp
 .nf
 .ft C
-#include <libhashkit/hashkit.h>
+#include <libmemcached/hashkit.h>
 
 uint32_t hashkit_default(const char *key, size_t key_length);
 uint32_t hashkit_fnv1_64(const char *key, size_t key_length);
@@ -68,9 +68,6 @@ A 32\-bit hash value.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3)
index ded08c191b6a33a3348d92c741ac6c2d9d8fd1ae..66d3270b227983b7a47ccd7be581fe81d3aaeacb 100644 (file)
@@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 Generate a value for the given key
 .SH LIBRARY
 .sp
-C Library for hashing algorithms (libhashkit, \-lhashkit)
+C Library for hashing algorithms (libmemcached, \-lhashkit)
 .SH SYNOPSIS
 .sp
 .nf
 .ft C
-#include <libhashkit/hashkit.h>
+#include <libmemcached/hashkit.h>
 
 uint32_t hashkit_value(hashkit_st *hash,
                        const char *key,
@@ -59,9 +59,6 @@ A 32\-bit hash value.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 hashkit_create(3) hashkit_set_distribution(3) hashkit_set_hash_fn(3)
index 3f8dc5857591481c67036c5c8ce06bbd5a0476d6..4d0320bc53a6576faa1d2f8968bc5d725a4f4480 100644 (file)
@@ -67,7 +67,7 @@ recommended that you operate directly against the structure.
 Nearly all functions return a \fBmemcached_return_t\fP value.
 This value can be translated to a printable string with memcached_strerror(3).
 .sp
-Partitioning based on keys is supported in the library. Using the key partioning
+Partitioning based on keys is testsed in the library. Using the key partioning
 functions it is possible to group sets of object onto servers.
 .sp
 \fBmemcached_st\fP structures are thread\-safe, but each thread must
@@ -76,7 +76,7 @@ threads you must provide your own locking). No global variables are
 used in this library.
 .sp
 If you are working with GNU autotools you will want to add the following to
-your configure.ac to properly include libmemcached in your application.
+your COPYING to properly include libmemcached in your application.
 .sp
 PKG_CHECK_MODULES(DEPS, libmemcached >= 0.8.0)
 AC_SUBST(DEPS_CFLAGS)
@@ -142,12 +142,17 @@ structure.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
-memcached(1) libmemcached_examples(3) libmemcached(1) memcat(1) memcp(1) memflush(1) memrm(1) memslap(1) memstat(1) memcached_fetch(3) memcached_replace(3) memcached_server_list_free(3) libmemcached_examples(3) memcached_clone(3) memcached_free(3) memcached_server_add(3) memcached_server_push(3) memcached_add(3) memcached_get(3) memcached_server_count(3) memcached_servers_parse(3) memcached_create(3) memcached_increment(3) memcached_server_list(3) memcached_set(3) memcached_decrement(3) memcached_mget(3) memcached_server_list_append(3) memcached_strerror(3) memcached_delete(3) memcached_quit(3) memcached_server_list_count(3) memcached_verbosity(3) memcached_server_add_unix_socket(3) memcached_result_create(3)  memcached_result_free(3)  memcached_result_key_value(3)  memcached_result_key_length(3)  memcached_result_value(3)  memcached_result_length(3)  memcached_result_flags(3)  memcached_result_cas(3) memcached_result_st(3) memcached_append(3) memcached_prepend(3) memcached_fetch_result(3) memerror(1) memcached_get_by_key(3) memcached_mget_by_key(3) memcached_delete_by_key(3) memcached_fetch_execute(3) memcached_callback_get(3) memcached_callback_set(3) memcached_version(3) memcached_lib_version(3) memcached_result_set_value(3) memcached_dump(3) memdump(1) memcached_set_memory_allocators(3) memcached_get_memory_allocators(3) memcached_get_user_data(3) memcached_set_user_data(3)
+\fImemcached(1)\fP \fIlibmemcached_examples(3)\fP \fIlibmemcached(1)\fP \fImemcat(1)\fP \fImemcp(1)\fP \fImemflush(1)\fP \fImemrm(1)\fP \fImemslap(1)\fP \fImemstat(1)\fP \fImemcached_fetch(3)\fP \fImemcached_replace(3)\fP \fImemcached_server_list_free(3)\fP \fIlibmemcached_examples(3)\fP \fImemcached_clone(3)\fP \fImemcached_free(3)\fP
+\fImemcached_server_add(3)\fP \fImemcached_server_push(3)\fP \fImemcached_add(3)\fP \fImemcached_get(3)\fP \fImemcached_server_count(3)\fP \fImemcached_servers_parse(3)\fP \fImemcached_create(3)\fP \fImemcached_increment(3)\fP \fImemcached_server_list(3)\fP \fImemcached_set(3)\fP
+\fImemcached_decrement(3)\fP \fImemcached_mget(3)\fP \fImemcached_server_list_append(3)\fP \fImemcached_strerror(3)\fP \fImemcached_delete(3)\fP \fImemcached_quit(3)\fP \fImemcached_server_list_count(3)\fP \fImemcached_verbosity(3)\fP \fImemcached_server_add_unix_socket(3)\fP \fImemcached_result_create(3)\fP  \fImemcached_result_free(3)\fP
+\fImemcached_result_key_value(3)\fP  \fImemcached_result_key_length(3)\fP  \fImemcached_result_value(3)\fP  \fImemcached_result_length(3)\fP  \fImemcached_result_flags(3)\fP
+\fImemcached_result_cas(3)\fP \fImemcached_result_st(3)\fP \fImemcached_append(3)\fP \fImemcached_prepend(3)\fP \fImemcached_fetch_result(3)\fP
+\fImemerror(1)\fP \fImemcached_get_by_key(3)\fP \fImemcached_mget_by_key(3)\fP \fImemcached_delete_by_key(3)\fP
+\fImemcached_fetch_execute(3)\fP \fImemcached_callback_get(3)\fP \fImemcached_callback_set(3)\fP \fImemcached_version(3)\fP
+\fImemcached_lib_version(3)\fP \fImemcached_result_set_value(3)\fP \fImemcached_dump(3)\fP \fImemdump(1)\fP
+\fImemcached_set_memory_allocators(3)\fP \fImemcached_get_memory_allocators(3)\fP \fImemcached_get_user_data(3)\fP \fImemcached_set_user_data(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 3e58249e03f51f13e98ad31596807791cbe9c734..64d069d14958c0bf722ce6082eb13da4154ff6d0 100644 (file)
@@ -37,7 +37,7 @@ Examples for libmemcached
 For full examples, test cases are found in tests/*.c in the main
 distribution. These are always up to date, and are used for each test run of
 the library.
-.SS Creating and Freeing structure
+.SH CREATING AND FREEING STRUCTURE
 .sp
 .nf
 .ft C
@@ -52,7 +52,7 @@ memcached_free(memc);
 .sp
 The above code would create a connection and then free the connection when
 finished.
-.SS Connecting to servers
+.SH CONNECTING TO SERVERS
 .sp
 .nf
 .ft C
@@ -80,7 +80,7 @@ single host into. In the for loop you build a \fBmemcached_server_st\fPpointer t
 \fBmemcached_st\fP structure.
 .sp
 You can reuse the \fBmemcached_server_st\fP object with multile \fBmemcached_st\fPstructures.
-.SS Adding a value to the server
+.SH ADDING A VALUE TO THE SERVER
 .sp
 .nf
 .ft C
@@ -108,7 +108,7 @@ free(value);
 .fi
 .sp
 It is best practice to always look at the return value of any operation.
-.SS Fetching multiple values
+.SH FETCHING MULTIPLE VALUES
 .sp
 .nf
 .ft C
@@ -141,12 +141,9 @@ Notice that you freed values returned from memcached_fetch(). The define
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
-memcached(1)
+\fImemcached(1)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 8976077575bfb227e2d4754062426b96c1f464f3..25936d85f8f124e200fc7ed58a34444957950c80 100644 (file)
@@ -31,11 +31,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" Man page generated from reStructeredText.
 .
 .sp
-libmemcachedutil \- Utility library for libmemcached
-.SH LIBRARY
+Utility library for libmemcached
 .sp
 C Client Library containing utility functions for libmemcached (libmemcachedutil, \-lmemcachedutil)
-.SH SYNOPSIS
 .sp
 .nf
 .ft C
@@ -44,26 +42,20 @@ cc [ flag ... ] file ... \-lmemcachedutil
 #include <libmemcached/memcached_util.h>
 .ft P
 .fi
-.SH DESCRIPTION
 .sp
 \fBlibmemcachedutil\fP is a small and thread\-safe client library that provides
 extra functionality built on top of \fBlibmemcached\fP.
-.SH THREADS
 .sp
 Do not try to access an instance of \fBmemcached_st\fP from multiple threads
 at the same time. If you want to access memcached from multiple threads
 you should either clone the \fBmemcached_st\fP, or use the memcached pool
 implementation. see memcached_pool_create(3).
-.SH HOME
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
-.SH SEE ALSO
 .sp
-libmemcached(3) memcached_pool_create(3) memcached_pool_destroy(3) memcached_pool_pop(3) memcached_pool_push(3)
+\fIlibmemcached(3)\fP
+\fImemcached_pool_create(3)\fP \fImemcached_pool_destroy(3)\fP \fImemcached_pool_pop(3)\fP \fImemcached_pool_push(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
diff --git a/docs/man/memaslap.1 b/docs/man/memaslap.1
new file mode 100644 (file)
index 0000000..cc8c0cb
--- /dev/null
@@ -0,0 +1,1224 @@
+.TH "MEMASLAP" "1" "April 08, 2011" "0.47" "libmemcached"
+.SH NAME
+memaslap \- libmemcached Documentation
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" Man page generated from reStructeredText.
+.
+.sp
+memaslap \- Load testing and benchmarking tool for memcached
+.SH SYNOPSIS
+.sp
+.nf
+.ft C
+memaslap [options]
+.ft P
+.fi
+.SH DESCRIPTION
+.sp
+\fBmemaslap\fP is a load generation and benchmark tool for memcached(1)
+servers. It generates configurable workload such as threads, concurrencies, connections,
+run time, overwrite, miss rate, key size, value size, get/set proportion,
+expected throughput, and so on. Furthermore, it also supports data
+verification, expire\-time verification, UDP, binary protocol, facebook test,
+replication test, multi\-get and reconnection, etc.
+.sp
+Memslap manages network connections like memcached with
+libevent. Each thread of memaslap is bound with a CPU core, all
+the threads don\(aqt communicate with each other, and there are several socket
+connections in each thread. Each connection keeps key size distribution,
+value size distribution, and command distribution by itself.
+.sp
+You can specify servers via the \fB\-\-servers\fP option or via the
+environment variable \fBMEMCACHED_SERVERS\fP.
+.SH FEATURES
+.sp
+Memslap is developed to for the following purposes:
+.sp
+Manages network connections with libevent asynchronously.
+.sp
+Set both TCP and UDP up to use non\-blocking IO.
+.sp
+Improves parallelism: higher performance in multi\-threads environments.
+.sp
+Improves time efficiency: faster processing speed.
+.sp
+Generates key and value more efficiently; key size distribution and value size distribution are configurable.
+.sp
+Supports get, multi\-get, and set commands; command distribution is configurable.
+.sp
+Supports controllable miss rate and overwrite rate.
+.sp
+Supports data and expire\-time verification.
+.sp
+Supports dumping statistic information periodically.
+.sp
+Supports thousands of TCP connections.
+.sp
+Supports binary protocol.
+.sp
+Supports facebook test (set with TCP and multi\-get with UDP) and replication test.
+.SH DETAILS
+.SS Effective implementation of network.
+.sp
+For memaslap, both TCP and UDP use non\-blocking network IO. All
+the network events are managed by libevent as memcached. The network module
+of memaslap is similar to memcached. Libevent can ensure
+memaslap can handle network very efficiently.
+.SS Effective implementation of multi\-threads and concurrency
+.sp
+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 supports setting CPU
+core affinity.
+.sp
+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
+communicate with each other even though they are in the same thread.
+.sp
+Memslap can create thousands of socket connections, and each
+concurrency has tens of socket connections. Each concurrency randomly or
+sequentially selects one socket connection from its socket connection pool
+to run, so memaslap can ensure each concurrency handles one
+socket connection at any given time. Users can specify the number of
+concurrency and socket connections of each concurrency according to their
+expected workload.
+.SS Effective implementation of generating key and value
+.sp
+In order to improve time efficiency and space efficiency,
+memaslap creates a random characters table with 10M characters. All the
+suffixes of keys and values are generated from this random characters table.
+.sp
+Memslap uses the offset in the character table and the length
+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.
+.sp
+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
+length, value offset in the character table, and value length.
+.sp
+In the work process, each concurrency sequentially or randomly selects an
+object from the window to do set operation or get operation. At the same
+time, each concurrency kicks objects out of its window and adds new object
+into it.
+.SS Simple but useful task scheduling
+.sp
+Memslap uses libevent to schedule all the concurrencies 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
+outside, memaslap keeps all the distribution as a whole.
+Each task window includes a lot of objects, each object stores its basic
+information, such as key, value, expire time, and so on. At any time, all
+the objects in the window keep the same and fixed key and value
+distribution. If an object is overwritten, the value of the object will be
+updated. Memslap verifies the data or expire\-time according to
+the object information stored in the task window.
+.sp
+Libevent selects which concurrency to handle based on a specific network
+event. Then the concurrency selects which command (get or set) to operate
+based on the command distribution. If it needs to kick out an old object and
+add a new object, in order to keep the same key and value distribution, the
+new object must have the same key length and value length.
+.sp
+If memcached server has two cache layers (memory and SSD), running
+memaslap with different window sizes can get different cache
+miss rates. If memaslap adds enough objects into the windows at
+the beginning, and the cache of memcached cannot store all the objects
+initialized, then memaslap will get some objects from the second
+cache layer. It causes the first cache layer to miss. So the user can
+specify the window size to get the expected miss rate of the first cache
+layer.
+.SS Useful implementation of multi\-servers , UDP, TCP, multi\-get and binary protocol
+.sp
+Because each thread is self\-governed, memaslap can assign
+different threads to handle different memcached servers. This is just one of
+the ways in which memaslap supports multiple servers. The only
+limitation is that the number of servers cannot be greater than the number
+of threads. The other way to support multiple servers is for replication
+test. Each concurrency has one socket connection to each memcached server.
+For the implementation, memaslap can set some objects to one
+memcached server, and get these objects from the other servers.
+.sp
+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.
+.sp
+Memslap supports 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
+supports UDP. Because UDP is unreliable, dropped packages and out\-of\-order
+packages may occur. Memslap creates a memory buffer to handle
+these problems. Memslap tries to read all the response data of
+one command from the server and reorders the response data. If some packages
+get lost, the waiting timeout mechanism can ensure half\-baked packages will
+be discarded and the next command will be sent.
+.SH USAGE
+.sp
+Below are some usage samples:
+.sp
+memaslap \-s 127.0.0.1:11211 \-S 5s
+.sp
+memaslap \-s 127.0.0.1:11211 \-t 2m \-v 0.2 \-e 0.05 \-b
+.sp
+memaslap \-s 127.0.0.1:11211 \-F config \-t 2m \-w 40k \-S 20s \-o 0.2
+.sp
+memaslap \-s 127.0.0.1:11211 \-F config \-t 2m \-T 4 \-c 128 \-d 20 \-P 40k
+.sp
+memaslap \-s 127.0.0.1:11211 \-F config \-t 2m \-d 50 \-a \-n 40
+.sp
+memaslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m
+.sp
+memaslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m \-p 2
+.sp
+The user must specify one server at least to run memaslap. The
+rest of the parameters have default values, as shown below:
+.sp
+Thread number = 1                    Concurrency = 16
+.sp
+Run time = 600 seconds                Configuration file = NULL
+.sp
+Key size = 64                         Value size = 1024
+.sp
+Get/set = 9:1                         Window size = 10k
+.sp
+Execute number = 0                   Single get = true
+.sp
+Multi\-get = false                      Number of sockets of each concurrency = 1
+.sp
+Reconnect = false                     Data verification = false
+.sp
+Expire\-time verification = false           ASCII protocol = true
+.sp
+Binary protocol = false                 Dumping statistic information
+.sp
+periodically = false
+.sp
+Overwrite proportion = 0%             UDP = false
+.sp
+TCP = true                           Limit throughput = false
+.sp
+Facebook test = false                  Replication test = false
+.SS Key size, value size and command distribution.
+.sp
+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,
+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.
+.sp
+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
+rounded to 3 decimal places.
+.sp
+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 supports set and get commands. And it
+supports 100% set and 100% get. For 100% get, it will preset some objects to
+the server.
+.SS Multi\-thread and concurrency
+.sp
+The high performance of memaslap benefits from the special
+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
+specify these variables.
+.sp
+If the system supports setting CPU affinity and the number of threads
+specified by the user is greater than 1, memaslap will try to
+bind each thread to a different CPU core. So if you want to get the best
+performance memaslap, it is better to specify the number of
+thread equal to the number of CPU cores. The number of threads specified by
+the user can also be less or greater than the number of CPU cores. Because
+of the limitation of implementation, the number of concurrencies could be
+the multiple of the number of threads.
+.INDENT 0.0
+.IP 1. 3
+.
+For 8 CPU cores system
+.UNINDENT
+.sp
+For example:
+.sp
+\-\-threads=2 \-\-concurrency=128
+.sp
+\-\-threads=8 \-\-concurrency=128
+.sp
+\-\-threads=8 \-\-concurrency=256
+.sp
+\-\-threads=12 \-\-concurrency=144
+.INDENT 0.0
+.IP 2. 3
+.
+For 16 CPU cores system
+.UNINDENT
+.sp
+For example:
+.sp
+\-\-threads=8 \-\-concurrency=128
+.sp
+\-\-threads=16 \-\-concurrency=256
+.sp
+\-\-threads=16 \-\-concurrency=512
+.sp
+\-\-threads=24 \-\-concurrency=288
+.sp
+The memaslap performs very well, when
+used to test the performance of memcached servers.
+Most of the time, the bottleneck is the network or
+the server. If for some reason the user wants to
+limit the performance of memaslap, there
+are two ways to do this:
+.sp
+Decrease the number of threads and concurrencies.
+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.
+.SS Window size
+.sp
+Most of the time, the user does not need to specify the window size. The
+default window size is 10k. For Schooner Memcached, the user can specify
+different window sizes to get different cache miss rates based on the test
+case. Memslap supports cache miss rate between 0% and 100%.
+If you use this utility to test the performance of Schooner Memcached, you
+can specify a proper window size to get the expected cache miss rate. The
+formula for calculating window size is as follows:
+.sp
+Assume that the key size is 128 bytes, and the value size is 2048 bytes, and
+concurrency=128.
+.sp
+1. Small cache cache_size=1M, 100% cache miss (all data get from SSD).
+win_size=10k
+.INDENT 0.0
+.IP 2. 3
+.
+cache_size=4G
+.UNINDENT
+.sp
+(1). cache miss rate 0%
+.sp
+win_size=8k
+.sp
+(2). cache miss rate 5%
+.sp
+win_size=11k
+.INDENT 0.0
+.IP 3. 3
+.
+cache_size=16G
+.UNINDENT
+.sp
+(1). cache miss rate 0%
+.sp
+win_size=32k
+.sp
+(2). cache miss
+.sp
+rate 5%
+.sp
+win_size=46k
+.sp
+The formula for calculating window size for cache miss rate 0%:
+.sp
+cache_size / concurrency / (key_size + value_size) * 0.5
+.sp
+The formula for calculating window size for cache miss rate 5%:
+.sp
+cache_size / concurrency / (key_size + value_size) * 0.7
+.SS Verification
+.sp
+Memslap supports both data verification and expire\-time
+verification. The user can use "\-\-verify=" or "\-v" to specify the proportion
+of data verification. In theory, it supports 100% data verification. The
+user can use "\-\-exp_verify=" or "\-e" to specify the proportion of
+expire\-time verification. In theory, it supports 100% expire\-time
+verification. Specify the "\-\-verbose" options to get more detailed error
+information.
+.sp
+For example: \-\-exp_verify=0.01 –verify=0.1 , it means that 1% of the objects
+set with expire\-time, 10% of the objects gotten will be verified. If the
+objects are gotten, memaslap will verify the expire\-time and
+value.
+.SS multi\-servers and multi\-clients
+.sp
+Memslap supports multi\-servers based on self\-governed thread.
+There is a limitation that the number of servers cannot be greater than the
+number of threads. Memslap assigns one thread to handle one
+server at least. The user can use the "\-\-servers=" or "\-s" option to specify
+multi\-servers.
+.sp
+For example:
+.sp
+\-\-servers=10.1.1.1:11211,10.1.1.2:11212,10.1.1.3:11213 \-\-threads=6 \-\-concurrency=36
+.sp
+The above command means that there are 6 threads, with each thread having 6
+concurrencies and that threads 0 and 3 handle server 0 (10.1.1.1); threads 1
+and 4 handle server 1 (10.1.1.2); and thread 2 and 5 handle server 2
+(10.1.1.3).
+.sp
+All the threads and concurrencies in memaslap are self\-governed.
+.sp
+So is memaslap. The user can start up several
+memaslap instances. The user can run memaslap on different client
+machines to communicate with the same memcached server at the same. It is
+recommended that the user start different memaslap on different
+machines using the same configuration.
+.SS Run with execute number mode or time mode
+.sp
+The default memaslap runs with time mode. The default run time
+is 10 minutes. If it times out, memaslap will exit. Do not
+specify both execute number mode and time mode at the same time; just
+specify one instead.
+.sp
+For example:
+.sp
+\-\-time=30s (It means the test will run 30 seconds.)
+.sp
+\-\-execute_number=100000 (It means that after running 100000 commands, the test will exit.)
+.SS Dump statistic information periodically.
+.sp
+The user can use "\-\-stat_freq=" or "\-S" to specify the frequency.
+.sp
+For example:
+.sp
+\-\-stat_freq=20s
+.sp
+Memslap will dump the statistics of the commands (get and set) at the frequency of every 20
+seconds.
+.sp
+For more information on the format of dumping statistic information, refer to “Format of Output” section.
+.SS Multi\-get
+.sp
+The user can use "\-\-division=" or "\-d" to specify multi\-get keys count.
+Memslap by default does single get with TCP. Memslap also supports data
+verification and expire\-time verification for multi\-get.
+.sp
+Memslap supports 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
+binary protocol, memaslap sends several single get commands
+together as “multi\-get” to the server.
+.SS UDP and TCP
+.sp
+Memslap supports 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”
+option when socket connections are lost, it will reconnect them.
+.sp
+User can use “\-\-udp” to enable the UDP feature, but UDP comes with some
+limitations:
+.sp
+UDP cannot set data more than 1400 bytes.
+.sp
+UDP is not supported by the binary protocol because the binary protocol of
+memcached does not support that.
+.sp
+UDP doesn’t support reconnection.
+.SS Facebook test
+.sp
+Set data with TCP and multi\-get with UDP. Specify the following options:
+.sp
+"\-\-facebook \-\-division=50"
+.sp
+If you want to create thousands of TCP connections, specify the
+.sp
+"\-\-conn_sock=" option.
+.sp
+For example: \-\-facebook \-\-division=50 \-\-conn_sock=200
+.sp
+The above command means that memaslap will do facebook test,
+each concurrency has 200 socket TCP connections and one UDP socket.
+.sp
+Memslap sets objects with the TCP socket, and multi\-gets 50
+objects once with the UDP socket.
+.sp
+If you specify "\-\-division=50", the key size must be less that 25 bytes
+because the UDP packet size is 1400 bytes.
+.SS Replication test
+.sp
+For replication test, the user must specify at least two memcached servers.
+The user can use “—rep_write=” option to enable feature.
+.sp
+For example:
+.sp
+\-\-servers=10.1.1.1:11211,10.1.1.2:11212 –rep_write=2
+.sp
+The above command means that there are 2 replication memcached servers,
+memaslap will set objects to both server 0 and server 1, get
+objects which are set to server 0 before from server 1, and also get objects
+which are set to server 1 before from server 0. If server 0 crashes,
+memaslap will only get objects from server 1. If server 0 comes
+back to life again, memaslap will reconnect server 0. If both
+server 0 and server 1 crash, memaslap will exit.
+.SS Supports thousands of TCP connections
+.sp
+Start memaslap with "\-\-conn_sock=" or "\-n" to enable this
+feature. Make sure that your system can support opening thousands of files
+and creating thousands of sockets. However, this feature does not support
+reconnection if sockets disconnect.
+.sp
+For example:
+.sp
+\-\-threads=8 \-\-concurrency=128 \-\-conn_sock=128
+.sp
+The above command means that memaslap starts up 8 threads, each
+thread has 16 concurrencies, each concurrency has 128 TCP socket
+connections, and the total number of TCP socket connections is 128 * 128 =
+16384.
+.SS Supports binary protocol
+.sp
+Start memaslap with "\-\-binary" or "\-B" options to enable this
+feature. It supports all the above features except UDP, because the latest
+memcached 1.3.3 does not implement binary UDP protocol.
+.sp
+For example:
+.sp
+\-\-binary
+.sp
+Since memcached 1.3.3 doesn\(aqt implement binary UDP protocol,
+memaslap does not support UDP. In addition, memcached 1.3.3 does not support
+multi\-get. If you specify "\-\-division=50" option, it just sends 50 get
+commands together as “mulit\-get” to the server.
+.SH CONFIGURATION FILE
+.sp
+This section describes the format of the configuration file.  By default
+when no configuration file is specified memaslap reads the default
+one located at ~/.memaslap.cnf.
+.sp
+Below is a sample configuration file:
+.sp
+.nf
+.ft C
+***************************************************************************
+#comments should start with \(aq#\(aq
+#key
+#start_len end_len proportion
+#
+#key length range from start_len to end_len
+#start_len must be equal to or greater than 16
+#end_len must be equal to or less than 250
+#start_len must be equal to or greater than end_len
+#memaslap will generate keys according to the key range
+#proportion: indicates keys generated from one range accounts for the total
+generated keys
+#
+#example1: key range 16~100 accounts for 80%
+#          key range 101~200 accounts for 10%
+#          key range 201~250 accounts for 10%
+#          total should be 1 (0.8+0.1+0.1 = 1)
+#
+#          16 100 0.8
+#          101 200 0.1
+#          201 249 0.1
+#
+#example2: all keys length are 128 bytes
+#
+#          128 128 1
+key
+128 128 1
+#value
+#start_len end_len proportion
+#
+#value length range from start_len to end_len
+#start_len must be equal to or greater than 1
+#end_len must be equal to or less than 1M
+#start_len must be equal to or greater than end_len
+#memaslap will generate values according to the value range
+#proportion: indicates values generated from one range accounts for the
+total generated values
+#
+#example1: value range 1~1000 accounts for 80%
+#          value range 1001~10000 accounts for 10%
+#          value range 10001~100000 accounts for 10%
+#          total should be 1 (0.8+0.1+0.1 = 1)
+#
+#          1 1000 0.8
+#          1001 10000 0.1
+#          10001 100000 0.1
+#
+#example2: all value length are 128 bytes
+#
+#          128 128 1
+value
+2048 2048 1
+#cmd
+#cmd_type cmd_proportion
+#
+#currently memaslap only supports get and set command.
+#
+#cmd_type
+#set     0
+#get     1
+#
+#example: set command accounts for 50%
+#         get command accounts for 50%
+#         total should be 1 (0.5+0.5 = 1)
+#
+#         cmd
+#         0    0.5
+#         1    0.5
+cmd
+0    0.1
+1.0 0.9
+.ft P
+.fi
+.SH FORMAT OF OUTPUT
+.sp
+At the beginning, memaslap displays some configuration information as follows:
+.sp
+servers : 127.0.0.1:11211
+.sp
+threads count: 1
+.sp
+concurrency: 16
+.sp
+run time: 20s
+.sp
+windows size: 10k
+.sp
+set proportion: set_prop=0.10
+.sp
+get proportion: get_prop=0.90
+.SS Where
+.sp
+servers : "servers"
+.INDENT 0.0
+.INDENT 3.5
+.sp
+The servers used by memaslap.
+.UNINDENT
+.UNINDENT
+.sp
+threads count
+.INDENT 0.0
+.INDENT 3.5
+.sp
+The number of threads memaslap runs with.
+.UNINDENT
+.UNINDENT
+.sp
+concurrency
+.INDENT 0.0
+.INDENT 3.5
+.sp
+The number of concurrencies memaslap runs with.
+.UNINDENT
+.UNINDENT
+.sp
+run time
+.INDENT 0.0
+.INDENT 3.5
+.sp
+How long to run memaslap.
+.UNINDENT
+.UNINDENT
+.sp
+windows size
+.INDENT 0.0
+.INDENT 3.5
+.sp
+The task window size of each concurrency.
+.UNINDENT
+.UNINDENT
+.sp
+set proportion
+.INDENT 0.0
+.INDENT 3.5
+.sp
+The proportion of set command.
+.UNINDENT
+.UNINDENT
+.sp
+get proportion
+.INDENT 0.0
+.INDENT 3.5
+.sp
+The proportion of get command.
+.UNINDENT
+.UNINDENT
+.sp
+The output of dynamic statistics is something like this:
+.sp
+.nf
+.ft C
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
+Get Statistics
+Type  Time(s)  Ops   TPS(ops/s)  Net(M/s)  Get_miss  Min(us)  Max(us)
+Avg(us)  Std_dev    Geo_dist
+Period   5   345826  69165     65.3      0         27      2198     203
+95.43      177.29
+Global  20  1257935  62896     71.8      0         26      3791     224
+117.79     192.60
+
+
+Set Statistics
+Type  Time(s)  Ops   TPS(ops/s)  Net(M/s)  Get_miss  Min(us)  Max(us)
+Avg(us)  Std_dev    Geo_dist
+Period   5    38425   7685      7.3       0         42      628     240
+88.05      220.21
+Global   20   139780  6989      8.0       0         37      3790    253
+117.93     224.83
+
+
+Total Statistics
+Type  Time(s)  Ops   TPS(ops/s)  Net(M/s)  Get_miss  Min(us)  Max(us)
+Avg(us)  Std_dev    Geo_dist
+Period   5   384252   76850     72.5      0        27      2198     207
+94.72      181.18
+Global  20  1397720   69886     79.7      0        26      3791     227
+117.93     195.60
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
+.ft P
+.fi
+.SS Where
+.sp
+Get Statistics
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Statistics information of get command
+.UNINDENT
+.UNINDENT
+.sp
+Set Statistics
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Statistics information of set command
+.UNINDENT
+.UNINDENT
+.sp
+Total Statistics
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Statistics information of both get and set command
+.UNINDENT
+.UNINDENT
+.sp
+Period
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Result within a period
+.UNINDENT
+.UNINDENT
+.sp
+Global
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Accumulated results
+.UNINDENT
+.UNINDENT
+.sp
+Ops
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Total operations
+.UNINDENT
+.UNINDENT
+.sp
+TPS
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Throughput, operations/second
+.UNINDENT
+.UNINDENT
+.sp
+Net
+.INDENT 0.0
+.INDENT 3.5
+.sp
+The rate of network
+.UNINDENT
+.UNINDENT
+.sp
+Get_miss
+.INDENT 0.0
+.INDENT 3.5
+.sp
+How many objects can’t be gotten
+.UNINDENT
+.UNINDENT
+.sp
+Min
+.INDENT 0.0
+.INDENT 3.5
+.sp
+The minimum response time
+.UNINDENT
+.UNINDENT
+.sp
+Max
+.INDENT 0.0
+.INDENT 3.5
+.sp
+The maximum response time
+.UNINDENT
+.UNINDENT
+.sp
+Avg:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+The average response time
+.UNINDENT
+.UNINDENT
+.sp
+Std_dev
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Standard deviation of response time
+.UNINDENT
+.UNINDENT
+.sp
+Geo_dist
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Geometric distribution based on natural exponential function
+.UNINDENT
+.UNINDENT
+.sp
+At the end, memaslap will output something like this:
+.sp
+.nf
+.ft C
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
+Get Statistics (1257956 events)
+  Min:        26
+  Max:      3791
+  Avg:       224
+  Geo:    192.60
+  Std:    116.23
+                  Log2 Dist:
+                    4:        0       10    84490   215345
+                    8:   484890   459823    12543      824
+                   12:       31
+
+ Set Statistics (139782 events)
+    Min:        37
+    Max:      3790
+    Avg:       253
+    Geo:    224.84
+    Std:    116.83
+    Log2 Dist:
+      4:        0        0     4200 16988
+      8:    50784    65574 2064      167
+      12:        5
+
+  Total Statistics (1397738 events)
+      Min:        26
+      Max:      3791
+      Avg:       227
+      Geo:    195.60
+      Std:    116.60
+      Log2 Dist:
+        4:        0       10    88690   232333
+        8:   535674   525397    14607      991
+        12:       36
+
+cmd_get: 1257969
+cmd_set: 139785
+get_misses: 0
+verify_misses: 0
+verify_failed: 0
+expired_get: 0
+unexpired_unget: 0
+written_bytes: 242516030
+read_bytes: 1003702556
+object_bytes: 152086080
+packet_disorder: 0
+packet_drop: 0
+udp_timeout: 0
+
+Run time: 20.0s Ops: 1397754 TPS: 69817 Net_rate: 59.4M/s
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
+.ft P
+.fi
+.SS Where
+.sp
+Get Statistics
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Get statistics of response time
+.UNINDENT
+.UNINDENT
+.sp
+Set Statistics
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Set statistics of response time
+.UNINDENT
+.UNINDENT
+.sp
+Total Statistics
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Both get and set statistics of response time
+.UNINDENT
+.UNINDENT
+.sp
+Min
+.INDENT 0.0
+.INDENT 3.5
+.sp
+The accumulated and minimum response time
+.UNINDENT
+.UNINDENT
+.sp
+Max
+.INDENT 0.0
+.INDENT 3.5
+.sp
+The accumulated and maximum response time
+.UNINDENT
+.UNINDENT
+.sp
+Avg
+.INDENT 0.0
+.INDENT 3.5
+.sp
+The accumulated and average response time
+.UNINDENT
+.UNINDENT
+.sp
+Std
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Standard deviation of response time
+.UNINDENT
+.UNINDENT
+.sp
+Log2 Dist
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Geometric distribution based on logarithm 2
+.UNINDENT
+.UNINDENT
+.sp
+cmd_get
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Total get commands done
+.UNINDENT
+.UNINDENT
+.sp
+cmd_set
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Total set commands done
+.UNINDENT
+.UNINDENT
+.sp
+get_misses
+.INDENT 0.0
+.INDENT 3.5
+.sp
+How many objects can’t be gotten from server
+.UNINDENT
+.UNINDENT
+.sp
+verify_misses
+.INDENT 0.0
+.INDENT 3.5
+.sp
+How many objects need to verify but can’t get them
+.UNINDENT
+.UNINDENT
+.sp
+verify_failed
+.INDENT 0.0
+.INDENT 3.5
+.sp
+How many objects with insistent value
+.UNINDENT
+.UNINDENT
+.sp
+expired_get
+.INDENT 0.0
+.INDENT 3.5
+.sp
+How many objects are expired but we get them
+.UNINDENT
+.UNINDENT
+.sp
+unexpired_unget
+.INDENT 0.0
+.INDENT 3.5
+.sp
+How many objects are unexpired but we can’t get them
+.UNINDENT
+.UNINDENT
+.sp
+written_bytes
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Total written bytes
+.UNINDENT
+.UNINDENT
+.sp
+read_bytes
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Total read bytes
+.UNINDENT
+.UNINDENT
+.sp
+object_bytes
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Total object bytes
+.UNINDENT
+.UNINDENT
+.sp
+packet_disorder
+.INDENT 0.0
+.INDENT 3.5
+.sp
+How many UDP packages are disorder
+.UNINDENT
+.UNINDENT
+.sp
+packet_drop
+.INDENT 0.0
+.INDENT 3.5
+.sp
+How many UDP packages are lost
+.UNINDENT
+.UNINDENT
+.sp
+udp_timeout
+.INDENT 0.0
+.INDENT 3.5
+.sp
+How many times UDP time out happen
+.UNINDENT
+.UNINDENT
+.sp
+Run time
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Total run time
+.UNINDENT
+.UNINDENT
+.sp
+Ops
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Total operations
+.UNINDENT
+.UNINDENT
+.sp
+TPS
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Throughput, operations/second
+.UNINDENT
+.UNINDENT
+.sp
+Net_rate
+.INDENT 0.0
+.INDENT 3.5
+.sp
+The average rate of network
+.UNINDENT
+.UNINDENT
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-s, \-\-servers=
+.
+List one or more servers to connect. Servers count must be less than
+threads count. e.g.: \-\-servers=localhost:1234,localhost:11211
+.TP
+.B \-T, \-\-threads=
+.
+Number of threads to startup, better equal to CPU numbers. Default 8.
+.TP
+.B \-c, \-\-concurrency=
+.
+Number of concurrency to simulate with load. Default 128.
+.TP
+.B \-n, \-\-conn_sock=
+.
+Number of TCP socks per concurrency. Default 1.
+.TP
+.B \-x, \-\-execute_number=
+.
+Number of operations(get and set) to execute for the
+given test. Default 1000000.
+.TP
+.B \-t, \-\-time=
+.
+How long the test to run, suffix: s\-seconds, m\-minutes, h\-hours,
+d\-days e.g.: \-\-time=2h.
+.TP
+.B \-F, \-\-cfg_cmd=
+.
+Load the configure file to get command,key and value distribution list.
+.TP
+.B \-w, \-\-win_size=
+.
+Task window size of each concurrency, suffix: K, M e.g.: \-\-win_size=10k.
+Default 10k.
+.TP
+.B \-X, \-\-fixed_size=
+.
+Fixed length of value.
+.TP
+.B \-v, \-\-verify=
+.
+The proportion of date verification, e.g.: \-\-verify=0.01
+.TP
+.B \-d, \-\-division=
+.
+Number of keys to multi\-get once. Default 1, means single get.
+.TP
+.B \-S, \-\-stat_freq=
+.
+Frequency of dumping statistic information. suffix: s\-seconds,
+m\-minutes, e.g.: \-\-resp_freq=10s.
+.TP
+.B \-e, \-\-exp_verify=
+.
+The proportion of objects with expire time, e.g.: \-\-exp_verify=0.01.
+Default no object with expire time
+.TP
+.B \-o, \-\-overwrite=
+.
+The proportion of objects need overwrite, e.g.: \-\-overwrite=0.01.
+Default never overwrite object.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-R,  \-\-reconnect
+.
+Reconnect support, when connection is closed it will be reconnected.
+.TP
+.B \-U,  \-\-udp
+.
+UDP support, default memaslap uses TCP, TCP port and UDP port of
+server must be same.
+.TP
+.B \-a,  \-\-facebook
+.
+Whether it enables facebook test feature, set with TCP and multi\-get with UDP.
+.TP
+.B \-B,  \-\-binary
+.
+Whether it enables binary protocol. Default with ASCII protocol.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-P, \-\-tps=
+.
+Expected throughput, suffix: K, e.g.: \-\-tps=10k.
+.TP
+.B \-p, \-\-rep_write=
+.
+The first nth servers can write data, e.g.: \-\-rep_write=2.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-b,  \-\-verbose
+.
+Whether it outputs detailed information when verification fails.
+.TP
+.B \-h,  \-\-help
+.
+Display this message and then exit.
+.TP
+.B \-V,  \-\-version
+.
+Display the version of the application and then exit.
+.UNINDENT
+.SH EXAMPLES
+.sp
+memaslap \-s 127.0.0.1:11211 \-S 5s
+.sp
+memaslap \-s 127.0.0.1:11211 \-t 2m \-v 0.2 \-e 0.05 \-b
+.sp
+memaslap \-s 127.0.0.1:11211 \-F config \-t 2m \-w 40k \-S 20s \-o 0.2
+.sp
+memaslap \-s 127.0.0.1:11211 \-F config \-t 2m \-T 4 \-c 128 \-d 20 \-P 40k
+.sp
+memaslap \-s 127.0.0.1:11211 \-F config \-t 2m \-d 50 \-a \-n 40
+.sp
+memaslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m
+.sp
+memaslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m \-p 2
+.SH HOME
+.sp
+To find out more information please check:
+\fI\%http://launchpad.org/libmemcached\fP
+.SH AUTHORS
+.sp
+Mingqiang Zhuang <\fI\%mingqiangzhuang@hengtiansoft.com\fP> (Schooner Technolgy)
+Brian Aker, <\fI\%brian@tangent.org\fP>
+.SH SEE ALSO
+.sp
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
+.SH AUTHOR
+Brian Aker
+.SH COPYRIGHT
+2011, Brian Aker
+.\" Generated by docutils manpage writer.
+.\" 
+.
index bda9cecd73978fd4eef9dadf74305fe229cf5068..408579866493f0e4a5da7c66d9114d3e2affa5a5 100644 (file)
@@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to
 store information on the server. All methods take a key, and its length to
 store the object. Keys are currently limited to 250 characters by the
 memcached(1) server. You must also supply a value and a length. Optionally you
-may support an expiration time for the object and a 16 byte value (it is
+may tests an expiration time for the object and a 16 byte value (it is
 meant to be used as a bitmap).
 .sp
 memcached_set() will write an object to the server. If an object already
@@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server.
 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 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 support
+that this note was written cas is still buggy in memached. Turning on tests
 for it in libmemcached(3) is optional. Please see memcached_set() for
 information on how to do this.
 .sp
@@ -175,7 +175,7 @@ objects to particular servers.
 If you are looking for performance, memcached_set() with non\-blocking IO is
 the fastest way to store data on the server.
 .sp
-All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there
+All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But 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 Memcahed Server does not allow multi\-datagram requests
 and the current server implementation sets a datagram size to 1400 bytes. Due
@@ -201,9 +201,6 @@ legitmate error in the case of a collision.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 memcached(1) libmemached(3) memcached_strerror(3)
index 0d6579dc2383db4fc8ee2c031401030cc8f4f468..b1ff99d3b9085d1bd254a99857c402e95e1ae13b 100644 (file)
@@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to
 store information on the server. All methods take a key, and its length to
 store the object. Keys are currently limited to 250 characters by the
 memcached(1) server. You must also supply a value and a length. Optionally you
-may support an expiration time for the object and a 16 byte value (it is
+may tests an expiration time for the object and a 16 byte value (it is
 meant to be used as a bitmap).
 .sp
 memcached_set() will write an object to the server. If an object already
@@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server.
 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 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 support
+that this note was written cas is still buggy in memached. Turning on tests
 for it in libmemcached(3) is optional. Please see memcached_set() for
 information on how to do this.
 .sp
@@ -175,7 +175,7 @@ objects to particular servers.
 If you are looking for performance, memcached_set() with non\-blocking IO is
 the fastest way to store data on the server.
 .sp
-All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there
+All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But 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 Memcahed Server does not allow multi\-datagram requests
 and the current server implementation sets a datagram size to 1400 bytes. Due
@@ -201,9 +201,6 @@ legitmate error in the case of a collision.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 memcached(1) libmemached(3) memcached_strerror(3)
index 1799163b4ba21fbce285c635da1d90e6a2915d90..80f37b7cc39b55fc0ffdb38f94b923cb447f5703 100644 (file)
@@ -71,12 +71,9 @@ memory allocated for it.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Toru Maesaka, <\fI\%dev@torum.net\fP>
 .SH SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 87bd2ec8186ab3ce444d0788e1179a1e30738912..c28c9c0fd3aef61407495cc52efdb12bc6dca8ce 100644 (file)
@@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to
 store information on the server. All methods take a key, and its length to
 store the object. Keys are currently limited to 250 characters by the
 memcached(1) server. You must also supply a value and a length. Optionally you
-may support an expiration time for the object and a 16 byte value (it is
+may tests an expiration time for the object and a 16 byte value (it is
 meant to be used as a bitmap).
 .sp
 memcached_set() will write an object to the server. If an object already
@@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server.
 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 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 support
+that this note was written cas is still buggy in memached. Turning on tests
 for it in libmemcached(3) is optional. Please see memcached_set() for
 information on how to do this.
 .sp
@@ -175,7 +175,7 @@ objects to particular servers.
 If you are looking for performance, memcached_set() with non\-blocking IO is
 the fastest way to store data on the server.
 .sp
-All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there
+All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But 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 Memcahed Server does not allow multi\-datagram requests
 and the current server implementation sets a datagram size to 1400 bytes. Due
@@ -201,9 +201,6 @@ legitmate error in the case of a collision.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 memcached(1) libmemached(3) memcached_strerror(3)
index f73463724a2750ae616a56217a403d44be1d94ed..2338427699500124ae0506cd57583be49bf8c74b 100644 (file)
@@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to
 store information on the server. All methods take a key, and its length to
 store the object. Keys are currently limited to 250 characters by the
 memcached(1) server. You must also supply a value and a length. Optionally you
-may support an expiration time for the object and a 16 byte value (it is
+may tests an expiration time for the object and a 16 byte value (it is
 meant to be used as a bitmap).
 .sp
 memcached_set() will write an object to the server. If an object already
@@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server.
 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 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 support
+that this note was written cas is still buggy in memached. Turning on tests
 for it in libmemcached(3) is optional. Please see memcached_set() for
 information on how to do this.
 .sp
@@ -175,7 +175,7 @@ objects to particular servers.
 If you are looking for performance, memcached_set() with non\-blocking IO is
 the fastest way to store data on the server.
 .sp
-All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there
+All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But 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 Memcahed Server does not allow multi\-datagram requests
 and the current server implementation sets a datagram size to 1400 bytes. Due
@@ -201,9 +201,6 @@ legitmate error in the case of a collision.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 memcached(1) libmemached(3) memcached_strerror(3)
index c3b5d5142848d2a4d4311eba34c1df53a04f14ce..acd770217c8a634dcb147a01627a2ecb99a717dd 100644 (file)
@@ -35,7 +35,7 @@ Manipulate counters
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -108,7 +108,7 @@ memcached_return_t
                                            uint64_t *value);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached(1) servers have the ability to increment and decrement keys
 (overflow and underflow are not detected). This gives you the ability to use
@@ -156,9 +156,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 89f6c8293b77651e9ba8b9cda83f185f4c973abd..2524ab84a73528a75141f31b1a7091d5901ae6dd 100644 (file)
@@ -35,7 +35,7 @@ Manipulate behavior
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -51,7 +51,7 @@ memcached_return_t
                           uint64_t data);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) behavior can be modified by use memcached_behavior_set().
 Default behavior is the library strives to be quick and accurate. Some
@@ -72,14 +72,14 @@ MEMCACHED_BEHAVIOR_USE_UDP
 .INDENT 3.5
 .sp
 Causes libmemcached(3) to use the UDP transport when communicating
-with a memcached server. Not all I/O operations are supported
+with a memcached server. Not all I/O operations are testsed
 when this behavior is enababled. The following operations will return
 \fBMEMCACHED_NOT_SUPPORTED\fP when executed with the MEMCACHED_BEHAVIOR_USE_UDP
 enabled: memcached_version(), memcached_stat(), memcached_get(),
 memcached_get_by_key(), memcached_mget(), memcached_mget_by_key(),
 memcached_fetch(), memcached_fetch_result(), memcached_value_fetch().
 .sp
-All other operations are supported but are executed in a \(aqfire\-and\-forget\(aq
+All other operations are testsed but are executed in a \(aqfire\-and\-forget\(aq
 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.
@@ -136,7 +136,7 @@ MEMCACHED_BEHAVIOR_HASH
 Makes the default hashing algorithm for keys use MD5. The value can be set
 to either MEMCACHED_HASH_DEFAULT, MEMCACHED_HASH_MD5, MEMCACHED_HASH_CRC, MEMCACHED_HASH_FNV1_64, MEMCACHED_HASH_FNV1A_64, MEMCACHED_HASH_FNV1_32, MEMCACHED_HASH_FNV1A_32, MEMCACHED_HASH_JENKINS, MEMCACHED_HASH_HSIEH, and MEMCACHED_HASH_MURMUR.
 Each hash has it\(aqs advantages and it\(aqs weaknesses. If you don\(aqt know or don\(aqt care, just go with the default.
-Support for MEMCACHED_HASH_HSIEH is a compile time option that is disabled by default. To enable support for this hashing algorithm, configure and build libmemcached with the \-\-enable\-hash_hsieh.
+Support for 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.
 .UNINDENT
 .UNINDENT
 .sp
@@ -183,7 +183,7 @@ MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED
 .INDENT 0.0
 .INDENT 3.5
 .sp
-Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted support.
+Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted tests.
 and the hash to MEMCACHED_HASH_MD5.
 .UNINDENT
 .UNINDENT
@@ -363,7 +363,7 @@ MEMCACHED_BEHAVIOR_CORK
 Enable TCP_CORK behavior. This is only available as an option Linux.
 MEMCACHED_NO_SERVERS is returned if no servers are available to test with.
 MEMCACHED_NOT_SUPPORTED is returned if we were not able to determine
-if support was available. All other responses then MEMCACHED_SUCCESS
+if tests was available. All other responses then MEMCACHED_SUCCESS
 report an error of some sort. This behavior also enables
 MEMCACHED_BEHAVIOR_TCP_NODELAY when set.
 .UNINDENT
@@ -456,9 +456,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index ed842d8532248c0b6d057fc9cd0e2b333ac4d4d5..37ddd88b992e382ef2039377f1886a5e307a4092 100644 (file)
@@ -35,7 +35,7 @@ Manipulate behavior
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -51,7 +51,7 @@ memcached_return_t
                           uint64_t data);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) behavior can be modified by use memcached_behavior_set().
 Default behavior is the library strives to be quick and accurate. Some
@@ -72,14 +72,14 @@ MEMCACHED_BEHAVIOR_USE_UDP
 .INDENT 3.5
 .sp
 Causes libmemcached(3) to use the UDP transport when communicating
-with a memcached server. Not all I/O operations are supported
+with a memcached server. Not all I/O operations are testsed
 when this behavior is enababled. The following operations will return
 \fBMEMCACHED_NOT_SUPPORTED\fP when executed with the MEMCACHED_BEHAVIOR_USE_UDP
 enabled: memcached_version(), memcached_stat(), memcached_get(),
 memcached_get_by_key(), memcached_mget(), memcached_mget_by_key(),
 memcached_fetch(), memcached_fetch_result(), memcached_value_fetch().
 .sp
-All other operations are supported but are executed in a \(aqfire\-and\-forget\(aq
+All other operations are testsed but are executed in a \(aqfire\-and\-forget\(aq
 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.
@@ -136,7 +136,7 @@ MEMCACHED_BEHAVIOR_HASH
 Makes the default hashing algorithm for keys use MD5. The value can be set
 to either MEMCACHED_HASH_DEFAULT, MEMCACHED_HASH_MD5, MEMCACHED_HASH_CRC, MEMCACHED_HASH_FNV1_64, MEMCACHED_HASH_FNV1A_64, MEMCACHED_HASH_FNV1_32, MEMCACHED_HASH_FNV1A_32, MEMCACHED_HASH_JENKINS, MEMCACHED_HASH_HSIEH, and MEMCACHED_HASH_MURMUR.
 Each hash has it\(aqs advantages and it\(aqs weaknesses. If you don\(aqt know or don\(aqt care, just go with the default.
-Support for MEMCACHED_HASH_HSIEH is a compile time option that is disabled by default. To enable support for this hashing algorithm, configure and build libmemcached with the \-\-enable\-hash_hsieh.
+Support for 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.
 .UNINDENT
 .UNINDENT
 .sp
@@ -183,7 +183,7 @@ MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED
 .INDENT 0.0
 .INDENT 3.5
 .sp
-Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted support.
+Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted tests.
 and the hash to MEMCACHED_HASH_MD5.
 .UNINDENT
 .UNINDENT
@@ -363,7 +363,7 @@ MEMCACHED_BEHAVIOR_CORK
 Enable TCP_CORK behavior. This is only available as an option Linux.
 MEMCACHED_NO_SERVERS is returned if no servers are available to test with.
 MEMCACHED_NOT_SUPPORTED is returned if we were not able to determine
-if support was available. All other responses then MEMCACHED_SUCCESS
+if tests was available. All other responses then MEMCACHED_SUCCESS
 report an error of some sort. This behavior also enables
 MEMCACHED_BEHAVIOR_TCP_NODELAY when set.
 .UNINDENT
@@ -456,9 +456,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 1bb6eded0b648182d4195163bdc766490fbeaf39..2719ec7cf758fe38be499ca67df3929ddc1f3ee0 100644 (file)
@@ -35,7 +35,7 @@ Manipulate behavior
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -51,7 +51,7 @@ memcached_return_t
                           uint64_t data);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) behavior can be modified by use memcached_behavior_set().
 Default behavior is the library strives to be quick and accurate. Some
@@ -72,14 +72,14 @@ MEMCACHED_BEHAVIOR_USE_UDP
 .INDENT 3.5
 .sp
 Causes libmemcached(3) to use the UDP transport when communicating
-with a memcached server. Not all I/O operations are supported
+with a memcached server. Not all I/O operations are testsed
 when this behavior is enababled. The following operations will return
 \fBMEMCACHED_NOT_SUPPORTED\fP when executed with the MEMCACHED_BEHAVIOR_USE_UDP
 enabled: memcached_version(), memcached_stat(), memcached_get(),
 memcached_get_by_key(), memcached_mget(), memcached_mget_by_key(),
 memcached_fetch(), memcached_fetch_result(), memcached_value_fetch().
 .sp
-All other operations are supported but are executed in a \(aqfire\-and\-forget\(aq
+All other operations are testsed but are executed in a \(aqfire\-and\-forget\(aq
 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.
@@ -136,7 +136,7 @@ MEMCACHED_BEHAVIOR_HASH
 Makes the default hashing algorithm for keys use MD5. The value can be set
 to either MEMCACHED_HASH_DEFAULT, MEMCACHED_HASH_MD5, MEMCACHED_HASH_CRC, MEMCACHED_HASH_FNV1_64, MEMCACHED_HASH_FNV1A_64, MEMCACHED_HASH_FNV1_32, MEMCACHED_HASH_FNV1A_32, MEMCACHED_HASH_JENKINS, MEMCACHED_HASH_HSIEH, and MEMCACHED_HASH_MURMUR.
 Each hash has it\(aqs advantages and it\(aqs weaknesses. If you don\(aqt know or don\(aqt care, just go with the default.
-Support for MEMCACHED_HASH_HSIEH is a compile time option that is disabled by default. To enable support for this hashing algorithm, configure and build libmemcached with the \-\-enable\-hash_hsieh.
+Support for 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.
 .UNINDENT
 .UNINDENT
 .sp
@@ -183,7 +183,7 @@ MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED
 .INDENT 0.0
 .INDENT 3.5
 .sp
-Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted support.
+Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted tests.
 and the hash to MEMCACHED_HASH_MD5.
 .UNINDENT
 .UNINDENT
@@ -363,7 +363,7 @@ MEMCACHED_BEHAVIOR_CORK
 Enable TCP_CORK behavior. This is only available as an option Linux.
 MEMCACHED_NO_SERVERS is returned if no servers are available to test with.
 MEMCACHED_NOT_SUPPORTED is returned if we were not able to determine
-if support was available. All other responses then MEMCACHED_SUCCESS
+if tests was available. All other responses then MEMCACHED_SUCCESS
 report an error of some sort. This behavior also enables
 MEMCACHED_BEHAVIOR_TCP_NODELAY when set.
 .UNINDENT
@@ -456,9 +456,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 4dcb6dfbde3f09b1142458d9e6cce229ba0c4d98..39be97f60c8037f5ed2e4af952b2772dfb8d9561 100644 (file)
@@ -35,7 +35,7 @@ Get and set a callback
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -52,7 +52,7 @@ void *
                           memcached_return_t *error);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) can have callbacks set key execution points. These either
 provide function calls at points in the code, or return pointers to
@@ -176,9 +176,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 32abd1b745bef701fb79120c8302ff5d3713ea69..d245c78fd0df28d2caff087468f9e8ba22e3386f 100644 (file)
@@ -35,7 +35,7 @@ Get and set a callback
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -52,7 +52,7 @@ void *
                           memcached_return_t *error);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) can have callbacks set key execution points. These either
 provide function calls at points in the code, or return pointers to
@@ -176,9 +176,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 5cb91d53da0d8b17a93f0c89ba9942c75b46d7be..597a54fe898d2a92c6ff7c1e0153f602b17b2985 100644 (file)
@@ -35,7 +35,7 @@ Get and set a callback
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -52,7 +52,7 @@ void *
                           memcached_return_t *error);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) can have callbacks set key execution points. These either
 provide function calls at points in the code, or return pointers to
@@ -176,9 +176,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 2514a607633c2c6c8a3ba928ac0b5543759d8082..96d266baf33019362d541cd9a2c2adf1a2ce7b6a 100644 (file)
@@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to
 store information on the server. All methods take a key, and its length to
 store the object. Keys are currently limited to 250 characters by the
 memcached(1) server. You must also supply a value and a length. Optionally you
-may support an expiration time for the object and a 16 byte value (it is
+may tests an expiration time for the object and a 16 byte value (it is
 meant to be used as a bitmap).
 .sp
 memcached_set() will write an object to the server. If an object already
@@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server.
 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 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 support
+that this note was written cas is still buggy in memached. Turning on tests
 for it in libmemcached(3) is optional. Please see memcached_set() for
 information on how to do this.
 .sp
@@ -175,7 +175,7 @@ objects to particular servers.
 If you are looking for performance, memcached_set() with non\-blocking IO is
 the fastest way to store data on the server.
 .sp
-All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there
+All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But 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 Memcahed Server does not allow multi\-datagram requests
 and the current server implementation sets a datagram size to 1400 bytes. Due
@@ -201,9 +201,6 @@ legitmate error in the case of a collision.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 memcached(1) libmemached(3) memcached_strerror(3)
index b23f114d29873a57551a14b1474aedd816ee02eb..7bbdcf4aefca1761682b146432029313726af0bb 100644 (file)
@@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to
 store information on the server. All methods take a key, and its length to
 store the object. Keys are currently limited to 250 characters by the
 memcached(1) server. You must also supply a value and a length. Optionally you
-may support an expiration time for the object and a 16 byte value (it is
+may tests an expiration time for the object and a 16 byte value (it is
 meant to be used as a bitmap).
 .sp
 memcached_set() will write an object to the server. If an object already
@@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server.
 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 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 support
+that this note was written cas is still buggy in memached. Turning on tests
 for it in libmemcached(3) is optional. Please see memcached_set() for
 information on how to do this.
 .sp
@@ -175,7 +175,7 @@ objects to particular servers.
 If you are looking for performance, memcached_set() with non\-blocking IO is
 the fastest way to store data on the server.
 .sp
-All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there
+All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But 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 Memcahed Server does not allow multi\-datagram requests
 and the current server implementation sets a datagram size to 1400 bytes. Due
@@ -201,9 +201,6 @@ legitmate error in the case of a collision.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 memcached(1) libmemached(3) memcached_strerror(3)
index 68722fe9b6a9b349e73ee03880e9711def60206d..232e879194cba0e09006459aeeffc59e28a74965 100644 (file)
@@ -35,7 +35,7 @@ Create a memcached_st structure
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -50,7 +50,7 @@ memcached_st *memcached_clone (memcached_st *destination, memcached_st *source);
 void memcached_servers_reset(memcached_st);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_create() is used to create a \fBmemcached_st\fP structure that will then
 be used by other libmemcached(3) functions to communicate with the server. You
@@ -87,9 +87,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 1cb286a9e8da43e37d9939d650a5f5f49d99294e..2dec82ca69db464d188fe5448275cdcf5241fa77 100644 (file)
@@ -35,7 +35,7 @@ Create a memcached_st structure
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -50,7 +50,7 @@ memcached_st *memcached_clone (memcached_st *destination, memcached_st *source);
 void memcached_servers_reset(memcached_st);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_create() is used to create a \fBmemcached_st\fP structure that will then
 be used by other libmemcached(3) functions to communicate with the server. You
@@ -87,9 +87,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index dca4ec475ba6b802fb0141f324b0bd54e88caf6c..df61e9103b3e9fd82c5d34cd76d82c006be481ed 100644 (file)
@@ -35,7 +35,7 @@ Manipulate counters
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -108,7 +108,7 @@ memcached_return_t
                                            uint64_t *value);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached(1) servers have the ability to increment and decrement keys
 (overflow and underflow are not detected). This gives you the ability to use
@@ -156,9 +156,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index e4c594e879dafeedcd01e9caa3658957c7a11b1a..66654fa687b8d01e94549ec5ade0001c6a060501 100644 (file)
@@ -35,7 +35,7 @@ Manipulate counters
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -108,7 +108,7 @@ memcached_return_t
                                            uint64_t *value);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached(1) servers have the ability to increment and decrement keys
 (overflow and underflow are not detected). This gives you the ability to use
@@ -156,9 +156,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 3c9cfbf54f0b7a522af9270cf65b0bced45f4bf2..81a326825981630c34ad387c4312c0cbfe08437d 100644 (file)
@@ -35,7 +35,7 @@ Delete a key
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -53,7 +53,7 @@ memcached_delete_by_key (memcached_st *ptr,
                          time_t expiration);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_delete() is used to delete a particular key.
 memcached_delete_by_key() works the same, but it takes a master key to
@@ -64,7 +64,7 @@ it won\(aqt possible to retrieve it by the "get" command, but "add" and
 "replace" command with this key will also fail (the "set" command will
 succeed, however). After the time passes, the item is finally deleted from server memory.
 .sp
-Please note the the Danga memcached server removed support for expiration in
+Please note the the Danga memcached server removed tests for expiration in
 the 1.4 version.
 .SH RETURN
 .sp
@@ -81,9 +81,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 69b742fccee01c781b32b795a86b2d9392bc319f..9e8b04f9ac4ca371a08fed3751408c1babbb14dd 100644 (file)
@@ -35,7 +35,7 @@ Delete a key
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -53,7 +53,7 @@ memcached_delete_by_key (memcached_st *ptr,
                          time_t expiration);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_delete() is used to delete a particular key.
 memcached_delete_by_key() works the same, but it takes a master key to
@@ -64,7 +64,7 @@ it won\(aqt possible to retrieve it by the "get" command, but "add" and
 "replace" command with this key will also fail (the "set" command will
 succeed, however). After the time passes, the item is finally deleted from server memory.
 .sp
-Please note the the Danga memcached server removed support for expiration in
+Please note the the Danga memcached server removed tests for expiration in
 the 1.4 version.
 .SH RETURN
 .sp
@@ -81,9 +81,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 435e4a3f08e3a44f95b182dfd0c713145d8d7139..811aad44455e6175c1bc92f19eecda713cfe7cde 100644 (file)
@@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" Man page generated from reStructeredText.
 .
 .sp
-SASL support
-.SH LIBRARY
+memcached_set_sasl_callbacks, memcached_get_sasl_callbacks, memcached_sasl_set_auth_data, memcached_destroy_sasl_auth_data
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-**
+.sp
+SASL tests
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
 .SH SYNOPSIS
@@ -70,21 +72,18 @@ specify your own callback function with memcached_set_sasl_callbacks().
 You as a client user have to initialize libsasl by using sasl_client_init
 before enabling it in libmemcached, and you have to shut down libsasl by
 calling sasl_done() when you are done using SASL from libmemcached.
-.SH RETURN
 .sp
 memcached_get_sasl_callbacks() returns the callbacks currently used
 by this memcached handle.
 memcached_get_sasl_set_auth_data() returns MEMCACHED_SUCCESS upon success.
-.SH HOME
 .sp
 To find out more information please check:
 \fI\%http://libmemcached.org/\fP
-.SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
 .SH SEE ALSO
 .sp
-memcached(1) libmemcached(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 5e9e1d2d6a7de7cedba42ef7acd293f26507e579..388f6ad13b4c1dd8c22c544cf4d51ba9e6f00e56 100644 (file)
@@ -35,7 +35,7 @@ Get a list of keys found on memcached servers
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -53,14 +53,14 @@ typedef memcached_return_t (*memcached_dump_fn)(memcached_st *ptr,
                                                 void *context);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_dump() is used to get a list of keys found  memcached(1) servers.
 Because memcached(1) does not guarentee 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.
 .sp
-Currently the binar protocol is not supported.
+Currently the binar protocol is not testsed.
 .SH RETURN
 .sp
 A value of type \fBmemcached_return_t\fP is returned
@@ -73,9 +73,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index ec1b98d571ee28e4fcf348d4661d6db955898cb7..0a557e1c0af6fcf982e9410fce98dd29cb378c21 100644 (file)
@@ -35,7 +35,7 @@ Get a value
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -108,7 +108,7 @@ memcached_return_t
                                  uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_get() is used to fetch an individual value from the server. You
 must pass in a key and its length to fetch the object. You must supply
@@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take
 a master key that is used for determining which server an object was stored
 if key partitioning was used for storage.
 .sp
-All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
+All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
 \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return
 a \fBmemcached_return_t\fP, the error function parameter will be set to
 \fBMEMCACHED_NOT_SUPPORTED\fP.
@@ -194,9 +194,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index f908ad632b7b6649a329a68f5a1b0de6d79f026d..729953d85d8ea4f13d764d2bb972bbc5c30d275f 100644 (file)
@@ -35,7 +35,7 @@ Get a value
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -108,7 +108,7 @@ memcached_return_t
                                  uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_get() is used to fetch an individual value from the server. You
 must pass in a key and its length to fetch the object. You must supply
@@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take
 a master key that is used for determining which server an object was stored
 if key partitioning was used for storage.
 .sp
-All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
+All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
 \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return
 a \fBmemcached_return_t\fP, the error function parameter will be set to
 \fBMEMCACHED_NOT_SUPPORTED\fP.
@@ -194,9 +194,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 7f8db2dd43c22e92d678200bfd27beda068ff35b..5f12118712830df0c9ed1fb5f36242febd7e0953 100644 (file)
@@ -35,7 +35,7 @@ Get a value
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -108,7 +108,7 @@ memcached_return_t
                                  uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_get() is used to fetch an individual value from the server. You
 must pass in a key and its length to fetch the object. You must supply
@@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take
 a master key that is used for determining which server an object was stored
 if key partitioning was used for storage.
 .sp
-All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
+All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
 \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return
 a \fBmemcached_return_t\fP, the error function parameter will be set to
 \fBMEMCACHED_NOT_SUPPORTED\fP.
@@ -194,9 +194,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 3605d48f122c8dd1684fe9dcb6ad1930ec9287a9..ff5948985309899e8d68e382e18be1bccb3836ef 100644 (file)
@@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" Man page generated from reStructeredText.
 .
 .sp
+memcached_flush
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-*
+.sp
 Wipe contents of memcached servers
-.SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
 .SH SYNOPSIS
@@ -54,21 +56,18 @@ expiration time passed to the method (a value of zero causes an immediate
 flush). The operation is not atomic to multiple servers, just atomic to a
 single server. That is, it will flush the servers in the order that they were
 added.
-.SH RETURN
 .sp
 A value of type \fBmemcached_return_t\fP is returned
 On success that value will be \fBMEMCACHED_SUCCESS\fP.
 Use memcached_strerror() to translate this value to a printable string.
-.SH HOME
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 386633339722d553f8896b98822106b140a00c9b..3924bb6af6e594236ccbe09be6897dd122bf0a51 100644 (file)
@@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" Man page generated from reStructeredText.
 .
 .sp
+memcached_flush_buffers
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-*
+.sp
 Flush buffers and send buffered commands
-.SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
 .SH SYNOPSIS
@@ -50,21 +52,18 @@ memcached_return_t
 memcached_flush_buffers() is used in conjunction with
 MEMCACHED_BEHAVIOR_BUFFER_REQUESTS (see memcached_behavior(3)) to flush
 all buffers by sending the buffered commands to the server for processing.
-.SH RETURN
 .sp
 A value of type \fBmemcached_return_t\fP is returned
 On success that value will be \fBMEMCACHED_SUCCESS\fP.
 Use memcached_strerror() to translate this value to a printable string.
-.SH HOME
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
 .SH SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3) memcached_behavior(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 13011913b1b91894bc23348ea8bdd6a33192ca87..5615541ab70472533e4f05093d888e12e6665a61 100644 (file)
@@ -35,7 +35,7 @@ Create a memcached_st structure
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -50,7 +50,7 @@ memcached_st *memcached_clone (memcached_st *destination, memcached_st *source);
 void memcached_servers_reset(memcached_st);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_create() is used to create a \fBmemcached_st\fP structure that will then
 be used by other libmemcached(3) functions to communicate with the server. You
@@ -87,9 +87,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 44e0669368fe96342af992b487831ec683d8281d..5034b0d8f49f6aa1b10546f3def0c42c555f73f0 100644 (file)
@@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" Man page generated from reStructeredText.
 .
 .sp
+memcached_generate_hash_value
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-**
+.sp
 Hash a key value
-.SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
 .SH SYNOPSIS
@@ -67,22 +69,19 @@ the hash value that would have been generated based on the defaults
 of the memcached_st structure.
 .sp
 As of version 0.36 all hash methods have been placed into the library
-libhashkit(3) which is linked with libmemcached(3).
-.SH RETURN
+libmemcached(3) which is linked with libmemcached(3).
 .sp
 A 32\-bit integer which is the result of hashing the given key.
 For 64\-bit hash algorithms, only the least\-significant 32 bits are
 returned.
-.SH HOME
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_behavior_set(3) libhashkit(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 29ebe2a55253e483e404efc0250d423a4b39d7f4..ecc85af3c1549b2509840af6003ff1a9ccc91793 100644 (file)
@@ -35,7 +35,7 @@ Get a value
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -108,7 +108,7 @@ memcached_return_t
                                  uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_get() is used to fetch an individual value from the server. You
 must pass in a key and its length to fetch the object. You must supply
@@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take
 a master key that is used for determining which server an object was stored
 if key partitioning was used for storage.
 .sp
-All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
+All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
 \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return
 a \fBmemcached_return_t\fP, the error function parameter will be set to
 \fBMEMCACHED_NOT_SUPPORTED\fP.
@@ -194,9 +194,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index b9cc57f318e6505290efee7aebf4ecf7c41500d2..5c370fa4e507c83c33bfea03087f20d8bf629a59 100644 (file)
@@ -35,7 +35,7 @@ Get a value
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -108,7 +108,7 @@ memcached_return_t
                                  uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_get() is used to fetch an individual value from the server. You
 must pass in a key and its length to fetch the object. You must supply
@@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take
 a master key that is used for determining which server an object was stored
 if key partitioning was used for storage.
 .sp
-All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
+All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
 \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return
 a \fBmemcached_return_t\fP, the error function parameter will be set to
 \fBMEMCACHED_NOT_SUPPORTED\fP.
@@ -194,9 +194,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 8f60b296af20942eeb957f14d6534a7be73bdbfe..21db78ac15fb2992dc197fa2e995a583bfe11a01 100644 (file)
@@ -41,48 +41,25 @@ C Client Library for memcached (libmemcached, \-lmemcached)
 .ft C
 #include <libmemcached/memcached.h>
 
-memcached_return_t
-  memcached_set_memory_allocators (memcached_st *ptr,
-                                   memcached_malloc_fn mem_malloc,
-                                   memcached_free_fn mem_free,
-                                   memcached_realloc_fn mem_realloc,
-                                   memcached_calloc_fn mem_calloc,
-                                  void *context);
+memcached_return_t memcached_set_memory_allocators (memcached_st *ptr, memcached_malloc_fn mem_malloc, memcached_free_fn mem_free, memcached_realloc_fn mem_realloc, memcached_calloc_fn mem_calloc, void *context);
 
-void
-  memcached_get_memory_allocators (memcached_st *ptr,
-                                   memcached_malloc_fn *mem_malloc,
-                                   memcached_free_fn *mem_free,
-                                   memcached_realloc_fn *mem_realloc,
-                                   memcached_calloc_fn *mem_calloc);
+void memcached_get_memory_allocators (memcached_st *ptr, memcached_malloc_fn *mem_malloc, memcached_free_fn *mem_free, memcached_realloc_fn *mem_realloc, memcached_calloc_fn *mem_calloc);
 
-void *
-  memcached_get_memory_allocators_context(const memcached_st *ptr);
+void * memcached_get_memory_allocators_context(const memcached_st *ptr);
 
-void *
-  (*memcached_malloc_fn) (memcached_st *ptr, const size_t size,
-                         void *context);
+void * (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, void *context);
 
-void *
-  (*memcached_realloc_fn) (memcached_st *ptr, void *mem,
-                           const size_t size,
-                          void *context);
+void * (*memcached_realloc_fn) (memcached_st *ptr, void *mem, const size_t size, void *context);
 
-void
-  (*memcached_free_fn) (memcached_st *ptr, void *mem,
-                       void *context);
+void (*memcached_free_fn) (memcached_st *ptr, void *mem, void *context);
 
-void *
-(*memcached_calloc_fn) (memcached_st *ptr,
-                       size_t nelem,
-                        const size_t elsize,
-                       void *context);
+void * (*memcached_calloc_fn) (memcached_st *ptr, size_t nelem, const size_t elsize, void *context);
 .ft P
 .fi
 .SH DESCRIPTION
 .sp
 libmemcached(3) allows you to specify your own memory allocators optimized
-for your application.
+for your application. This enables libmemcached to be used inside of applications that have their own malloc implementation.
 .sp
 memcached_set_memory_allocators() is used to set the memory allocators used
 by the memcached instance specified by ptr. Please note that you cannot
@@ -113,13 +90,9 @@ and MEMCACHED_FAILURE if you don\(aqt pass a complete set of function pointers.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
-Brian Aker, <\fI\%brian@tangent\fP.orf<gt>
 .SH SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_get_user_data(3) memcached_set_user_data(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 5ddb3577e70d3731dfbb8026d2acee626e2524f2..d82176d8cadafa893439d42535f10e52e82e5c99 100644 (file)
@@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" Man page generated from reStructeredText.
 .
 .sp
-SASL support
-.SH LIBRARY
+memcached_set_sasl_callbacks, memcached_get_sasl_callbacks, memcached_sasl_set_auth_data, memcached_destroy_sasl_auth_data
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-**
+.sp
+SASL tests
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
 .SH SYNOPSIS
@@ -70,21 +72,18 @@ specify your own callback function with memcached_set_sasl_callbacks().
 You as a client user have to initialize libsasl by using sasl_client_init
 before enabling it in libmemcached, and you have to shut down libsasl by
 calling sasl_done() when you are done using SASL from libmemcached.
-.SH RETURN
 .sp
 memcached_get_sasl_callbacks() returns the callbacks currently used
 by this memcached handle.
 memcached_get_sasl_set_auth_data() returns MEMCACHED_SUCCESS upon success.
-.SH HOME
 .sp
 To find out more information please check:
 \fI\%http://libmemcached.org/\fP
-.SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
 .SH SEE ALSO
 .sp
-memcached(1) libmemcached(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 9c1f5c976143aa29ecbddd7173dedd3f04afdbeb..03bd1b7a62952ad760174eeb35ba31c6fa000c7f 100644 (file)
@@ -35,7 +35,7 @@ Manage user specific data
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -46,7 +46,7 @@ void *memcached_get_user_data (memcached_st *ptr);
 void *memcached_set_user_data (memcached_st *ptr, void *data);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) allows you to store a pointer to a user specific data inside
 the memcached_st structure.
@@ -70,7 +70,7 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
 memcached(1) libmemcached(3)
 .SH AUTHOR
index 9f25997a3b14d2013c74f6900e067ff3d4aceffc..e14f194e72a0b66e77c253d19a44af5f7e403db9 100644 (file)
@@ -35,7 +35,7 @@ Manipulate counters
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -108,7 +108,7 @@ memcached_return_t
                                            uint64_t *value);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached(1) servers have the ability to increment and decrement keys
 (overflow and underflow are not detected). This gives you the ability to use
@@ -156,9 +156,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index bb9830593b84d236b5ea73ece69021ab695c8860..bb319e5eb621c18a9dfea7aa96d25da6add8cf05 100644 (file)
@@ -35,7 +35,7 @@ Manipulate counters
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -108,7 +108,7 @@ memcached_return_t
                                            uint64_t *value);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached(1) servers have the ability to increment and decrement keys
 (overflow and underflow are not detected). This gives you the ability to use
@@ -156,9 +156,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 11e062e5aba11d0de4fff673b51e8eb1007dbbac..81be835fba015a5f8fcfb51e9db11b591f0a6b2c 100644 (file)
@@ -35,7 +35,7 @@ Get library version
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -49,7 +49,7 @@ memcached_return_t
   memcached_version (memcached_st *ptr)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_lib_version() is used to return a simple version string representing
 the libmemcached version (version of the client library, not server)
@@ -73,7 +73,7 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
 memcached(1) libmemcached(3) memcached_strerror(3)
 .SH AUTHOR
index 3dda6435a4367bd35aa28c796133797891048442..2a64aa339831d1d35d610594b6324c7cc0dd56fe 100644 (file)
@@ -41,48 +41,25 @@ C Client Library for memcached (libmemcached, \-lmemcached)
 .ft C
 #include <libmemcached/memcached.h>
 
-memcached_return_t
-  memcached_set_memory_allocators (memcached_st *ptr,
-                                   memcached_malloc_fn mem_malloc,
-                                   memcached_free_fn mem_free,
-                                   memcached_realloc_fn mem_realloc,
-                                   memcached_calloc_fn mem_calloc,
-                                  void *context);
+memcached_return_t memcached_set_memory_allocators (memcached_st *ptr, memcached_malloc_fn mem_malloc, memcached_free_fn mem_free, memcached_realloc_fn mem_realloc, memcached_calloc_fn mem_calloc, void *context);
 
-void
-  memcached_get_memory_allocators (memcached_st *ptr,
-                                   memcached_malloc_fn *mem_malloc,
-                                   memcached_free_fn *mem_free,
-                                   memcached_realloc_fn *mem_realloc,
-                                   memcached_calloc_fn *mem_calloc);
+void memcached_get_memory_allocators (memcached_st *ptr, memcached_malloc_fn *mem_malloc, memcached_free_fn *mem_free, memcached_realloc_fn *mem_realloc, memcached_calloc_fn *mem_calloc);
 
-void *
-  memcached_get_memory_allocators_context(const memcached_st *ptr);
+void * memcached_get_memory_allocators_context(const memcached_st *ptr);
 
-void *
-  (*memcached_malloc_fn) (memcached_st *ptr, const size_t size,
-                         void *context);
+void * (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, void *context);
 
-void *
-  (*memcached_realloc_fn) (memcached_st *ptr, void *mem,
-                           const size_t size,
-                          void *context);
+void * (*memcached_realloc_fn) (memcached_st *ptr, void *mem, const size_t size, void *context);
 
-void
-  (*memcached_free_fn) (memcached_st *ptr, void *mem,
-                       void *context);
+void (*memcached_free_fn) (memcached_st *ptr, void *mem, void *context);
 
-void *
-(*memcached_calloc_fn) (memcached_st *ptr,
-                       size_t nelem,
-                        const size_t elsize,
-                       void *context);
+void * (*memcached_calloc_fn) (memcached_st *ptr, size_t nelem, const size_t elsize, void *context);
 .ft P
 .fi
 .SH DESCRIPTION
 .sp
 libmemcached(3) allows you to specify your own memory allocators optimized
-for your application.
+for your application. This enables libmemcached to be used inside of applications that have their own malloc implementation.
 .sp
 memcached_set_memory_allocators() is used to set the memory allocators used
 by the memcached instance specified by ptr. Please note that you cannot
@@ -113,13 +90,9 @@ and MEMCACHED_FAILURE if you don\(aqt pass a complete set of function pointers.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
-Brian Aker, <\fI\%brian@tangent\fP.orf<gt>
 .SH SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_get_user_data(3) memcached_set_user_data(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index a485f04cfd97a4bbc63ccbb59450fa17983c3df1..c8d773d98ed95bc290f7dae5cf5bb74a24521e30 100644 (file)
@@ -35,7 +35,7 @@ Get a value
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -108,7 +108,7 @@ memcached_return_t
                                  uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_get() is used to fetch an individual value from the server. You
 must pass in a key and its length to fetch the object. You must supply
@@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take
 a master key that is used for determining which server an object was stored
 if key partitioning was used for storage.
 .sp
-All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
+All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
 \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return
 a \fBmemcached_return_t\fP, the error function parameter will be set to
 \fBMEMCACHED_NOT_SUPPORTED\fP.
@@ -194,9 +194,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index a5e4a7b93569adb8f8af8eb1c013313cb28b3c29..14287f10ab47b488aca9f1fdd37fdeb3a61463d1 100644 (file)
@@ -35,7 +35,7 @@ Get a value
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -108,7 +108,7 @@ memcached_return_t
                                  uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_get() is used to fetch an individual value from the server. You
 must pass in a key and its length to fetch the object. You must supply
@@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take
 a master key that is used for determining which server an object was stored
 if key partitioning was used for storage.
 .sp
-All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
+All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
 \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return
 a \fBmemcached_return_t\fP, the error function parameter will be set to
 \fBMEMCACHED_NOT_SUPPORTED\fP.
@@ -194,9 +194,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 7ce59756680c57cb9ff1413589e38e80bba957e4..a028fc1a4ed7418237f53159c8173280b853a4a7 100644 (file)
@@ -35,7 +35,7 @@ Get a value
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -108,7 +108,7 @@ memcached_return_t
                                  uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_get() is used to fetch an individual value from the server. You
 must pass in a key and its length to fetch the object. You must supply
@@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take
 a master key that is used for determining which server an object was stored
 if key partitioning was used for storage.
 .sp
-All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
+All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
 \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return
 a \fBmemcached_return_t\fP, the error function parameter will be set to
 \fBMEMCACHED_NOT_SUPPORTED\fP.
@@ -194,9 +194,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 87939fb84c17cbe43d42892aab3f99a9278d29ef..35e416fb8262ac1b47fecc38016149905d5d8497 100644 (file)
@@ -35,7 +35,7 @@ Get a value
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -108,7 +108,7 @@ memcached_return_t
                                  uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_get() is used to fetch an individual value from the server. You
 must pass in a key and its length to fetch the object. You must supply
@@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take
 a master key that is used for determining which server an object was stored
 if key partitioning was used for storage.
 .sp
-All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
+All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in
 \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return
 a \fBmemcached_return_t\fP, the error function parameter will be set to
 \fBMEMCACHED_NOT_SUPPORTED\fP.
@@ -194,9 +194,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 0f043826e56bef702b96d083d29bd0818fe944ad..4357aca60324a2b1694503d30bfe1427427caff9 100644 (file)
@@ -35,38 +35,28 @@ Manage pools
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcachedutil, \-lmemcachedutil)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
 #include <libmemcached/memcached_pool.h>
 
-memcached_pool_st *
-  memcached_pool_create(memcached_st* mmc, int initial, int max);
+memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max);
 
-memcached_st *
-  memcached_pool_destroy(memcached_pool_st* pool);
+memcached_st * memcached_pool_destroy(memcached_pool_st* pool);
 
-memcached_st *
-  memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
+memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
 
-memcached_return_t
-  memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
+memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
 
 memcached_st *memcached_create (memcached_st *ptr);
 
-memcached_return_t
-  memcached_pool_behavior_set(memcached_pool_st *pool,
-                              memcached_behavior_t flag,
-                              uint64_t data)
+memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data)
 
-memcached_return_t
-  memcached_pool_behavior_get(memcached_pool_st *pool,
-                              memcached_behavior_t flag,
-                              uint64_t *value)
+memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_pool_create() is used to create a connection pool of objects you
 may use to remove the overhead of using memcached_clone for short
@@ -118,9 +108,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_create(3) memcached_free(3) libmemcachedutil(3) memcached_behavior_get(3) memcached_behavior_set(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 1a64ea1a764737420b604af06a0180d25dc3d27d..cd86a98dfc34086f8fb3078ada25d431b1cd2a58 100644 (file)
@@ -35,38 +35,28 @@ Manage pools
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcachedutil, \-lmemcachedutil)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
 #include <libmemcached/memcached_pool.h>
 
-memcached_pool_st *
-  memcached_pool_create(memcached_st* mmc, int initial, int max);
+memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max);
 
-memcached_st *
-  memcached_pool_destroy(memcached_pool_st* pool);
+memcached_st * memcached_pool_destroy(memcached_pool_st* pool);
 
-memcached_st *
-  memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
+memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
 
-memcached_return_t
-  memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
+memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
 
 memcached_st *memcached_create (memcached_st *ptr);
 
-memcached_return_t
-  memcached_pool_behavior_set(memcached_pool_st *pool,
-                              memcached_behavior_t flag,
-                              uint64_t data)
+memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data)
 
-memcached_return_t
-  memcached_pool_behavior_get(memcached_pool_st *pool,
-                              memcached_behavior_t flag,
-                              uint64_t *value)
+memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_pool_create() is used to create a connection pool of objects you
 may use to remove the overhead of using memcached_clone for short
@@ -118,9 +108,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_create(3) memcached_free(3) libmemcachedutil(3) memcached_behavior_get(3) memcached_behavior_set(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index e290289db77aa22045383d33ce5c0bbbddad8e73..0729736c3a9d504e49f3eb555062100edc497e56 100644 (file)
@@ -35,38 +35,28 @@ Manage pools
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcachedutil, \-lmemcachedutil)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
 #include <libmemcached/memcached_pool.h>
 
-memcached_pool_st *
-  memcached_pool_create(memcached_st* mmc, int initial, int max);
+memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max);
 
-memcached_st *
-  memcached_pool_destroy(memcached_pool_st* pool);
+memcached_st * memcached_pool_destroy(memcached_pool_st* pool);
 
-memcached_st *
-  memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
+memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
 
-memcached_return_t
-  memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
+memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
 
 memcached_st *memcached_create (memcached_st *ptr);
 
-memcached_return_t
-  memcached_pool_behavior_set(memcached_pool_st *pool,
-                              memcached_behavior_t flag,
-                              uint64_t data)
+memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data)
 
-memcached_return_t
-  memcached_pool_behavior_get(memcached_pool_st *pool,
-                              memcached_behavior_t flag,
-                              uint64_t *value)
+memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_pool_create() is used to create a connection pool of objects you
 may use to remove the overhead of using memcached_clone for short
@@ -118,9 +108,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_create(3) memcached_free(3) libmemcachedutil(3) memcached_behavior_get(3) memcached_behavior_set(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 6e7cc240e3f120eff7030f0941ad2d984f15533f..f6611dd83fadcaf354c0fd936a454a91796d97f6 100644 (file)
@@ -35,38 +35,28 @@ Manage pools
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcachedutil, \-lmemcachedutil)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
 #include <libmemcached/memcached_pool.h>
 
-memcached_pool_st *
-  memcached_pool_create(memcached_st* mmc, int initial, int max);
+memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max);
 
-memcached_st *
-  memcached_pool_destroy(memcached_pool_st* pool);
+memcached_st * memcached_pool_destroy(memcached_pool_st* pool);
 
-memcached_st *
-  memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
+memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
 
-memcached_return_t
-  memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
+memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
 
 memcached_st *memcached_create (memcached_st *ptr);
 
-memcached_return_t
-  memcached_pool_behavior_set(memcached_pool_st *pool,
-                              memcached_behavior_t flag,
-                              uint64_t data)
+memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data)
 
-memcached_return_t
-  memcached_pool_behavior_get(memcached_pool_st *pool,
-                              memcached_behavior_t flag,
-                              uint64_t *value)
+memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_pool_create() is used to create a connection pool of objects you
 may use to remove the overhead of using memcached_clone for short
@@ -118,9 +108,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_create(3) memcached_free(3) libmemcachedutil(3) memcached_behavior_get(3) memcached_behavior_set(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 55427fe4fb1ee2a5ab71e59e5b358e02db874522..63fece13f7dd5ff0f35aad966d09496f9b782200 100644 (file)
@@ -35,38 +35,28 @@ Manage pools
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcachedutil, \-lmemcachedutil)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
 #include <libmemcached/memcached_pool.h>
 
-memcached_pool_st *
-  memcached_pool_create(memcached_st* mmc, int initial, int max);
+memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max);
 
-memcached_st *
-  memcached_pool_destroy(memcached_pool_st* pool);
+memcached_st * memcached_pool_destroy(memcached_pool_st* pool);
 
-memcached_st *
-  memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
+memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
 
-memcached_return_t
-  memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
+memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
 
 memcached_st *memcached_create (memcached_st *ptr);
 
-memcached_return_t
-  memcached_pool_behavior_set(memcached_pool_st *pool,
-                              memcached_behavior_t flag,
-                              uint64_t data)
+memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data)
 
-memcached_return_t
-  memcached_pool_behavior_get(memcached_pool_st *pool,
-                              memcached_behavior_t flag,
-                              uint64_t *value)
+memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_pool_create() is used to create a connection pool of objects you
 may use to remove the overhead of using memcached_clone for short
@@ -118,9 +108,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_create(3) memcached_free(3) libmemcachedutil(3) memcached_behavior_get(3) memcached_behavior_set(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 8b3223a792561ba57efcb355b7229becfef73c1d..1f15cf386f5aa2679392240bdc77e4478fa29e32 100644 (file)
@@ -35,38 +35,28 @@ Manage pools
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcachedutil, \-lmemcachedutil)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
 #include <libmemcached/memcached_pool.h>
 
-memcached_pool_st *
-  memcached_pool_create(memcached_st* mmc, int initial, int max);
+memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max);
 
-memcached_st *
-  memcached_pool_destroy(memcached_pool_st* pool);
+memcached_st * memcached_pool_destroy(memcached_pool_st* pool);
 
-memcached_st *
-  memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
+memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
 
-memcached_return_t
-  memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
+memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
 
 memcached_st *memcached_create (memcached_st *ptr);
 
-memcached_return_t
-  memcached_pool_behavior_set(memcached_pool_st *pool,
-                              memcached_behavior_t flag,
-                              uint64_t data)
+memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data)
 
-memcached_return_t
-  memcached_pool_behavior_get(memcached_pool_st *pool,
-                              memcached_behavior_t flag,
-                              uint64_t *value)
+memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_pool_create() is used to create a connection pool of objects you
 may use to remove the overhead of using memcached_clone for short
@@ -118,9 +108,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_create(3) memcached_free(3) libmemcachedutil(3) memcached_behavior_get(3) memcached_behavior_set(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index fcfc33a75afa84e73a5a1b862cb75cec0bb9fbf1..ee0f4cbffb05d12091bf4adb8794dc77ffb76956 100644 (file)
@@ -35,38 +35,28 @@ Manage pools
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcachedutil, \-lmemcachedutil)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
 #include <libmemcached/memcached_pool.h>
 
-memcached_pool_st *
-  memcached_pool_create(memcached_st* mmc, int initial, int max);
+memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max);
 
-memcached_st *
-  memcached_pool_destroy(memcached_pool_st* pool);
+memcached_st * memcached_pool_destroy(memcached_pool_st* pool);
 
-memcached_st *
-  memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
+memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
 
-memcached_return_t
-  memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
+memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
 
 memcached_st *memcached_create (memcached_st *ptr);
 
-memcached_return_t
-  memcached_pool_behavior_set(memcached_pool_st *pool,
-                              memcached_behavior_t flag,
-                              uint64_t data)
+memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data)
 
-memcached_return_t
-  memcached_pool_behavior_get(memcached_pool_st *pool,
-                              memcached_behavior_t flag,
-                              uint64_t *value)
+memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_pool_create() is used to create a connection pool of objects you
 may use to remove the overhead of using memcached_clone for short
@@ -118,9 +108,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_create(3) memcached_free(3) libmemcachedutil(3) memcached_behavior_get(3) memcached_behavior_set(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 7559dbb7c308af558d00dc155bd7aa33bb5d137e..18cb3b5cac0d62e31431fe0ea89ca93656d4ca6f 100644 (file)
@@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to
 store information on the server. All methods take a key, and its length to
 store the object. Keys are currently limited to 250 characters by the
 memcached(1) server. You must also supply a value and a length. Optionally you
-may support an expiration time for the object and a 16 byte value (it is
+may tests an expiration time for the object and a 16 byte value (it is
 meant to be used as a bitmap).
 .sp
 memcached_set() will write an object to the server. If an object already
@@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server.
 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 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 support
+that this note was written cas is still buggy in memached. Turning on tests
 for it in libmemcached(3) is optional. Please see memcached_set() for
 information on how to do this.
 .sp
@@ -175,7 +175,7 @@ objects to particular servers.
 If you are looking for performance, memcached_set() with non\-blocking IO is
 the fastest way to store data on the server.
 .sp
-All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there
+All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But 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 Memcahed Server does not allow multi\-datagram requests
 and the current server implementation sets a datagram size to 1400 bytes. Due
@@ -201,9 +201,6 @@ legitmate error in the case of a collision.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 memcached(1) libmemached(3) memcached_strerror(3)
index 872061bdd6de696a7b24f4a0ae0c3eb18a56b044..fce8a1833b2de2929cda0afe48c0f5b3ee6d8944 100644 (file)
@@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to
 store information on the server. All methods take a key, and its length to
 store the object. Keys are currently limited to 250 characters by the
 memcached(1) server. You must also supply a value and a length. Optionally you
-may support an expiration time for the object and a 16 byte value (it is
+may tests an expiration time for the object and a 16 byte value (it is
 meant to be used as a bitmap).
 .sp
 memcached_set() will write an object to the server. If an object already
@@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server.
 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 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 support
+that this note was written cas is still buggy in memached. Turning on tests
 for it in libmemcached(3) is optional. Please see memcached_set() for
 information on how to do this.
 .sp
@@ -175,7 +175,7 @@ objects to particular servers.
 If you are looking for performance, memcached_set() with non\-blocking IO is
 the fastest way to store data on the server.
 .sp
-All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there
+All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But 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 Memcahed Server does not allow multi\-datagram requests
 and the current server implementation sets a datagram size to 1400 bytes. Due
@@ -201,9 +201,6 @@ legitmate error in the case of a collision.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 memcached(1) libmemached(3) memcached_strerror(3)
index df732a0e9f337f8fdfc297c7b20349fd3e97ad85..371221a9f05f88b01ad8608459db39afe4bf86d9 100644 (file)
@@ -35,7 +35,7 @@ Disconnect from all servers
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -44,7 +44,7 @@ C Client Library for memcached (libmemcached, \-lmemcached)
 void memcached_quit (memcached_st *ptr);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_quit() will disconnect you from all currently connected servers.
 It will also reset the state of the connection (ie, any memcached_fetch() you
@@ -67,9 +67,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 2db4196862ce0bd0e860d7767f233eefa17756ab..594a7739d6d48d6924e04262b127e2f8cf8ac96d 100644 (file)
@@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to
 store information on the server. All methods take a key, and its length to
 store the object. Keys are currently limited to 250 characters by the
 memcached(1) server. You must also supply a value and a length. Optionally you
-may support an expiration time for the object and a 16 byte value (it is
+may tests an expiration time for the object and a 16 byte value (it is
 meant to be used as a bitmap).
 .sp
 memcached_set() will write an object to the server. If an object already
@@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server.
 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 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 support
+that this note was written cas is still buggy in memached. Turning on tests
 for it in libmemcached(3) is optional. Please see memcached_set() for
 information on how to do this.
 .sp
@@ -175,7 +175,7 @@ objects to particular servers.
 If you are looking for performance, memcached_set() with non\-blocking IO is
 the fastest way to store data on the server.
 .sp
-All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there
+All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But 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 Memcahed Server does not allow multi\-datagram requests
 and the current server implementation sets a datagram size to 1400 bytes. Due
@@ -201,9 +201,6 @@ legitmate error in the case of a collision.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 memcached(1) libmemached(3) memcached_strerror(3)
index 4da65c83437156463380b44f3c25a4391cd40557..ec1ae4b42efef3a0604cfb780d1def9d9af041bb 100644 (file)
@@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to
 store information on the server. All methods take a key, and its length to
 store the object. Keys are currently limited to 250 characters by the
 memcached(1) server. You must also supply a value and a length. Optionally you
-may support an expiration time for the object and a 16 byte value (it is
+may tests an expiration time for the object and a 16 byte value (it is
 meant to be used as a bitmap).
 .sp
 memcached_set() will write an object to the server. If an object already
@@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server.
 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 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 support
+that this note was written cas is still buggy in memached. Turning on tests
 for it in libmemcached(3) is optional. Please see memcached_set() for
 information on how to do this.
 .sp
@@ -175,7 +175,7 @@ objects to particular servers.
 If you are looking for performance, memcached_set() with non\-blocking IO is
 the fastest way to store data on the server.
 .sp
-All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there
+All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But 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 Memcahed Server does not allow multi\-datagram requests
 and the current server implementation sets a datagram size to 1400 bytes. Due
@@ -201,9 +201,6 @@ legitmate error in the case of a collision.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 memcached(1) libmemached(3) memcached_strerror(3)
index 3704c21c3824f6a598b01ebc05cff03ba0ba5433..1976022ee63bbe67701e056dac5e195617bfe869 100644 (file)
@@ -35,7 +35,7 @@ Work with memcached_result_st
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags)
 void memcached_result_set_expiration (memcached_result_st *ptr, time_t)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) can optionally return a memcached_result_st which acts as a
 result object. The result objects have added benefits over the character
@@ -104,7 +104,7 @@ current result object.
 .sp
 memcached_result_cas() returns the cas associated with the
 current result object. This value will only be available if the server
-supports it.
+testss it.
 .sp
 memcached_result_set_value() takes a byte array and a size and sets
 the result to this value. This function is used for trigger responses.
@@ -131,9 +131,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 83dd1170bc130326c95f76edc8ba94af555c22a7..5532aa1bf5ded181e7aa4c843801178061c128b9 100644 (file)
@@ -35,7 +35,7 @@ Work with memcached_result_st
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags)
 void memcached_result_set_expiration (memcached_result_st *ptr, time_t)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) can optionally return a memcached_result_st which acts as a
 result object. The result objects have added benefits over the character
@@ -104,7 +104,7 @@ current result object.
 .sp
 memcached_result_cas() returns the cas associated with the
 current result object. This value will only be available if the server
-supports it.
+testss it.
 .sp
 memcached_result_set_value() takes a byte array and a size and sets
 the result to this value. This function is used for trigger responses.
@@ -131,9 +131,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 907a87e5e498d70dc133ef37524a48d64afb3fe6..122dd555992efda08a1d20c7483ce3fd30253552 100644 (file)
@@ -35,7 +35,7 @@ Work with memcached_result_st
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags)
 void memcached_result_set_expiration (memcached_result_st *ptr, time_t)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) can optionally return a memcached_result_st which acts as a
 result object. The result objects have added benefits over the character
@@ -104,7 +104,7 @@ current result object.
 .sp
 memcached_result_cas() returns the cas associated with the
 current result object. This value will only be available if the server
-supports it.
+testss it.
 .sp
 memcached_result_set_value() takes a byte array and a size and sets
 the result to this value. This function is used for trigger responses.
@@ -131,9 +131,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 3d6321b45e2a8b3936943741feab5ad79fed0017..9217fdd9330852884e5d80fc8dcfb50f62a771f0 100644 (file)
@@ -35,7 +35,7 @@ Work with memcached_result_st
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags)
 void memcached_result_set_expiration (memcached_result_st *ptr, time_t)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) can optionally return a memcached_result_st which acts as a
 result object. The result objects have added benefits over the character
@@ -104,7 +104,7 @@ current result object.
 .sp
 memcached_result_cas() returns the cas associated with the
 current result object. This value will only be available if the server
-supports it.
+testss it.
 .sp
 memcached_result_set_value() takes a byte array and a size and sets
 the result to this value. This function is used for trigger responses.
@@ -131,9 +131,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 120331399b1c1289e0ec78220bb3584815310abb..50fa7be4fc9812fec82b7d63d183153ff12c7720 100644 (file)
@@ -35,7 +35,7 @@ Work with memcached_result_st
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags)
 void memcached_result_set_expiration (memcached_result_st *ptr, time_t)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) can optionally return a memcached_result_st which acts as a
 result object. The result objects have added benefits over the character
@@ -104,7 +104,7 @@ current result object.
 .sp
 memcached_result_cas() returns the cas associated with the
 current result object. This value will only be available if the server
-supports it.
+testss it.
 .sp
 memcached_result_set_value() takes a byte array and a size and sets
 the result to this value. This function is used for trigger responses.
@@ -131,9 +131,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index ab15d24f43cd5884347a2648d0ac209a3ed6c5f8..8b2d9bd0dc0c343b3011fc43b2349370b2c1d779 100644 (file)
@@ -35,7 +35,7 @@ Work with memcached_result_st
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags)
 void memcached_result_set_expiration (memcached_result_st *ptr, time_t)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) can optionally return a memcached_result_st which acts as a
 result object. The result objects have added benefits over the character
@@ -104,7 +104,7 @@ current result object.
 .sp
 memcached_result_cas() returns the cas associated with the
 current result object. This value will only be available if the server
-supports it.
+testss it.
 .sp
 memcached_result_set_value() takes a byte array and a size and sets
 the result to this value. This function is used for trigger responses.
@@ -131,9 +131,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 7fa857a85ac842617b2b43990b188473bec5358a..2e6faa3ffda51309cd2147b6e527a21f1a080abe 100644 (file)
@@ -35,7 +35,7 @@ Work with memcached_result_st
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags)
 void memcached_result_set_expiration (memcached_result_st *ptr, time_t)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) can optionally return a memcached_result_st which acts as a
 result object. The result objects have added benefits over the character
@@ -104,7 +104,7 @@ current result object.
 .sp
 memcached_result_cas() returns the cas associated with the
 current result object. This value will only be available if the server
-supports it.
+testss it.
 .sp
 memcached_result_set_value() takes a byte array and a size and sets
 the result to this value. This function is used for trigger responses.
@@ -131,9 +131,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index f60daeedb1e697b9657d8bb5cd7c3ee42b3ee573..8f17eca069031f4443c37621b92a1b6966150e46 100644 (file)
@@ -35,7 +35,7 @@ Work with memcached_result_st
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags)
 void memcached_result_set_expiration (memcached_result_st *ptr, time_t)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) can optionally return a memcached_result_st which acts as a
 result object. The result objects have added benefits over the character
@@ -104,7 +104,7 @@ current result object.
 .sp
 memcached_result_cas() returns the cas associated with the
 current result object. This value will only be available if the server
-supports it.
+testss it.
 .sp
 memcached_result_set_value() takes a byte array and a size and sets
 the result to this value. This function is used for trigger responses.
@@ -131,9 +131,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 0db7d7c33f346fd090ff907fb2e62c21598a8ac5..b7608c885f08f2861bca78fadaf5af5c509a10b8 100644 (file)
@@ -35,7 +35,7 @@ Work with memcached_result_st
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags)
 void memcached_result_set_expiration (memcached_result_st *ptr, time_t)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) can optionally return a memcached_result_st which acts as a
 result object. The result objects have added benefits over the character
@@ -104,7 +104,7 @@ current result object.
 .sp
 memcached_result_cas() returns the cas associated with the
 current result object. This value will only be available if the server
-supports it.
+testss it.
 .sp
 memcached_result_set_value() takes a byte array and a size and sets
 the result to this value. This function is used for trigger responses.
@@ -131,9 +131,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 4e82fb6f11712e9dbf1897a96f4e916ba46458a4..8b7cfeddc3c54a24077ce352284409da3fb46de1 100644 (file)
@@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" Man page generated from reStructeredText.
 .
 .sp
-SASL support
-.SH LIBRARY
+memcached_set_sasl_callbacks, memcached_get_sasl_callbacks, memcached_sasl_set_auth_data, memcached_destroy_sasl_auth_data
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-**
+.sp
+SASL tests
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
 .SH SYNOPSIS
@@ -70,21 +72,18 @@ specify your own callback function with memcached_set_sasl_callbacks().
 You as a client user have to initialize libsasl by using sasl_client_init
 before enabling it in libmemcached, and you have to shut down libsasl by
 calling sasl_done() when you are done using SASL from libmemcached.
-.SH RETURN
 .sp
 memcached_get_sasl_callbacks() returns the callbacks currently used
 by this memcached handle.
 memcached_get_sasl_set_auth_data() returns MEMCACHED_SUCCESS upon success.
-.SH HOME
 .sp
 To find out more information please check:
 \fI\%http://libmemcached.org/\fP
-.SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
 .SH SEE ALSO
 .sp
-memcached(1) libmemcached(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index b082603727d4a5fc716c0c951a57997a5a63c4aa..9ed62994495e6c72d2599c64484c3598a40ef82a 100644 (file)
@@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" Man page generated from reStructeredText.
 .
 .sp
-SASL support
-.SH LIBRARY
+memcached_set_sasl_callbacks, memcached_get_sasl_callbacks, memcached_sasl_set_auth_data, memcached_destroy_sasl_auth_data
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-**
+.sp
+SASL tests
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
 .SH SYNOPSIS
@@ -70,21 +72,18 @@ specify your own callback function with memcached_set_sasl_callbacks().
 You as a client user have to initialize libsasl by using sasl_client_init
 before enabling it in libmemcached, and you have to shut down libsasl by
 calling sasl_done() when you are done using SASL from libmemcached.
-.SH RETURN
 .sp
 memcached_get_sasl_callbacks() returns the callbacks currently used
 by this memcached handle.
 memcached_get_sasl_set_auth_data() returns MEMCACHED_SUCCESS upon success.
-.SH HOME
 .sp
 To find out more information please check:
 \fI\%http://libmemcached.org/\fP
-.SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
 .SH SEE ALSO
 .sp
-memcached(1) libmemcached(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 11220990a236aea7e24eb6e263a634f2fa257f74..a5613beadf73c2e3c05842659e19fd8d7659649d 100644 (file)
@@ -35,7 +35,7 @@ Manage server list
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached)
 
 uint32_t memcached_server_count (memcached_st *ptr);
 
-memcached_return_t
-  memcached_server_add (memcached_st *ptr,
-                        const char *hostname,
-                        in_port_t port);
+memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_udp (memcached_st *ptr,
-                           const char *hostname,
-                           in_port_t port);
+memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_unix_socket (memcached_st *ptr,
-                                    const char *socket);
+memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket);
 
-memcached_return_t
-  memcached_server_push (memcached_st *ptr,
-                         const memcached_server_st *list);
+memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list);
 
-memcached_server_instance_st
-  memcached_server_by_key (const memcached_st *ptr,
-                           const char *key,
-                          size_t key_length,
-                           memcached_return_t *error);
+memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error);
 
-memcached_server_instance_st
-  memcached_server_get_last_disconnect (const memcached_st *ptr)
+memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr)
 
-memcached_return_t
-  memcached_server_cursor(const memcached_st *ptr,
-                         const memcached_server_fn *callback,
-                         void *context,
-                         uint32_t number_of_callbacks);
+memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) performs operations on a list of hosts. The order of these
 hosts determine routing to keys. Functions are provided to add keys to
@@ -132,12 +113,9 @@ Varies, see particular functions.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 099ffd9cce123a69ee1bf19b8c9ea7b0ab2deaf9..2ada1461efa42d90e90f6c41b3bb1ba57b10c6f3 100644 (file)
@@ -35,7 +35,7 @@ Manage server list
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached)
 
 uint32_t memcached_server_count (memcached_st *ptr);
 
-memcached_return_t
-  memcached_server_add (memcached_st *ptr,
-                        const char *hostname,
-                        in_port_t port);
+memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_udp (memcached_st *ptr,
-                           const char *hostname,
-                           in_port_t port);
+memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_unix_socket (memcached_st *ptr,
-                                    const char *socket);
+memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket);
 
-memcached_return_t
-  memcached_server_push (memcached_st *ptr,
-                         const memcached_server_st *list);
+memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list);
 
-memcached_server_instance_st
-  memcached_server_by_key (const memcached_st *ptr,
-                           const char *key,
-                          size_t key_length,
-                           memcached_return_t *error);
+memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error);
 
-memcached_server_instance_st
-  memcached_server_get_last_disconnect (const memcached_st *ptr)
+memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr)
 
-memcached_return_t
-  memcached_server_cursor(const memcached_st *ptr,
-                         const memcached_server_fn *callback,
-                         void *context,
-                         uint32_t number_of_callbacks);
+memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) performs operations on a list of hosts. The order of these
 hosts determine routing to keys. Functions are provided to add keys to
@@ -132,12 +113,9 @@ Varies, see particular functions.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 343aee3a185988e378ffa48f5bc1c9f23ab4222d..573c0ad0f2d1008434e5be09351cf69afafa7beb 100644 (file)
@@ -35,7 +35,7 @@ Manage server list
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached)
 
 uint32_t memcached_server_count (memcached_st *ptr);
 
-memcached_return_t
-  memcached_server_add (memcached_st *ptr,
-                        const char *hostname,
-                        in_port_t port);
+memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_udp (memcached_st *ptr,
-                           const char *hostname,
-                           in_port_t port);
+memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_unix_socket (memcached_st *ptr,
-                                    const char *socket);
+memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket);
 
-memcached_return_t
-  memcached_server_push (memcached_st *ptr,
-                         const memcached_server_st *list);
+memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list);
 
-memcached_server_instance_st
-  memcached_server_by_key (const memcached_st *ptr,
-                           const char *key,
-                          size_t key_length,
-                           memcached_return_t *error);
+memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error);
 
-memcached_server_instance_st
-  memcached_server_get_last_disconnect (const memcached_st *ptr)
+memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr)
 
-memcached_return_t
-  memcached_server_cursor(const memcached_st *ptr,
-                         const memcached_server_fn *callback,
-                         void *context,
-                         uint32_t number_of_callbacks);
+memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) performs operations on a list of hosts. The order of these
 hosts determine routing to keys. Functions are provided to add keys to
@@ -132,12 +113,9 @@ Varies, see particular functions.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 503f01456ca1d7f819ae635fddc668ee2ca600ab..5dd5abcdc2fd9bc26b3344bf603da1fafcb1ea27 100644 (file)
@@ -35,7 +35,7 @@ Manage server list
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached)
 
 uint32_t memcached_server_count (memcached_st *ptr);
 
-memcached_return_t
-  memcached_server_add (memcached_st *ptr,
-                        const char *hostname,
-                        in_port_t port);
+memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_udp (memcached_st *ptr,
-                           const char *hostname,
-                           in_port_t port);
+memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_unix_socket (memcached_st *ptr,
-                                    const char *socket);
+memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket);
 
-memcached_return_t
-  memcached_server_push (memcached_st *ptr,
-                         const memcached_server_st *list);
+memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list);
 
-memcached_server_instance_st
-  memcached_server_by_key (const memcached_st *ptr,
-                           const char *key,
-                          size_t key_length,
-                           memcached_return_t *error);
+memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error);
 
-memcached_server_instance_st
-  memcached_server_get_last_disconnect (const memcached_st *ptr)
+memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr)
 
-memcached_return_t
-  memcached_server_cursor(const memcached_st *ptr,
-                         const memcached_server_fn *callback,
-                         void *context,
-                         uint32_t number_of_callbacks);
+memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) performs operations on a list of hosts. The order of these
 hosts determine routing to keys. Functions are provided to add keys to
@@ -132,12 +113,9 @@ Varies, see particular functions.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index f507de85de3c5b5d6ccab3a6f2542745c43c4488..79ed004625c258f7b5fc9827e7e86ed44bda8d1e 100644 (file)
@@ -35,7 +35,7 @@ Manage server list
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached)
 
 uint32_t memcached_server_count (memcached_st *ptr);
 
-memcached_return_t
-  memcached_server_add (memcached_st *ptr,
-                        const char *hostname,
-                        in_port_t port);
+memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_udp (memcached_st *ptr,
-                           const char *hostname,
-                           in_port_t port);
+memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_unix_socket (memcached_st *ptr,
-                                    const char *socket);
+memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket);
 
-memcached_return_t
-  memcached_server_push (memcached_st *ptr,
-                         const memcached_server_st *list);
+memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list);
 
-memcached_server_instance_st
-  memcached_server_by_key (const memcached_st *ptr,
-                           const char *key,
-                          size_t key_length,
-                           memcached_return_t *error);
+memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error);
 
-memcached_server_instance_st
-  memcached_server_get_last_disconnect (const memcached_st *ptr)
+memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr)
 
-memcached_return_t
-  memcached_server_cursor(const memcached_st *ptr,
-                         const memcached_server_fn *callback,
-                         void *context,
-                         uint32_t number_of_callbacks);
+memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) performs operations on a list of hosts. The order of these
 hosts determine routing to keys. Functions are provided to add keys to
@@ -132,12 +113,9 @@ Varies, see particular functions.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index b7f20e93db6d689608805c35fb01833df2d17859..30e06c34b1239da745d44b2e9c62b6793b47933f 100644 (file)
@@ -35,7 +35,7 @@ Manage server list
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -62,7 +62,7 @@ DEPRECATED
 void memcached_server_error_reset (memcached_server_instance_st list);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) operates on a list of hosts which are stored in
 memcached_server_st structures. You should not modify these structures
@@ -102,9 +102,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 1f5ef90cacae31bc6d4685a9a3b59e5b157b435a..144276d862f2a6261b79b86da3145249680d616e 100644 (file)
@@ -35,7 +35,7 @@ Manage server list
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -62,7 +62,7 @@ DEPRECATED
 void memcached_server_error_reset (memcached_server_instance_st list);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) operates on a list of hosts which are stored in
 memcached_server_st structures. You should not modify these structures
@@ -102,9 +102,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 72ea88c92893a24e2da890b146088b1cbb442848..0696542e316a91f6dc8e4a507a60b27b9eeb3381 100644 (file)
@@ -35,7 +35,7 @@ Manage server list
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -62,7 +62,7 @@ DEPRECATED
 void memcached_server_error_reset (memcached_server_instance_st list);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) operates on a list of hosts which are stored in
 memcached_server_st structures. You should not modify these structures
@@ -102,9 +102,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index a976c9cd2d9f5d3704de20769fe86e3bc7407c3f..a4db6a8182d9cab0449d27811bb5a745d9318b35 100644 (file)
@@ -35,7 +35,7 @@ Manage server list
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached)
 
 uint32_t memcached_server_count (memcached_st *ptr);
 
-memcached_return_t
-  memcached_server_add (memcached_st *ptr,
-                        const char *hostname,
-                        in_port_t port);
+memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_udp (memcached_st *ptr,
-                           const char *hostname,
-                           in_port_t port);
+memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_unix_socket (memcached_st *ptr,
-                                    const char *socket);
+memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket);
 
-memcached_return_t
-  memcached_server_push (memcached_st *ptr,
-                         const memcached_server_st *list);
+memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list);
 
-memcached_server_instance_st
-  memcached_server_by_key (const memcached_st *ptr,
-                           const char *key,
-                          size_t key_length,
-                           memcached_return_t *error);
+memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error);
 
-memcached_server_instance_st
-  memcached_server_get_last_disconnect (const memcached_st *ptr)
+memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr)
 
-memcached_return_t
-  memcached_server_cursor(const memcached_st *ptr,
-                         const memcached_server_fn *callback,
-                         void *context,
-                         uint32_t number_of_callbacks);
+memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) performs operations on a list of hosts. The order of these
 hosts determine routing to keys. Functions are provided to add keys to
@@ -132,12 +113,9 @@ Varies, see particular functions.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 10f7d0f292322267a36c00bb0a3cac243f43d684..ec69f14b9bcfe8333c34c86adb90187ad0aade82 100644 (file)
@@ -35,7 +35,7 @@ Manage server list
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached)
 
 uint32_t memcached_server_count (memcached_st *ptr);
 
-memcached_return_t
-  memcached_server_add (memcached_st *ptr,
-                        const char *hostname,
-                        in_port_t port);
+memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_udp (memcached_st *ptr,
-                           const char *hostname,
-                           in_port_t port);
+memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_unix_socket (memcached_st *ptr,
-                                    const char *socket);
+memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket);
 
-memcached_return_t
-  memcached_server_push (memcached_st *ptr,
-                         const memcached_server_st *list);
+memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list);
 
-memcached_server_instance_st
-  memcached_server_by_key (const memcached_st *ptr,
-                           const char *key,
-                          size_t key_length,
-                           memcached_return_t *error);
+memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error);
 
-memcached_server_instance_st
-  memcached_server_get_last_disconnect (const memcached_st *ptr)
+memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr)
 
-memcached_return_t
-  memcached_server_cursor(const memcached_st *ptr,
-                         const memcached_server_fn *callback,
-                         void *context,
-                         uint32_t number_of_callbacks);
+memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) performs operations on a list of hosts. The order of these
 hosts determine routing to keys. Functions are provided to add keys to
@@ -132,12 +113,9 @@ Varies, see particular functions.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 37372bbab2b2f5fd1b070fa0e2520769eb574281..b49fe8027274504a5e2bda762dca34edcafd0a16 100644 (file)
@@ -35,7 +35,7 @@ Manage server list
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached)
 
 uint32_t memcached_server_count (memcached_st *ptr);
 
-memcached_return_t
-  memcached_server_add (memcached_st *ptr,
-                        const char *hostname,
-                        in_port_t port);
+memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_udp (memcached_st *ptr,
-                           const char *hostname,
-                           in_port_t port);
+memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port);
 
-memcached_return_t
-  memcached_server_add_unix_socket (memcached_st *ptr,
-                                    const char *socket);
+memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket);
 
-memcached_return_t
-  memcached_server_push (memcached_st *ptr,
-                         const memcached_server_st *list);
+memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list);
 
-memcached_server_instance_st
-  memcached_server_by_key (const memcached_st *ptr,
-                           const char *key,
-                          size_t key_length,
-                           memcached_return_t *error);
+memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error);
 
-memcached_server_instance_st
-  memcached_server_get_last_disconnect (const memcached_st *ptr)
+memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr)
 
-memcached_return_t
-  memcached_server_cursor(const memcached_st *ptr,
-                         const memcached_server_fn *callback,
-                         void *context,
-                         uint32_t number_of_callbacks);
+memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) performs operations on a list of hosts. The order of these
 hosts determine routing to keys. Functions are provided to add keys to
@@ -132,12 +113,9 @@ Varies, see particular functions.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index dae3fe3bc9eb60ba862520d5957b5950ef9eff61..248c026b0426025de495b7eee145fb5640dcac3b 100644 (file)
@@ -35,7 +35,7 @@ Manage server list
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -62,7 +62,7 @@ DEPRECATED
 void memcached_server_error_reset (memcached_server_instance_st list);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) operates on a list of hosts which are stored in
 memcached_server_st structures. You should not modify these structures
@@ -102,9 +102,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 8adf93f32c2ea6d1966cf82ed230726bfe93f973..ba24a07b4c8374833177c9a344f187a0ac643723 100644 (file)
@@ -35,7 +35,7 @@ Create a memcached_st structure
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -50,7 +50,7 @@ memcached_st *memcached_clone (memcached_st *destination, memcached_st *source);
 void memcached_servers_reset(memcached_st);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_create() is used to create a \fBmemcached_st\fP structure that will then
 be used by other libmemcached(3) functions to communicate with the server. You
@@ -87,9 +87,9 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_strerror(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 3500cd01ba7d959e4c10da27c39cb2f6d3b0c156..85a6194373a50fda8cac463a75c88270633b2b03 100644 (file)
@@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to
 store information on the server. All methods take a key, and its length to
 store the object. Keys are currently limited to 250 characters by the
 memcached(1) server. You must also supply a value and a length. Optionally you
-may support an expiration time for the object and a 16 byte value (it is
+may tests an expiration time for the object and a 16 byte value (it is
 meant to be used as a bitmap).
 .sp
 memcached_set() will write an object to the server. If an object already
@@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server.
 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 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 support
+that this note was written cas is still buggy in memached. Turning on tests
 for it in libmemcached(3) is optional. Please see memcached_set() for
 information on how to do this.
 .sp
@@ -175,7 +175,7 @@ objects to particular servers.
 If you are looking for performance, memcached_set() with non\-blocking IO is
 the fastest way to store data on the server.
 .sp
-All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there
+All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But 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 Memcahed Server does not allow multi\-datagram requests
 and the current server implementation sets a datagram size to 1400 bytes. Due
@@ -201,9 +201,6 @@ legitmate error in the case of a collision.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 memcached(1) libmemached(3) memcached_strerror(3)
index 31a8926b121974b44393e542c59d9c254e64e4a4..b94515c83c7530e3de50bd4419d8db03f238f12d 100644 (file)
@@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to
 store information on the server. All methods take a key, and its length to
 store the object. Keys are currently limited to 250 characters by the
 memcached(1) server. You must also supply a value and a length. Optionally you
-may support an expiration time for the object and a 16 byte value (it is
+may tests an expiration time for the object and a 16 byte value (it is
 meant to be used as a bitmap).
 .sp
 memcached_set() will write an object to the server. If an object already
@@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server.
 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 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 support
+that this note was written cas is still buggy in memached. Turning on tests
 for it in libmemcached(3) is optional. Please see memcached_set() for
 information on how to do this.
 .sp
@@ -175,7 +175,7 @@ objects to particular servers.
 If you are looking for performance, memcached_set() with non\-blocking IO is
 the fastest way to store data on the server.
 .sp
-All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there
+All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But 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 Memcahed Server does not allow multi\-datagram requests
 and the current server implementation sets a datagram size to 1400 bytes. Due
@@ -201,9 +201,6 @@ legitmate error in the case of a collision.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
 memcached(1) libmemached(3) memcached_strerror(3)
index 614426f696a3db34632ceca71d0abd82079440b8..22655217c607cf85dfab835b67cf536540697a4c 100644 (file)
@@ -41,48 +41,25 @@ C Client Library for memcached (libmemcached, \-lmemcached)
 .ft C
 #include <libmemcached/memcached.h>
 
-memcached_return_t
-  memcached_set_memory_allocators (memcached_st *ptr,
-                                   memcached_malloc_fn mem_malloc,
-                                   memcached_free_fn mem_free,
-                                   memcached_realloc_fn mem_realloc,
-                                   memcached_calloc_fn mem_calloc,
-                                  void *context);
+memcached_return_t memcached_set_memory_allocators (memcached_st *ptr, memcached_malloc_fn mem_malloc, memcached_free_fn mem_free, memcached_realloc_fn mem_realloc, memcached_calloc_fn mem_calloc, void *context);
 
-void
-  memcached_get_memory_allocators (memcached_st *ptr,
-                                   memcached_malloc_fn *mem_malloc,
-                                   memcached_free_fn *mem_free,
-                                   memcached_realloc_fn *mem_realloc,
-                                   memcached_calloc_fn *mem_calloc);
+void memcached_get_memory_allocators (memcached_st *ptr, memcached_malloc_fn *mem_malloc, memcached_free_fn *mem_free, memcached_realloc_fn *mem_realloc, memcached_calloc_fn *mem_calloc);
 
-void *
-  memcached_get_memory_allocators_context(const memcached_st *ptr);
+void * memcached_get_memory_allocators_context(const memcached_st *ptr);
 
-void *
-  (*memcached_malloc_fn) (memcached_st *ptr, const size_t size,
-                         void *context);
+void * (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, void *context);
 
-void *
-  (*memcached_realloc_fn) (memcached_st *ptr, void *mem,
-                           const size_t size,
-                          void *context);
+void * (*memcached_realloc_fn) (memcached_st *ptr, void *mem, const size_t size, void *context);
 
-void
-  (*memcached_free_fn) (memcached_st *ptr, void *mem,
-                       void *context);
+void (*memcached_free_fn) (memcached_st *ptr, void *mem, void *context);
 
-void *
-(*memcached_calloc_fn) (memcached_st *ptr,
-                       size_t nelem,
-                        const size_t elsize,
-                       void *context);
+void * (*memcached_calloc_fn) (memcached_st *ptr, size_t nelem, const size_t elsize, void *context);
 .ft P
 .fi
 .SH DESCRIPTION
 .sp
 libmemcached(3) allows you to specify your own memory allocators optimized
-for your application.
+for your application. This enables libmemcached to be used inside of applications that have their own malloc implementation.
 .sp
 memcached_set_memory_allocators() is used to set the memory allocators used
 by the memcached instance specified by ptr. Please note that you cannot
@@ -113,13 +90,9 @@ and MEMCACHED_FAILURE if you don\(aqt pass a complete set of function pointers.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
-Brian Aker, <\fI\%brian@tangent\fP.orf<gt>
 .SH SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_get_user_data(3) memcached_set_user_data(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index b381c9d58b76cc6aa0d347d55da5e4ecf06aa583..b1161bb68220822a4de31b67b21a0c689dde8a81 100644 (file)
@@ -41,48 +41,25 @@ C Client Library for memcached (libmemcached, \-lmemcached)
 .ft C
 #include <libmemcached/memcached.h>
 
-memcached_return_t
-  memcached_set_memory_allocators (memcached_st *ptr,
-                                   memcached_malloc_fn mem_malloc,
-                                   memcached_free_fn mem_free,
-                                   memcached_realloc_fn mem_realloc,
-                                   memcached_calloc_fn mem_calloc,
-                                  void *context);
+memcached_return_t memcached_set_memory_allocators (memcached_st *ptr, memcached_malloc_fn mem_malloc, memcached_free_fn mem_free, memcached_realloc_fn mem_realloc, memcached_calloc_fn mem_calloc, void *context);
 
-void
-  memcached_get_memory_allocators (memcached_st *ptr,
-                                   memcached_malloc_fn *mem_malloc,
-                                   memcached_free_fn *mem_free,
-                                   memcached_realloc_fn *mem_realloc,
-                                   memcached_calloc_fn *mem_calloc);
+void memcached_get_memory_allocators (memcached_st *ptr, memcached_malloc_fn *mem_malloc, memcached_free_fn *mem_free, memcached_realloc_fn *mem_realloc, memcached_calloc_fn *mem_calloc);
 
-void *
-  memcached_get_memory_allocators_context(const memcached_st *ptr);
+void * memcached_get_memory_allocators_context(const memcached_st *ptr);
 
-void *
-  (*memcached_malloc_fn) (memcached_st *ptr, const size_t size,
-                         void *context);
+void * (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, void *context);
 
-void *
-  (*memcached_realloc_fn) (memcached_st *ptr, void *mem,
-                           const size_t size,
-                          void *context);
+void * (*memcached_realloc_fn) (memcached_st *ptr, void *mem, const size_t size, void *context);
 
-void
-  (*memcached_free_fn) (memcached_st *ptr, void *mem,
-                       void *context);
+void (*memcached_free_fn) (memcached_st *ptr, void *mem, void *context);
 
-void *
-(*memcached_calloc_fn) (memcached_st *ptr,
-                       size_t nelem,
-                        const size_t elsize,
-                       void *context);
+void * (*memcached_calloc_fn) (memcached_st *ptr, size_t nelem, const size_t elsize, void *context);
 .ft P
 .fi
 .SH DESCRIPTION
 .sp
 libmemcached(3) allows you to specify your own memory allocators optimized
-for your application.
+for your application. This enables libmemcached to be used inside of applications that have their own malloc implementation.
 .sp
 memcached_set_memory_allocators() is used to set the memory allocators used
 by the memcached instance specified by ptr. Please note that you cannot
@@ -113,13 +90,9 @@ and MEMCACHED_FAILURE if you don\(aqt pass a complete set of function pointers.
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
-.sp
-Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
-Brian Aker, <\fI\%brian@tangent\fP.orf<gt>
 .SH SEE ALSO
 .sp
-memcached(1) libmemcached(3) memcached_get_user_data(3) memcached_set_user_data(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index b40b6489e6048c928871e5c26b9ff1098e6a00bd..093c8b984eb3838f3693e8f9f0354dfe66ec57d5 100644 (file)
@@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" Man page generated from reStructeredText.
 .
 .sp
-SASL support
-.SH LIBRARY
+memcached_set_sasl_callbacks, memcached_get_sasl_callbacks, memcached_sasl_set_auth_data, memcached_destroy_sasl_auth_data
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-**
+.sp
+SASL tests
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
 .SH SYNOPSIS
@@ -70,21 +72,18 @@ specify your own callback function with memcached_set_sasl_callbacks().
 You as a client user have to initialize libsasl by using sasl_client_init
 before enabling it in libmemcached, and you have to shut down libsasl by
 calling sasl_done() when you are done using SASL from libmemcached.
-.SH RETURN
 .sp
 memcached_get_sasl_callbacks() returns the callbacks currently used
 by this memcached handle.
 memcached_get_sasl_set_auth_data() returns MEMCACHED_SUCCESS upon success.
-.SH HOME
 .sp
 To find out more information please check:
 \fI\%http://libmemcached.org/\fP
-.SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
 .SH SEE ALSO
 .sp
-memcached(1) libmemcached(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index a4691afc5b2e413f864745a09cca7683db628c15..63bd6733e3bd15059c9a2424006386f792535111 100644 (file)
@@ -35,7 +35,7 @@ Manage user specific data
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -46,7 +46,7 @@ void *memcached_get_user_data (memcached_st *ptr);
 void *memcached_set_user_data (memcached_st *ptr, void *data);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) allows you to store a pointer to a user specific data inside
 the memcached_st structure.
@@ -70,7 +70,7 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
 memcached(1) libmemcached(3)
 .SH AUTHOR
index 2e6a182bf08e0d698cd50f53de6d8254a94c259b..93d3abda53b18d508962ebde19f98d2b71829424 100644 (file)
@@ -35,7 +35,7 @@ Get memcached statistics
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -68,7 +68,7 @@ memcached_return_t
                           void *context);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) has the ability to query a memcached server (or collection
 of servers) for their current state. Queries to find state return a
@@ -115,7 +115,7 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
 memcached(1) libmemcached(3) memcached_strerror(3)
 .SH AUTHOR
index 2c3c9595e9333c3566bf99320ed048249055395d..ea47976b0b24c00fb73af350fcc46eed2664ce61 100644 (file)
@@ -35,7 +35,7 @@ Get memcached statistics
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -68,7 +68,7 @@ memcached_return_t
                           void *context);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) has the ability to query a memcached server (or collection
 of servers) for their current state. Queries to find state return a
@@ -115,7 +115,7 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
 memcached(1) libmemcached(3) memcached_strerror(3)
 .SH AUTHOR
index 86ce6e2ae31307249bcd74f0cc8d79068cfe0fe6..422ec82f268852db3bdf18797229cbfb277364ff 100644 (file)
@@ -35,7 +35,7 @@ Get memcached statistics
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -68,7 +68,7 @@ memcached_return_t
                           void *context);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) has the ability to query a memcached server (or collection
 of servers) for their current state. Queries to find state return a
@@ -115,7 +115,7 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
 memcached(1) libmemcached(3) memcached_strerror(3)
 .SH AUTHOR
index 221a2f7e84171ec9f8c354e6c8fa6cb723bab752..64e60cdb613034b86a79085d0f0c071ac5af89d4 100644 (file)
@@ -35,7 +35,7 @@ Get memcached statistics
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -68,7 +68,7 @@ memcached_return_t
                           void *context);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) has the ability to query a memcached server (or collection
 of servers) for their current state. Queries to find state return a
@@ -115,7 +115,7 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
 memcached(1) libmemcached(3) memcached_strerror(3)
 .SH AUTHOR
index 67660009a1e0d3afd7ffa3397f4ca878d0a82785..6ad944bd6006e5dd62678bc14b968f680b26ea0a 100644 (file)
@@ -35,7 +35,7 @@ Get memcached statistics
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -68,7 +68,7 @@ memcached_return_t
                           void *context);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) has the ability to query a memcached server (or collection
 of servers) for their current state. Queries to find state return a
@@ -115,7 +115,7 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
 memcached(1) libmemcached(3) memcached_strerror(3)
 .SH AUTHOR
index d373763c4e0d220e0bbb659ba11c83649edbd3cd..6d25b0581ca175d12421969fb60d799f10475391 100644 (file)
@@ -35,7 +35,7 @@ Get memcached statistics
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -68,7 +68,7 @@ memcached_return_t
                           void *context);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) has the ability to query a memcached server (or collection
 of servers) for their current state. Queries to find state return a
@@ -115,7 +115,7 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
 memcached(1) libmemcached(3) memcached_strerror(3)
 .SH AUTHOR
index e52155133ddb0a3b4a4aa6985320932153210680..d36ebaa464c31ce120365f0fc1a23f3ee5a9f0ef 100644 (file)
@@ -30,12 +30,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 ..
 .\" Man page generated from reStructeredText.
 .
-.sp
-Get error string
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -46,7 +44,7 @@ const char *
                       memcached_return_t rc);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_strerror() takes a \fBmemcached_return_t\fP value and returns a string
 describing the error.
@@ -67,7 +65,7 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
 memcached(1) libmemcached(3)
 .SH AUTHOR
index ab8025e639ff80e953f6d96e1a1d1a7b27f178ab..42f2ee3ea29f8d0fe4acdf2bf373086a8c18e786 100644 (file)
@@ -35,7 +35,7 @@ Manage user specific data
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -46,7 +46,7 @@ void *memcached_get_user_data (memcached_st *ptr);
 void *memcached_set_user_data (memcached_st *ptr, void *data);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 libmemcached(3) allows you to store a pointer to a user specific data inside
 the memcached_st structure.
@@ -70,7 +70,7 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
 memcached(1) libmemcached(3)
 .SH AUTHOR
index 16120bc856581b0140d2283a06c0488bae0fcd3a..0339e6a98b74ad29b17ca315e9c1389cce52c320 100644 (file)
@@ -35,7 +35,7 @@ Modifiy verbosity of servers
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -46,7 +46,7 @@ memcached_return_t
                        unsigned int verbosity);
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_verbosity() modifies the "verbosity" of the
 memcached(1) servers referenced in the \fBmemcached_st\fP parameter.
@@ -62,7 +62,7 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
 memcached(1) libmemcached(3) memcached_strerror(3)
 .SH AUTHOR
index 68c9d424b05d4194a08dcb819dca8a7fcc47074b..572a1eaf818b969b50c20c89c8f076c6f3d1a916 100644 (file)
@@ -35,7 +35,7 @@ Get library version
 .SH LIBRARY
 .sp
 C Client Library for memcached (libmemcached, \-lmemcached)
-.SH SYNOPSIS
+.SS SYNOPSIS
 .sp
 .nf
 .ft C
@@ -49,7 +49,7 @@ memcached_return_t
   memcached_version (memcached_st *ptr)
 .ft P
 .fi
-.SH DESCRIPTION
+.SS DESCRIPTION
 .sp
 memcached_lib_version() is used to return a simple version string representing
 the libmemcached version (version of the client library, not server)
@@ -73,7 +73,7 @@ To find out more information please check:
 .SH AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
-.SH SEE ALSO
+.SS SEE ALSO
 .sp
 memcached(1) libmemcached(3) memcached_strerror(3)
 .SH AUTHOR
index 965a9f6a005954da836f9004fb85c898b116d7ae..25910ff16e369c17b70f362697f5e8d1e6fa3e62 100644 (file)
@@ -44,9 +44,9 @@ memcat [\-h hostname] [\-p port] [\-c] [\-v] [\-t n]
 \fBmemcapable\fP connects to the specified memcached server and tries to
 determine its capabilities by running the various commands and verifying
 the response.
-.SH OPTIONS
+.SS OPTIONS
 .sp
-The following options are supported:
+The following options are testsed:
 .INDENT 0.0
 .TP
 .BI \-h \ hostname
@@ -72,11 +72,11 @@ Set the timeout from an IO operation to/from the server to \fIn\fP seconds.
 .SH LIMITATIONS
 .sp
 The current version of memcapable will only verify the binary protocol.
-.SH HOME
+.SS HOME
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
+.SS AUTHOR
 .sp
 Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
 .SH SEE ALSO
index 3185c23271eb21df3069726ad346149f1228927e..95d52d3ba28620fb42ebe247787125440a01869f 100644 (file)
@@ -50,11 +50,11 @@ You can specify servers via the \fB\-\-servers\fP option or via the
 environment variable \fBMEMCACHED_SERVERS\fP.
 .sp
 For a full list of operations run the tool with the \fB\-\-help\fP option.
-.SH HOME
+.SS HOME
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
+.SS AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
 .sp
index 0deddac80b977f57dd918c69c77e739cbb18ce3f..be3975b8b900bbf365e8c3a887f6592d57a642f7 100644 (file)
@@ -53,11 +53,11 @@ these, the final value in the command line list is the name of a
 server(s).
 .sp
 For a full list of operations run the tool with the \fB\-\-help\fP option.
-.SH HOME
+.SS HOME
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
+.SS AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
 .sp
index 220819caa0087bf61fbbb076a0873c44ff69644c..683053e20a008c33de6de93a9afcc9adfc5df97e 100644 (file)
@@ -46,11 +46,11 @@ it is told to fetch from. Because memcached does not guarentee to
 provide all keys it is not possible to get a complete "dump".
 .sp
 For a full list of operations run the tool with the \fB\-\-help\fP option.
-.SH HOME
+.SS HOME
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
+.SS AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
index f40b775241d5c7ff461a79b13747d58ff1e113e8..7d9502cb094f0aba838186fcb725db40d94c6a4b 100644 (file)
@@ -45,11 +45,11 @@ memerror [options] error_code
 readable string.
 .sp
 For a full list of operations run the tool with the \fB\-\-help\fP option.
-.SH HOME
+.SS HOME
 .sp
 To find out more infoerroration please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
+.SS AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
index 2e75d1a1fc6b4218c3a0372514b33fbbc46ad555..d506a6f509d5890a24dc9d6054ac7b00b0e2bc59 100644 (file)
@@ -48,11 +48,11 @@ You can specify servers via the \fB\-\-servers\fP option or via the
 environment variable \fBMEMCACHED_SERVERS\fP.
 .sp
 For a full list of operations run the tool with the \fB\-\-help\fP option.
-.SH HOME
+.SS HOME
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
+.SS AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
 .sp
index 4d91ebb76ebd7bafd1fb731bd4a4c642d785f2f1..05292141ebe730a4135976e94a0fff36b3f33743 100644 (file)
@@ -47,11 +47,11 @@ You can specify servers via the \fB\-\-servers\fP option or via the
 environment variable \fBMEMCACHED_SERVERS\fP.
 .sp
 For a full list of operations run the tool with the \fB\-\-help\fP option.
-.SH HOME
+.SS HOME
 .sp
 To find out more information please check:
 \fI\%https://launchpad.net/libmemcached\fP
-.SH AUTHOR
+.SS AUTHOR
 .sp
 Brian Aker, <\fI\%brian@tangent.org\fP>
 .sp
index 522bfb5d5db6373763843e5d31c873cdcb788a6d..e3708c48ab242b37c255e1114850c9b76faa657a 100644 (file)
@@ -33,1188 +33,18 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .sp
 memslap \- Load testing and benchmarking tool for memcached
 .SH SYNOPSIS
-.sp
-.nf
-.ft C
-memslap [options]
-.ft P
-.fi
 .SH DESCRIPTION
 .sp
 \fBmemslap\fP is a load generation and benchmark tool for memcached(1)
 servers. It generates configurable workload such as threads, concurrencies, connections,
 run time, overwrite, miss rate, key size, value size, get/set proportion,
-expected throughput, and so on. Furthermore, it also supports data
-verification, expire\-time verification, UDP, binary protocol, facebook test,
-replication test, multi\-get and reconnection, etc.
-.sp
-Memslap manages network connections like memcached with
-libevent. Each thread of memslap is bound with a CPU core, all
-the threads don\(aqt communicate with each other, and there are several socket
-connections in each thread. Each connection keeps key size distribution,
-value size distribution, and command distribution by itself.
+expected throughput, and so on.
 .sp
 You can specify servers via the \fB\-\-servers\fP option or via the
 environment variable \fBMEMCACHED_SERVERS\fP.
-.SH FEATURES
-.sp
-Memslap is developed to for the following purposes:
-.sp
-Manages network connections with libevent asynchronously.
-.sp
-Set both TCP and UDP up to use non\-blocking IO.
-.sp
-Improves parallelism: higher performance in multi\-threads environments.
-.sp
-Improves time efficiency: faster processing speed.
-.sp
-Generates key and value more efficiently; key size distribution and value size distribution are configurable.
-.sp
-Supports get, multi\-get, and set commands; command distribution is configurable.
-.sp
-Supports controllable miss rate and overwrite rate.
-.sp
-Supports data and expire\-time verification.
-.sp
-Supports dumping statistic information periodically.
-.sp
-Supports thousands of TCP connections.
-.sp
-Supports binary protocol.
-.sp
-Supports facebook test (set with TCP and multi\-get with UDP) and replication test.
-.SH DETAILS
-.SS Effective implementation of network.
-.sp
-For memslap, both TCP and UDP use non\-blocking network IO. All
-the network events are managed by libevent as memcached. The network module
-of memslap is similar to memcached. Libevent can ensure
-memslap can handle network very efficiently.
-.SS Effective implementation of multi\-threads and concurrency
-.sp
-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 supports setting CPU
-core affinity.
-.sp
-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
-communicate with each other even though they are in the same thread.
-.sp
-Memslap can create thousands of socket connections, and each
-concurrency has tens of socket connections. Each concurrency randomly or
-sequentially selects one socket connection from its socket connection pool
-to run, so memslap can ensure each concurrency handles one
-socket connection at any given time. Users can specify the number of
-concurrency and socket connections of each concurrency according to their
-expected workload.
-.SS Effective implementation of generating key and value
-.sp
-In order to improve time efficiency and space efficiency,
-memslap creates a random characters table with 10M characters. All the
-suffixes of keys and values are generated from this random characters table.
-.sp
-Memslap uses the offset in the character table and the length
-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,
-memslap 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 memslap has an algorithm to ensure that.
-.sp
-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
-length, value offset in the character table, and value length.
-.sp
-In the work process, each concurrency sequentially or randomly selects an
-object from the window to do set operation or get operation. At the same
-time, each concurrency kicks objects out of its window and adds new object
-into it.
-.SS Simple but useful task scheduling
-.sp
-Memslap uses libevent to schedule all the concurrencies 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
-outside, memslap keeps all the distribution as a whole.
-Each task window includes a lot of objects, each object stores its basic
-information, such as key, value, expire time, and so on. At any time, all
-the objects in the window keep the same and fixed key and value
-distribution. If an object is overwritten, the value of the object will be
-updated. Memslap verifies the data or expire\-time according to
-the object information stored in the task window.
-.sp
-Libevent selects which concurrency to handle based on a specific network
-event. Then the concurrency selects which command (get or set) to operate
-based on the command distribution. If it needs to kick out an old object and
-add a new object, in order to keep the same key and value distribution, the
-new object must have the same key length and value length.
-.sp
-If memcached server has two cache layers (memory and SSD), running
-memslap with different window sizes can get different cache
-miss rates. If memslap adds enough objects into the windows at
-the beginning, and the cache of memcached cannot store all the objects
-initialized, then memslap will get some objects from the second
-cache layer. It causes the first cache layer to miss. So the user can
-specify the window size to get the expected miss rate of the first cache
-layer.
-.SS Useful implementation of multi\-servers , UDP, TCP, multi\-get and binary protocol
-.sp
-Because each thread is self\-governed, memslap can assign
-different threads to handle different memcached servers. This is just one of
-the ways in which memslap supports multiple servers. The only
-limitation is that the number of servers cannot be greater than the number
-of threads. The other way to support multiple servers is for replication
-test. Each concurrency has one socket connection to each memcached server.
-For the implementation, memslap can set some objects to one
-memcached server, and get these objects from the other servers.
-.sp
-By default, Memslap does single get. If the user specifies
-multi\-get option, memslap will collect enough get commands and
-pack and send the commands together.
-.sp
-Memslap supports 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
-supports UDP. Because UDP is unreliable, dropped packages and out\-of\-order
-packages may occur. Memslap creates a memory buffer to handle
-these problems. Memslap tries to read all the response data of
-one command from the server and reorders the response data. If some packages
-get lost, the waiting timeout mechanism can ensure half\-baked packages will
-be discarded and the next command will be sent.
-.SH USAGE
-.sp
-Below are some usage samples:
-.sp
-memslap \-s 127.0.0.1:11211 \-S 5s
-.sp
-memslap \-s 127.0.0.1:11211 \-t 2m \-v 0.2 \-e 0.05 \-b
-.sp
-memslap \-s 127.0.0.1:11211 \-F config \-t 2m \-w 40k \-S 20s \-o 0.2
-.sp
-memslap \-s 127.0.0.1:11211 \-F config \-t 2m \-T 4 \-c 128 \-d 20 \-P 40k
-.sp
-memslap \-s 127.0.0.1:11211 \-F config \-t 2m \-d 50 \-a \-n 40
-.sp
-memslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m
-.sp
-memslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m \-p 2
-.sp
-The user must specify one server at least to run memslap. The
-rest of the parameters have default values, as shown below:
-.sp
-Thread number = 1                    Concurrency = 16
-.sp
-Run time = 600 seconds                Configuration file = NULL
-.sp
-Key size = 64                         Value size = 1024
-.sp
-Get/set = 9:1                         Window size = 10k
-.sp
-Execute number = 0                   Single get = true
-.sp
-Multi\-get = false                      Number of sockets of each concurrency = 1
-.sp
-Reconnect = false                     Data verification = false
-.sp
-Expire\-time verification = false           ASCII protocol = true
-.sp
-Binary protocol = false                 Dumping statistic information
-.sp
-periodically = false
-.sp
-Overwrite proportion = 0%             UDP = false
-.sp
-TCP = true                           Limit throughput = false
-.sp
-Facebook test = false                  Replication test = false
-.SS Key size, value size and command distribution.
-.sp
-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,
-memslap 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.
-.sp
-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
-rounded to 3 decimal places.
-.sp
-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, memslap only supports set and get commands. And it
-supports 100% set and 100% get. For 100% get, it will preset some objects to
-the server.
-.SS Multi\-thread and concurrency
-.sp
-The high performance of memslap benefits from the special
-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
-specify these variables.
-.sp
-If the system supports setting CPU affinity and the number of threads
-specified by the user is greater than 1, memslap will try to
-bind each thread to a different CPU core. So if you want to get the best
-performance memslap, it is better to specify the number of
-thread equal to the number of CPU cores. The number of threads specified by
-the user can also be less or greater than the number of CPU cores. Because
-of the limitation of implementation, the number of concurrencies could be
-the multiple of the number of threads.
-.INDENT 0.0
-.IP 1. 3
-.
-For 8 CPU cores system
-.UNINDENT
-.sp
-For example:
-.sp
-\-\-threads=2 \-\-concurrency=128
-.sp
-\-\-threads=8 \-\-concurrency=128
-.sp
-\-\-threads=8 \-\-concurrency=256
-.sp
-\-\-threads=12 \-\-concurrency=144
-.INDENT 0.0
-.IP 2. 3
-.
-For 16 CPU cores system
-.UNINDENT
-.sp
-For example:
-.sp
-\-\-threads=8 \-\-concurrency=128
-.sp
-\-\-threads=16 \-\-concurrency=256
-.sp
-\-\-threads=16 \-\-concurrency=512
-.sp
-\-\-threads=24 \-\-concurrency=288
-.sp
-The memslap performs very well, when
-used to test the performance of memcached servers.
-Most of the time, the bottleneck is the network or
-the server. If for some reason the user wants to
-limit the performance of memslap, there
-are two ways to do this:
-.sp
-Decrease the number of threads and concurrencies.
-Use the option “\-\-tps” that memslap
-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.
-.SS Window size
-.sp
-Most of the time, the user does not need to specify the window size. The
-default window size is 10k. For Schooner Memcached, the user can specify
-different window sizes to get different cache miss rates based on the test
-case. Memslap supports cache miss rate between 0% and 100%.
-If you use this utility to test the performance of Schooner Memcached, you
-can specify a proper window size to get the expected cache miss rate. The
-formula for calculating window size is as follows:
-.sp
-Assume that the key size is 128 bytes, and the value size is 2048 bytes, and
-concurrency=128.
-.sp
-1. Small cache cache_size=1M, 100% cache miss (all data get from SSD).
-win_size=10k
-.INDENT 0.0
-.IP 2. 3
-.
-cache_size=4G
-.UNINDENT
-.sp
-(1). cache miss rate 0%
-.sp
-win_size=8k
-.sp
-(2). cache miss rate 5%
-.sp
-win_size=11k
-.INDENT 0.0
-.IP 3. 3
-.
-cache_size=16G
-.UNINDENT
-.sp
-(1). cache miss rate 0%
-.sp
-win_size=32k
-.sp
-(2). cache miss
-.sp
-rate 5%
-.sp
-win_size=46k
-.sp
-The formula for calculating window size for cache miss rate 0%:
-.sp
-cache_size / concurrency / (key_size + value_size) * 0.5
-.sp
-The formula for calculating window size for cache miss rate 5%:
-.sp
-cache_size / concurrency / (key_size + value_size) * 0.7
-.SS Verification
-.sp
-Memslap supports both data verification and expire\-time
-verification. The user can use "\-\-verify=" or "\-v" to specify the proportion
-of data verification. In theory, it supports 100% data verification. The
-user can use "\-\-exp_verify=" or "\-e" to specify the proportion of
-expire\-time verification. In theory, it supports 100% expire\-time
-verification. Specify the "\-\-verbose" options to get more detailed error
-information.
-.sp
-For example: \-\-exp_verify=0.01 –verify=0.1 , it means that 1% of the objects
-set with expire\-time, 10% of the objects gotten will be verified. If the
-objects are gotten, memslap will verify the expire\-time and
-value.
-.SS multi\-servers and multi\-clients
-.sp
-Memslap supports multi\-servers based on self\-governed thread.
-There is a limitation that the number of servers cannot be greater than the
-number of threads. Memslap assigns one thread to handle one
-server at least. The user can use the "\-\-servers=" or "\-s" option to specify
-multi\-servers.
-.sp
-For example:
-.sp
-\-\-servers=10.1.1.1:11211,10.1.1.2:11212,10.1.1.3:11213 \-\-threads=6 \-\-concurrency=36
-.sp
-The above command means that there are 6 threads, with each thread having 6
-concurrencies and that threads 0 and 3 handle server 0 (10.1.1.1); threads 1
-and 4 handle server 1 (10.1.1.2); and thread 2 and 5 handle server 2
-(10.1.1.3).
-.sp
-All the threads and concurrencies in memslap are self\-governed.
-.sp
-So is memslap. The user can start up several
-memslap instances. The user can run memslap on different client
-machines to communicate with the same memcached server at the same. It is
-recommended that the user start different memslap on different
-machines using the same configuration.
-.SS Run with execute number mode or time mode
-.sp
-The default memslap runs with time mode. The default run time
-is 10 minutes. If it times out, memslap will exit. Do not
-specify both execute number mode and time mode at the same time; just
-specify one instead.
-.sp
-For example:
-.sp
-\-\-time=30s (It means the test will run 30 seconds.)
-.sp
-\-\-execute_number=100000 (It means that after running 100000 commands, the test will exit.)
-.SS Dump statistic information periodically.
-.sp
-The user can use "\-\-stat_freq=" or "\-S" to specify the frequency.
-.sp
-For example:
-.sp
-\-\-stat_freq=20s
-.sp
-Memslap will dump the statistics of the commands (get and set) at the frequency of every 20
-seconds.
-.sp
-For more information on the format of dumping statistic information, refer to “Format of Output” section.
-.SS Multi\-get
-.sp
-The user can use "\-\-division=" or "\-d" to specify multi\-get keys count.
-Memslap by default does single get with TCP. Memslap also supports data
-verification and expire\-time verification for multi\-get.
-.sp
-Memslap supports 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,
-memslap sends one “multi\-get” to the server once. For the
-binary protocol, memslap sends several single get commands
-together as “multi\-get” to the server.
-.SS UDP and TCP
-.sp
-Memslap supports both UDP and TCP. For TCP,
-memslap does not reconnect the memcached server if socket connections are
-lost. If all the socket connections are lost or memcached server crashes,
-memslap will exit. If the user specifies the “\-\-reconnect”
-option when socket connections are lost, it will reconnect them.
-.sp
-User can use “\-\-udp” to enable the UDP feature, but UDP comes with some
-limitations:
-.sp
-UDP cannot set data more than 1400 bytes.
-.sp
-UDP is not supported by the binary protocol because the binary protocol of
-memcached does not support that.
-.sp
-UDP doesn’t support reconnection.
-.SS Facebook test
-.sp
-Set data with TCP and multi\-get with UDP. Specify the following options:
-.sp
-"\-\-facebook \-\-division=50"
-.sp
-If you want to create thousands of TCP connections, specify the
-.sp
-"\-\-conn_sock=" option.
-.sp
-For example: \-\-facebook \-\-division=50 \-\-conn_sock=200
-.sp
-The above command means that memslap will do facebook test,
-each concurrency has 200 socket TCP connections and one UDP socket.
-.sp
-Memslap sets objects with the TCP socket, and multi\-gets 50
-objects once with the UDP socket.
-.sp
-If you specify "\-\-division=50", the key size must be less that 25 bytes
-because the UDP packet size is 1400 bytes.
-.SS Replication test
-.sp
-For replication test, the user must specify at least two memcached servers.
-The user can use “—rep_write=” option to enable feature.
-.sp
-For example:
-.sp
-\-\-servers=10.1.1.1:11211,10.1.1.2:11212 –rep_write=2
-.sp
-The above command means that there are 2 replication memcached servers,
-memslap will set objects to both server 0 and server 1, get
-objects which are set to server 0 before from server 1, and also get objects
-which are set to server 1 before from server 0. If server 0 crashes,
-memslap will only get objects from server 1. If server 0 comes
-back to life again, memslap will reconnect server 0. If both
-server 0 and server 1 crash, memslap will exit.
-.SS Supports thousands of TCP connections
-.sp
-Start memslap with "\-\-conn_sock=" or "\-n" to enable this
-feature. Make sure that your system can support opening thousands of files
-and creating thousands of sockets. However, this feature does not support
-reconnection if sockets disconnect.
-.sp
-For example:
-.sp
-\-\-threads=8 \-\-concurrency=128 \-\-conn_sock=128
-.sp
-The above command means that memslap starts up 8 threads, each
-thread has 16 concurrencies, each concurrency has 128 TCP socket
-connections, and the total number of TCP socket connections is 128 * 128 =
-16384.
-.SS Supports binary protocol
-.sp
-Start memslap with "\-\-binary" or "\-B" options to enable this
-feature. It supports all the above features except UDP, because the latest
-memcached 1.3.3 does not implement binary UDP protocol.
-.sp
-For example:
-.sp
-\-\-binary
-.sp
-Since memcached 1.3.3 doesn\(aqt implement binary UDP protocol,
-memslap does not support UDP. In addition, memcached 1.3.3 does not support
-multi\-get. If you specify "\-\-division=50" option, it just sends 50 get
-commands together as “mulit\-get” to the server.
-.SH CONFIGURATION FILE
-.sp
-This section describes the format of the configuration file.  By default
-when no configuration file is specified memslap reads the default
-one located at ~/.memslap.cnf.
-.sp
-Below is a sample configuration file:
-.sp
-.nf
-.ft C
-***************************************************************************
-#comments should start with \(aq#\(aq
-#key
-#start_len end_len proportion
-#
-#key length range from start_len to end_len
-#start_len must be equal to or greater than 16
-#end_len must be equal to or less than 250
-#start_len must be equal to or greater than end_len
-#memslap will generate keys according to the key range
-#proportion: indicates keys generated from one range accounts for the total
-generated keys
-#
-#example1: key range 16~100 accounts for 80%
-#          key range 101~200 accounts for 10%
-#          key range 201~250 accounts for 10%
-#          total should be 1 (0.8+0.1+0.1 = 1)
-#
-#          16 100 0.8
-#          101 200 0.1
-#          201 249 0.1
-#
-#example2: all keys length are 128 bytes
-#
-#          128 128 1
-key
-128 128 1
-#value
-#start_len end_len proportion
-#
-#value length range from start_len to end_len
-#start_len must be equal to or greater than 1
-#end_len must be equal to or less than 1M
-#start_len must be equal to or greater than end_len
-#memslap will generate values according to the value range
-#proportion: indicates values generated from one range accounts for the
-total generated values
-#
-#example1: value range 1~1000 accounts for 80%
-#          value range 1001~10000 accounts for 10%
-#          value range 10001~100000 accounts for 10%
-#          total should be 1 (0.8+0.1+0.1 = 1)
-#
-#          1 1000 0.8
-#          1001 10000 0.1
-#          10001 100000 0.1
-#
-#example2: all value length are 128 bytes
-#
-#          128 128 1
-value
-2048 2048 1
-#cmd
-#cmd_type cmd_proportion
-#
-#currently memslap only supports get and set command.
-#
-#cmd_type
-#set     0
-#get     1
-#
-#example: set command accounts for 50%
-#         get command accounts for 50%
-#         total should be 1 (0.5+0.5 = 1)
-#
-#         cmd
-#         0    0.5
-#         1    0.5
-cmd
-0    0.1
-1.0 0.9
-.ft P
-.fi
-.SH FORMAT OF OUTPUT
-.sp
-At the beginning, memslap displays some configuration information as follows:
-.sp
-servers : 127.0.0.1:11211
-.sp
-threads count: 1
-.sp
-concurrency: 16
-.sp
-run time: 20s
-.sp
-windows size: 10k
-.sp
-set proportion: set_prop=0.10
-.sp
-get proportion: get_prop=0.90
-.SS Where
-.sp
-servers : "servers"
-.INDENT 0.0
-.INDENT 3.5
-.sp
-The servers used by memslap.
-.UNINDENT
-.UNINDENT
-.sp
-threads count
-.INDENT 0.0
-.INDENT 3.5
-.sp
-The number of threads memslap runs with.
-.UNINDENT
-.UNINDENT
-.sp
-concurrency
-.INDENT 0.0
-.INDENT 3.5
-.sp
-The number of concurrencies memslap runs with.
-.UNINDENT
-.UNINDENT
-.sp
-run time
-.INDENT 0.0
-.INDENT 3.5
-.sp
-How long to run memslap.
-.UNINDENT
-.UNINDENT
-.sp
-windows size
-.INDENT 0.0
-.INDENT 3.5
-.sp
-The task window size of each concurrency.
-.UNINDENT
-.UNINDENT
-.sp
-set proportion
-.INDENT 0.0
-.INDENT 3.5
-.sp
-The proportion of set command.
-.UNINDENT
-.UNINDENT
-.sp
-get proportion
-.INDENT 0.0
-.INDENT 3.5
-.sp
-The proportion of get command.
-.UNINDENT
-.UNINDENT
-.sp
-The output of dynamic statistics is something like this:
-.sp
-.nf
-.ft C
-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
-Get Statistics
-Type  Time(s)  Ops   TPS(ops/s)  Net(M/s)  Get_miss  Min(us)  Max(us)
-Avg(us)  Std_dev    Geo_dist
-Period   5   345826  69165     65.3      0         27      2198     203
-95.43      177.29
-Global  20  1257935  62896     71.8      0         26      3791     224
-117.79     192.60
-
-
-Set Statistics
-Type  Time(s)  Ops   TPS(ops/s)  Net(M/s)  Get_miss  Min(us)  Max(us)
-Avg(us)  Std_dev    Geo_dist
-Period   5    38425   7685      7.3       0         42      628     240
-88.05      220.21
-Global   20   139780  6989      8.0       0         37      3790    253
-117.93     224.83
-
-
-Total Statistics
-Type  Time(s)  Ops   TPS(ops/s)  Net(M/s)  Get_miss  Min(us)  Max(us)
-Avg(us)  Std_dev    Geo_dist
-Period   5   384252   76850     72.5      0        27      2198     207
-94.72      181.18
-Global  20  1397720   69886     79.7      0        26      3791     227
-117.93     195.60
-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
-.ft P
-.fi
-.SS Where
-.sp
-Get Statistics
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Statistics information of get command
-.UNINDENT
-.UNINDENT
-.sp
-Set Statistics
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Statistics information of set command
-.UNINDENT
-.UNINDENT
-.sp
-Total Statistics
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Statistics information of both get and set command
-.UNINDENT
-.UNINDENT
-.sp
-Period
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Result within a period
-.UNINDENT
-.UNINDENT
-.sp
-Global
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Accumulated results
-.UNINDENT
-.UNINDENT
-.sp
-Ops
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Total operations
-.UNINDENT
-.UNINDENT
-.sp
-TPS
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Throughput, operations/second
-.UNINDENT
-.UNINDENT
-.sp
-Net
-.INDENT 0.0
-.INDENT 3.5
-.sp
-The rate of network
-.UNINDENT
-.UNINDENT
-.sp
-Get_miss
-.INDENT 0.0
-.INDENT 3.5
-.sp
-How many objects can’t be gotten
-.UNINDENT
-.UNINDENT
-.sp
-Min
-.INDENT 0.0
-.INDENT 3.5
-.sp
-The minimum response time
-.UNINDENT
-.UNINDENT
-.sp
-Max
-.INDENT 0.0
-.INDENT 3.5
-.sp
-The maximum response time
-.UNINDENT
-.UNINDENT
-.sp
-Avg:
-.INDENT 0.0
-.INDENT 3.5
-.sp
-The average response time
-.UNINDENT
-.UNINDENT
-.sp
-Std_dev
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Standard deviation of response time
-.UNINDENT
-.UNINDENT
-.sp
-Geo_dist
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Geometric distribution based on natural exponential function
-.UNINDENT
-.UNINDENT
-.sp
-At the end, memslap will output something like this:
-.sp
-.nf
-.ft C
-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
-Get Statistics (1257956 events)
-  Min:        26
-  Max:      3791
-  Avg:       224
-  Geo:    192.60
-  Std:    116.23
-                  Log2 Dist:
-                    4:        0       10    84490   215345
-                    8:   484890   459823    12543      824
-                   12:       31
-
- Set Statistics (139782 events)
-    Min:        37
-    Max:      3790
-    Avg:       253
-    Geo:    224.84
-    Std:    116.83
-    Log2 Dist:
-      4:        0        0     4200 16988
-      8:    50784    65574 2064      167
-      12:        5
-
-  Total Statistics (1397738 events)
-      Min:        26
-      Max:      3791
-      Avg:       227
-      Geo:    195.60
-      Std:    116.60
-      Log2 Dist:
-        4:        0       10    88690   232333
-        8:   535674   525397    14607      991
-        12:       36
-
-cmd_get: 1257969
-cmd_set: 139785
-get_misses: 0
-verify_misses: 0
-verify_failed: 0
-expired_get: 0
-unexpired_unget: 0
-written_bytes: 242516030
-read_bytes: 1003702556
-object_bytes: 152086080
-packet_disorder: 0
-packet_drop: 0
-udp_timeout: 0
-
-Run time: 20.0s Ops: 1397754 TPS: 69817 Net_rate: 59.4M/s
-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
-.ft P
-.fi
-.SS Where
-.sp
-Get Statistics
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Get statistics of response time
-.UNINDENT
-.UNINDENT
-.sp
-Set Statistics
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Set statistics of response time
-.UNINDENT
-.UNINDENT
-.sp
-Total Statistics
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Both get and set statistics of response time
-.UNINDENT
-.UNINDENT
-.sp
-Min
-.INDENT 0.0
-.INDENT 3.5
-.sp
-The accumulated and minimum response time
-.UNINDENT
-.UNINDENT
-.sp
-Max
-.INDENT 0.0
-.INDENT 3.5
-.sp
-The accumulated and maximum response time
-.UNINDENT
-.UNINDENT
-.sp
-Avg
-.INDENT 0.0
-.INDENT 3.5
-.sp
-The accumulated and average response time
-.UNINDENT
-.UNINDENT
-.sp
-Std
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Standard deviation of response time
-.UNINDENT
-.UNINDENT
-.sp
-Log2 Dist
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Geometric distribution based on logarithm 2
-.UNINDENT
-.UNINDENT
-.sp
-cmd_get
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Total get commands done
-.UNINDENT
-.UNINDENT
-.sp
-cmd_set
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Total set commands done
-.UNINDENT
-.UNINDENT
-.sp
-get_misses
-.INDENT 0.0
-.INDENT 3.5
-.sp
-How many objects can’t be gotten from server
-.UNINDENT
-.UNINDENT
-.sp
-verify_misses
-.INDENT 0.0
-.INDENT 3.5
-.sp
-How many objects need to verify but can’t get them
-.UNINDENT
-.UNINDENT
-.sp
-verify_failed
-.INDENT 0.0
-.INDENT 3.5
-.sp
-How many objects with insistent value
-.UNINDENT
-.UNINDENT
-.sp
-expired_get
-.INDENT 0.0
-.INDENT 3.5
-.sp
-How many objects are expired but we get them
-.UNINDENT
-.UNINDENT
-.sp
-unexpired_unget
-.INDENT 0.0
-.INDENT 3.5
-.sp
-How many objects are unexpired but we can’t get them
-.UNINDENT
-.UNINDENT
-.sp
-written_bytes
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Total written bytes
-.UNINDENT
-.UNINDENT
-.sp
-read_bytes
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Total read bytes
-.UNINDENT
-.UNINDENT
-.sp
-object_bytes
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Total object bytes
-.UNINDENT
-.UNINDENT
-.sp
-packet_disorder
-.INDENT 0.0
-.INDENT 3.5
-.sp
-How many UDP packages are disorder
-.UNINDENT
-.UNINDENT
-.sp
-packet_drop
-.INDENT 0.0
-.INDENT 3.5
-.sp
-How many UDP packages are lost
-.UNINDENT
-.UNINDENT
-.sp
-udp_timeout
-.INDENT 0.0
-.INDENT 3.5
-.sp
-How many times UDP time out happen
-.UNINDENT
-.UNINDENT
-.sp
-Run time
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Total run time
-.UNINDENT
-.UNINDENT
-.sp
-Ops
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Total operations
-.UNINDENT
-.UNINDENT
-.sp
-TPS
-.INDENT 0.0
-.INDENT 3.5
-.sp
-Throughput, operations/second
-.UNINDENT
-.UNINDENT
-.sp
-Net_rate
-.INDENT 0.0
-.INDENT 3.5
-.sp
-The average rate of network
-.UNINDENT
-.UNINDENT
-.SH OPTIONS
-.INDENT 0.0
-.TP
-.B \-s, \-\-servers=
-.
-List one or more servers to connect. Servers count must be less than
-threads count. e.g.: \-\-servers=localhost:1234,localhost:11211
-.TP
-.B \-T, \-\-threads=
-.
-Number of threads to startup, better equal to CPU numbers. Default 8.
-.TP
-.B \-c, \-\-concurrency=
-.
-Number of concurrency to simulate with load. Default 128.
-.TP
-.B \-n, \-\-conn_sock=
-.
-Number of TCP socks per concurrency. Default 1.
-.TP
-.B \-x, \-\-execute_number=
-.
-Number of operations(get and set) to execute for the
-given test. Default 1000000.
-.TP
-.B \-t, \-\-time=
-.
-How long the test to run, suffix: s\-seconds, m\-minutes, h\-hours,
-d\-days e.g.: \-\-time=2h.
-.TP
-.B \-F, \-\-cfg_cmd=
-.
-Load the configure file to get command,key and value distribution list.
-.TP
-.B \-w, \-\-win_size=
-.
-Task window size of each concurrency, suffix: K, M e.g.: \-\-win_size=10k.
-Default 10k.
-.TP
-.B \-X, \-\-fixed_size=
-.
-Fixed length of value.
-.TP
-.B \-v, \-\-verify=
-.
-The proportion of date verification, e.g.: \-\-verify=0.01
-.TP
-.B \-d, \-\-division=
-.
-Number of keys to multi\-get once. Default 1, means single get.
-.TP
-.B \-S, \-\-stat_freq=
-.
-Frequency of dumping statistic information. suffix: s\-seconds,
-m\-minutes, e.g.: \-\-resp_freq=10s.
-.TP
-.B \-e, \-\-exp_verify=
-.
-The proportion of objects with expire time, e.g.: \-\-exp_verify=0.01.
-Default no object with expire time
-.TP
-.B \-o, \-\-overwrite=
-.
-The proportion of objects need overwrite, e.g.: \-\-overwrite=0.01.
-Default never overwrite object.
-.UNINDENT
-.INDENT 0.0
-.TP
-.B \-R,  \-\-reconnect
-.
-Reconnect support, when connection is closed it will be reconnected.
-.TP
-.B \-U,  \-\-udp
-.
-UDP support, default memslap uses TCP, TCP port and UDP port of
-server must be same.
-.TP
-.B \-a,  \-\-facebook
-.
-Whether it enables facebook test feature, set with TCP and multi\-get with UDP.
-.TP
-.B \-B,  \-\-binary
-.
-Whether it enables binary protocol. Default with ASCII protocol.
-.UNINDENT
-.INDENT 0.0
-.TP
-.B \-P, \-\-tps=
-.
-Expected throughput, suffix: K, e.g.: \-\-tps=10k.
-.TP
-.B \-p, \-\-rep_write=
-.
-The first nth servers can write data, e.g.: \-\-rep_write=2.
-.UNINDENT
-.INDENT 0.0
-.TP
-.B \-b,  \-\-verbose
-.
-Whether it outputs detailed information when verification fails.
-.TP
-.B \-h,  \-\-help
-.
-Display this message and then exit.
-.TP
-.B \-V,  \-\-version
-.
-Display the version of the application and then exit.
-.UNINDENT
-.SH EXAMPLES
-.sp
-memslap \-s 127.0.0.1:11211 \-S 5s
-.sp
-memslap \-s 127.0.0.1:11211 \-t 2m \-v 0.2 \-e 0.05 \-b
-.sp
-memslap \-s 127.0.0.1:11211 \-F config \-t 2m \-w 40k \-S 20s \-o 0.2
-.sp
-memslap \-s 127.0.0.1:11211 \-F config \-t 2m \-T 4 \-c 128 \-d 20 \-P 40k
-.sp
-memslap \-s 127.0.0.1:11211 \-F config \-t 2m \-d 50 \-a \-n 40
-.sp
-memslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m
-.sp
-memslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m \-p 2
-.SH HOME
-.sp
-To find out more information please check:
-\fI\%http://launchpad.org/libmemcached\fP
-.SH AUTHORS
-.sp
-Mingqiang Zhuang <\fI\%mingqiangzhuang@hengtiansoft.com\fP> (Schooner Technolgy)
-Brian Aker, <\fI\%brian@tangent.org\fP>
 .SH SEE ALSO
 .sp
-memcached(1) libmemcached(3)
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP
 .SH AUTHOR
 Brian Aker
 .SH COPYRIGHT
index 024f26bf174523a7cc163097a6f1fb1f1f28e6db..2b079ec2c20033179437269f1e4f5eef0f416d56 100644 (file)
@@ -50,15 +50,10 @@ to specify the "argument" sent to the stats command (ie slab, size, items,
 etc..).
 .sp
 For a full list of operations run the tool with the \fB\-\-help\fP option.
-.SH HOME
+.SS HOME
 .sp
 To find out more information please check:
 \fI\%http://launchpad.org/libmemcached\fP
-.SH AUTHOR
-.sp
-Brian Aker, <\fI\%brian@tangent.org\fP>
-.sp
-Mark Atwood, <\fI\%mark@fallenpegasus.com\fP>
 .SH SEE ALSO
 .sp
 memcached(1) libmemcached(3)
diff --git a/docs/memaslap.rst b/docs/memaslap.rst
new file mode 100644 (file)
index 0000000..03eb6d9
--- /dev/null
@@ -0,0 +1,1256 @@
+========
+memaslap
+========
+
+
+memaslap - Load testing and benchmarking tool for memcached
+
+
+********
+SYNOPSIS
+********
+
+
+
+.. code-block:: perl
+
+   memaslap [options]
+
+
+
+***********
+DESCRIPTION
+***********
+
+
+\ **memaslap**\  is a load generation and benchmark tool for memcached(1)
+servers. It generates configurable workload such as threads, concurrencies, connections,
+run time, overwrite, miss rate, key size, value size, get/set proportion,
+expected throughput, and so on. Furthermore, it also supports data
+verification, expire-time verification, UDP, binary protocol, facebook test,
+replication test, multi-get and reconnection, etc.
+
+Memslap manages network connections like memcached with
+libevent. Each thread of memaslap is bound with a CPU core, all
+the threads don't communicate with each other, and there are several socket
+connections in each thread. Each connection keeps key size distribution,
+value size distribution, and command distribution by itself.
+
+You can specify servers via the \ **--servers**\  option or via the
+environment variable \ ``MEMCACHED_SERVERS``\ .
+
+
+********
+FEATURES
+********
+
+
+Memslap is developed to for the following purposes:
+
+
+Manages network connections with libevent asynchronously.
+
+
+
+Set both TCP and UDP up to use non-blocking IO.
+
+
+
+Improves parallelism: higher performance in multi-threads environments.
+
+
+
+Improves time efficiency: faster processing speed.
+
+
+
+Generates key and value more efficiently; key size distribution and value size distribution are configurable.
+
+
+
+Supports get, multi-get, and set commands; command distribution is configurable.
+
+
+
+Supports controllable miss rate and overwrite rate.
+
+
+
+Supports data and expire-time verification.
+
+
+
+Supports dumping statistic information periodically.
+
+
+
+Supports thousands of TCP connections.
+
+
+
+Supports binary protocol.
+
+
+
+Supports facebook test (set with TCP and multi-get with UDP) and replication test.
+
+
+
+
+*******
+DETAILS
+*******
+
+
+Effective implementation of network.
+____________________________________
+
+
+For memaslap, both TCP and UDP use non-blocking network IO. All
+the network events are managed by libevent as memcached. The network module
+of memaslap is similar to memcached. Libevent can ensure
+memaslap can handle network very efficiently.
+
+
+Effective implementation of multi-threads and concurrency
+_________________________________________________________
+
+
+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 supports 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
+communicate with each other even though they are in the same thread.
+
+Memslap can create thousands of socket connections, and each
+concurrency has tens of socket connections. Each concurrency randomly or
+sequentially selects one socket connection from its socket connection pool
+to run, so memaslap can ensure each concurrency handles one
+socket connection at any given time. Users can specify the number of
+concurrency and socket connections of each concurrency according to their
+expected workload.
+
+
+Effective implementation of generating key and value
+____________________________________________________
+
+
+In order to improve time efficiency and space efficiency, 
+memaslap creates a random characters table with 10M characters. All the
+suffixes of keys and values are generated from this random characters table.
+
+Memslap uses the offset in the character table and the length
+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.
+
+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
+length, value offset in the character table, and value length.
+
+In the work process, each concurrency sequentially or randomly selects an
+object from the window to do set operation or get operation. At the same
+time, each concurrency kicks objects out of its window and adds new object
+into it.
+
+
+Simple but useful task scheduling
+_________________________________
+
+
+Memslap uses libevent to schedule all the concurrencies 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
+outside, memaslap keeps all the distribution as a whole. 
+Each task window includes a lot of objects, each object stores its basic
+information, such as key, value, expire time, and so on. At any time, all
+the objects in the window keep the same and fixed key and value
+distribution. If an object is overwritten, the value of the object will be
+updated. Memslap verifies the data or expire-time according to
+the object information stored in the task window.
+
+Libevent selects which concurrency to handle based on a specific network
+event. Then the concurrency selects which command (get or set) to operate
+based on the command distribution. If it needs to kick out an old object and
+add a new object, in order to keep the same key and value distribution, the
+new object must have the same key length and value length.
+
+If memcached server has two cache layers (memory and SSD), running
+memaslap with different window sizes can get different cache
+miss rates. If memaslap adds enough objects into the windows at
+the beginning, and the cache of memcached cannot store all the objects
+initialized, then memaslap will get some objects from the second
+cache layer. It causes the first cache layer to miss. So the user can
+specify the window size to get the expected miss rate of the first cache
+layer.
+
+
+Useful implementation of multi-servers , UDP, TCP, multi-get and binary protocol
+________________________________________________________________________________
+
+
+Because each thread is self-governed, memaslap can assign
+different threads to handle different memcached servers. This is just one of
+the ways in which memaslap supports multiple servers. The only
+limitation is that the number of servers cannot be greater than the number
+of threads. The other way to support multiple servers is for replication
+test. Each concurrency has one socket connection to each memcached server.
+For the implementation, memaslap can set some objects to one
+memcached server, and get these objects from the other servers.
+
+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 supports 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
+supports UDP. Because UDP is unreliable, dropped packages and out-of-order
+packages may occur. Memslap creates a memory buffer to handle
+these problems. Memslap tries to read all the response data of
+one command from the server and reorders the response data. If some packages
+get lost, the waiting timeout mechanism can ensure half-baked packages will
+be discarded and the next command will be sent.
+
+
+
+*****
+USAGE
+*****
+
+
+Below are some usage samples:
+
+
+memaslap -s 127.0.0.1:11211 -S 5s
+
+
+
+memaslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b
+
+
+
+memaslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2
+
+
+
+memaslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k
+
+
+
+memaslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40
+
+
+
+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
+
+
+
+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
+
+Run time = 600 seconds                Configuration file = NULL
+
+Key size = 64                         Value size = 1024
+
+Get/set = 9:1                         Window size = 10k
+
+Execute number = 0                   Single get = true
+
+Multi-get = false                      Number of sockets of each concurrency = 1
+
+Reconnect = false                     Data verification = false
+
+Expire-time verification = false           ASCII protocol = true
+
+Binary protocol = false                 Dumping statistic information
+
+periodically = false
+
+Overwrite proportion = 0%             UDP = false
+
+TCP = true                           Limit throughput = 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,
+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.
+
+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
+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 supports set and get commands. And it
+supports 100% set and 100% get. For 100% get, it will preset some objects to
+the server.
+
+
+Multi-thread and concurrency
+____________________________
+
+
+The high performance of memaslap benefits from the special
+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
+specify these variables.
+
+If the system supports setting CPU affinity and the number of threads
+specified by the user is greater than 1, memaslap will try to
+bind each thread to a different CPU core. So if you want to get the best
+performance memaslap, it is better to specify the number of
+thread equal to the number of CPU cores. The number of threads specified by
+the user can also be less or greater than the number of CPU cores. Because
+of the limitation of implementation, the number of concurrencies could be
+the multiple of the number of threads.
+
+1. For 8 CPU cores system
+
+For example:
+
+--threads=2 --concurrency=128
+
+--threads=8 --concurrency=128
+
+--threads=8 --concurrency=256
+
+--threads=12 --concurrency=144
+
+2. For 16 CPU cores system
+
+For example:
+
+--threads=8 --concurrency=128
+
+--threads=16 --concurrency=256
+
+--threads=16 --concurrency=512
+
+--threads=24 --concurrency=288
+
+The memaslap performs very well, when
+used to test the performance of memcached servers.
+Most of the time, the bottleneck is the network or
+the server. If for some reason the user wants to
+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
+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.
+
+
+Window size
+___________
+
+
+Most of the time, the user does not need to specify the window size. The
+default window size is 10k. For Schooner Memcached, the user can specify
+different window sizes to get different cache miss rates based on the test
+case. Memslap supports cache miss rate between 0% and 100%.
+If you use this utility to test the performance of Schooner Memcached, you
+can specify a proper window size to get the expected cache miss rate. The
+formula for calculating window size is as follows:
+
+Assume that the key size is 128 bytes, and the value size is 2048 bytes, and
+concurrency=128.
+
+1. Small cache cache_size=1M, 100% cache miss (all data get from SSD).
+win_size=10k
+
+2. cache_size=4G
+
+(1). cache miss rate 0%
+
+win_size=8k
+
+(2). cache miss rate 5%
+
+win_size=11k
+
+3. cache_size=16G
+
+(1). cache miss rate 0%
+
+win_size=32k
+
+(2). cache miss
+
+rate 5%
+
+win_size=46k
+
+The formula for calculating window size for cache miss rate 0%:
+
+cache_size / concurrency / (key_size + value_size) \* 0.5
+
+The formula for calculating window size for cache miss rate 5%:
+
+cache_size / concurrency / (key_size + value_size) \* 0.7
+
+
+Verification
+____________
+
+
+Memslap supports both data verification and expire-time
+verification. The user can use "--verify=" or "-v" to specify the proportion
+of data verification. In theory, it supports 100% data verification. The
+user can use "--exp_verify=" or "-e" to specify the proportion of
+expire-time verification. In theory, it supports 100% expire-time
+verification. Specify the "--verbose" options to get more detailed error
+information.
+
+For example: --exp_verify=0.01 –verify=0.1 , it means that 1% of the objects 
+set with expire-time, 10% of the objects gotten will be verified. If the
+objects are gotten, memaslap will verify the expire-time and
+value.
+
+
+multi-servers and multi-clients
+_______________________________
+
+
+Memslap supports multi-servers based on self-governed thread.
+There is a limitation that the number of servers cannot be greater than the
+number of threads. Memslap assigns one thread to handle one
+server at least. The user can use the "--servers=" or "-s" option to specify
+multi-servers.
+
+For example:
+
+--servers=10.1.1.1:11211,10.1.1.2:11212,10.1.1.3:11213 --threads=6 --concurrency=36
+
+The above command means that there are 6 threads, with each thread having 6
+concurrencies and that threads 0 and 3 handle server 0 (10.1.1.1); threads 1
+and 4 handle server 1 (10.1.1.2); and thread 2 and 5 handle server 2
+(10.1.1.3).
+
+All the threads and concurrencies in memaslap are self-governed.
+
+So is memaslap. The user can start up several 
+memaslap instances. The user can run memaslap on different client
+machines to communicate with the same memcached server at the same. It is
+recommended that the user start different memaslap on different
+machines using the same configuration.
+
+
+Run with execute number mode or time mode
+_________________________________________
+
+
+The default memaslap runs with time mode. The default run time
+is 10 minutes. If it times out, memaslap will exit. Do not
+specify both execute number mode and time mode at the same time; just
+specify one instead.
+
+For example:
+
+--time=30s (It means the test will run 30 seconds.)
+
+--execute_number=100000 (It means that after running 100000 commands, the test will exit.)
+
+
+Dump statistic information periodically.
+________________________________________
+
+
+The user can use "--stat_freq=" or "-S" to specify the frequency.
+
+For example:
+
+--stat_freq=20s
+
+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.
+
+
+Multi-get
+_________
+
+
+The user can use "--division=" or "-d" to specify multi-get keys count.
+Memslap by default does single get with TCP. Memslap also supports data 
+verification and expire-time verification for multi-get.
+
+Memslap supports 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
+binary protocol, memaslap sends several single get commands
+together as “multi-get” to the server.
+
+
+UDP and TCP
+___________
+
+
+Memslap supports 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”
+option when socket connections are lost, it will reconnect them.
+
+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 supported by the binary protocol because the binary protocol of
+memcached does not support that.
+
+UDP doesn’t support reconnection.
+
+
+Facebook test
+_____________
+
+
+Set data with TCP and multi-get with UDP. Specify the following options:
+
+"--facebook --division=50"
+
+If you want to create thousands of TCP connections, specify the
+
+"--conn_sock=" option.
+
+For example: --facebook --division=50 --conn_sock=200
+
+The above command means that memaslap will do facebook test,
+each concurrency has 200 socket TCP connections and one UDP socket.
+
+Memslap sets objects with the TCP socket, and multi-gets 50
+objects once with the UDP socket.
+
+If you specify "--division=50", the key size must be less that 25 bytes
+because the UDP packet size is 1400 bytes.
+
+
+Replication test
+________________
+
+
+For replication test, the user must specify at least two memcached servers.
+The user can use “—rep_write=” option to enable feature.
+
+For example:
+
+--servers=10.1.1.1:11211,10.1.1.2:11212 –rep_write=2
+
+The above command means that there are 2 replication memcached servers,
+memaslap will set objects to both server 0 and server 1, get
+objects which are set to server 0 before from server 1, and also get objects
+which are set to server 1 before from server 0. If server 0 crashes,
+memaslap will only get objects from server 1. If server 0 comes
+back to life again, memaslap will reconnect server 0. If both
+server 0 and server 1 crash, memaslap will exit.
+
+
+Supports thousands of TCP connections
+_____________________________________
+
+
+Start memaslap with "--conn_sock=" or "-n" to enable this
+feature. Make sure that your system can support opening thousands of files
+and creating thousands of sockets. However, this feature does not support
+reconnection if sockets disconnect.
+
+For example:
+
+--threads=8 --concurrency=128 --conn_sock=128
+
+The above command means that memaslap starts up 8 threads, each
+thread has 16 concurrencies, each concurrency has 128 TCP socket
+connections, and the total number of TCP socket connections is 128 \* 128 =
+16384.
+
+
+Supports binary protocol
+________________________
+
+
+Start memaslap with "--binary" or "-B" options to enable this
+feature. It supports all the above features except UDP, because the latest
+memcached 1.3.3 does not implement binary UDP protocol.
+
+For example:
+
+--binary
+
+Since memcached 1.3.3 doesn't implement binary UDP protocol,
+memaslap does not support UDP. In addition, memcached 1.3.3 does not support
+multi-get. If you specify "--division=50" option, it just sends 50 get
+commands together as “mulit-get” to the server.
+
+
+
+******************
+Configuration file
+******************
+
+
+This section describes the format of the configuration file.  By default
+when no configuration file is specified memaslap reads the default
+one located at ~/.memaslap.cnf.
+
+Below is a sample configuration file:
+
+
+.. code-block:: perl
+
+  ***************************************************************************
+  #comments should start with '#'
+  #key 
+  #start_len end_len proportion
+  #
+  #key length range from start_len to end_len
+  #start_len must be equal to or greater than 16
+  #end_len must be equal to or less than 250
+  #start_len must be equal to or greater than end_len
+  #memaslap will generate keys according to the key range
+  #proportion: indicates keys generated from one range accounts for the total
+  generated keys  
+  #
+  #example1: key range 16~100 accounts for 80%
+  #          key range 101~200 accounts for 10%
+  #          key range 201~250 accounts for 10%
+  #          total should be 1 (0.8+0.1+0.1 = 1)
+  #
+  #          16 100 0.8  
+  #          101 200 0.1
+  #          201 249 0.1
+  #
+  #example2: all keys length are 128 bytes
+  #
+  #          128 128 1 
+  key
+  128 128 1  
+  #value 
+  #start_len end_len proportion
+  #
+  #value length range from start_len to end_len
+  #start_len must be equal to or greater than 1
+  #end_len must be equal to or less than 1M
+  #start_len must be equal to or greater than end_len
+  #memaslap will generate values according to the value range
+  #proportion: indicates values generated from one range accounts for the
+  total generated values  
+  #
+  #example1: value range 1~1000 accounts for 80%
+  #          value range 1001~10000 accounts for 10%
+  #          value range 10001~100000 accounts for 10%
+  #          total should be 1 (0.8+0.1+0.1 = 1)
+  #
+  #          1 1000 0.8  
+  #          1001 10000 0.1
+  #          10001 100000 0.1
+  #
+  #example2: all value length are 128 bytes
+  #
+  #          128 128 1 
+  value
+  2048 2048 1
+  #cmd
+  #cmd_type cmd_proportion
+  #
+  #currently memaslap only supports get and set command.
+  #
+  #cmd_type
+  #set     0
+  #get     1
+  #
+  #example: set command accounts for 50%
+  #         get command accounts for 50%
+  #         total should be 1 (0.5+0.5 = 1)
+  #
+  #         cmd
+  #         0    0.5
+  #         1    0.5
+  cmd
+  0    0.1
+  1.0 0.9
+
+
+
+****************
+Format of output
+****************
+
+
+At the beginning, memaslap displays some configuration information as follows:
+
+
+servers : 127.0.0.1:11211
+
+
+
+threads count: 1
+
+
+
+concurrency: 16
+
+
+
+run time: 20s
+
+
+
+windows size: 10k
+
+
+
+set proportion: set_prop=0.10
+
+
+
+get proportion: get_prop=0.90
+
+
+
+Where
+_____
+
+
+
+servers : "servers"
+ The servers used by memaslap.
+
+
+threads count
+ The number of threads memaslap runs with.
+
+
+concurrency
+ The number of concurrencies memaslap runs with.
+
+
+run time
+ How long to run memaslap.
+
+
+windows size
+ The task window size of each concurrency.
+
+
+set proportion
+ The proportion of set command.
+
+
+get proportion
+ The proportion of get command.
+
+
+The output of dynamic statistics is something like this:
+
+
+.. code-block:: perl
+
+  ---------------------------------------------------------------------------------------------------------------------------------
+  Get Statistics
+  Type  Time(s)  Ops   TPS(ops/s)  Net(M/s)  Get_miss  Min(us)  Max(us)
+  Avg(us)  Std_dev    Geo_dist  
+  Period   5   345826  69165     65.3      0         27      2198     203
+  95.43      177.29
+  Global  20  1257935  62896     71.8      0         26      3791     224
+  117.79     192.60
+  
+   
+  Set Statistics
+  Type  Time(s)  Ops   TPS(ops/s)  Net(M/s)  Get_miss  Min(us)  Max(us)
+  Avg(us)  Std_dev    Geo_dist  
+  Period   5    38425   7685      7.3       0         42      628     240
+  88.05      220.21
+  Global   20   139780  6989      8.0       0         37      3790    253
+  117.93     224.83
+  
+   
+  Total Statistics
+  Type  Time(s)  Ops   TPS(ops/s)  Net(M/s)  Get_miss  Min(us)  Max(us)
+  Avg(us)  Std_dev    Geo_dist 
+  Period   5   384252   76850     72.5      0        27      2198     207
+  94.72      181.18
+  Global  20  1397720   69886     79.7      0        26      3791     227
+  117.93     195.60
+  ---------------------------------------------------------------------------------------------------------------------------------
+
+
+
+Where
+_____
+
+
+
+Get Statistics
+ Statistics information of get command
+
+
+Set Statistics
+ Statistics information of set command
+
+
+Total Statistics
+ Statistics information of both get and set command
+
+
+Period
+ Result within a period
+
+
+Global
+ Accumulated results
+
+
+Ops
+ Total operations
+
+
+TPS
+ Throughput, operations/second
+
+
+Net
+ The rate of network
+
+
+Get_miss
+ How many objects can’t be gotten
+
+
+Min
+ The minimum response time
+
+
+Max
+ The maximum response time
+
+
+Avg:
+ The average response time
+
+
+Std_dev
+ Standard deviation of response time
+
+
+Geo_dist
+ Geometric distribution based on natural exponential function
+
+
+At the end, memaslap will output something like this:
+
+
+.. code-block:: perl
+
+   ---------------------------------------------------------------------------------------------------------------------------------
+   Get Statistics (1257956 events)
+     Min:        26
+     Max:      3791
+     Avg:       224
+     Geo:    192.60
+     Std:    116.23
+                     Log2 Dist:
+                       4:        0       10    84490   215345
+                       8:   484890   459823    12543      824
+                      12:       31
+    Set Statistics (139782 events)
+       Min:        37
+       Max:      3790
+       Avg:       253
+       Geo:    224.84
+       Std:    116.83
+       Log2 Dist: 
+         4:        0        0     4200 16988
+         8:    50784    65574 2064      167
+         12:        5
+    
+     Total Statistics (1397738 events)
+         Min:        26
+         Max:      3791
+         Avg:       227
+         Geo:    195.60
+         Std:    116.60
+         Log2 Dist:
+           4:        0       10    88690   232333
+           8:   535674   525397    14607      991
+           12:       36
+   cmd_get: 1257969
+   cmd_set: 139785
+   get_misses: 0
+   verify_misses: 0
+   verify_failed: 0
+   expired_get: 0
+   unexpired_unget: 0
+   written_bytes: 242516030
+   read_bytes: 1003702556
+   object_bytes: 152086080
+   packet_disorder: 0
+   packet_drop: 0
+   udp_timeout: 0
+   Run time: 20.0s Ops: 1397754 TPS: 69817 Net_rate: 59.4M/s
+   ---------------------------------------------------------------------------------------------------------------------------------
+
+
+
+Where
+_____
+
+
+
+Get Statistics
+ Get statistics of response time
+
+
+Set Statistics
+ Set statistics of response time
+
+
+Total Statistics
+ Both get and set statistics of response time
+
+
+Min
+ The accumulated and minimum response time
+
+
+Max
+ The accumulated and maximum response time
+
+
+Avg
+ The accumulated and average response time
+
+
+Std
+ Standard deviation of response time
+
+
+Log2 Dist
+ Geometric distribution based on logarithm 2
+
+
+cmd_get
+ Total get commands done
+
+
+cmd_set
+ Total set commands done
+
+
+get_misses
+ How many objects can’t be gotten from server
+
+
+verify_misses
+ How many objects need to verify but can’t get them
+
+
+verify_failed
+ How many objects with insistent value
+
+
+expired_get
+ How many objects are expired but we get them
+
+
+unexpired_unget
+ How many objects are unexpired but we can’t get them
+
+
+written_bytes
+ Total written bytes
+
+
+read_bytes
+ Total read bytes
+
+
+object_bytes
+ Total object bytes
+
+
+packet_disorder
+ How many UDP packages are disorder
+
+
+packet_drop
+ How many UDP packages are lost
+
+
+udp_timeout
+ How many times UDP time out happen
+
+
+Run time
+ Total run time
+
+
+Ops
+ Total operations
+
+
+TPS
+ Throughput, operations/second
+
+
+Net_rate
+ The average rate of network
+
+
+
+
+*******
+OPTIONS
+*******
+
+
+-s, --servers=
+    List one or more servers to connect. Servers count must be less than
+    threads count. e.g.: --servers=localhost:1234,localhost:11211
+
+-T, --threads=
+    Number of threads to startup, better equal to CPU numbers. Default 8.
+
+-c, --concurrency=
+    Number of concurrency to simulate with load. Default 128.
+
+-n, --conn_sock=
+    Number of TCP socks per concurrency. Default 1.
+
+-x, --execute_number=
+    Number of operations(get and set) to execute for the
+    given test. Default 1000000.
+
+-t, --time=
+    How long the test to run, suffix: s-seconds, m-minutes, h-hours,
+    d-days e.g.: --time=2h.
+
+-F, --cfg_cmd=
+    Load the configure file to get command,key and value distribution list.
+
+-w, --win_size=
+    Task window size of each concurrency, suffix: K, M e.g.: --win_size=10k.
+    Default 10k.
+
+-X, --fixed_size=
+    Fixed length of value.
+
+-v, --verify=
+    The proportion of date verification, e.g.: --verify=0.01
+
+-d, --division=
+    Number of keys to multi-get once. Default 1, means single get.
+
+-S, --stat_freq=
+    Frequency of dumping statistic information. suffix: s-seconds,
+    m-minutes, e.g.: --resp_freq=10s.
+
+-e, --exp_verify=
+    The proportion of objects with expire time, e.g.: --exp_verify=0.01.
+    Default no object with expire time
+
+-o, --overwrite=
+    The proportion of objects need overwrite, e.g.: --overwrite=0.01.
+    Default never overwrite object.
+
+-R, --reconnect 
+    Reconnect support, when connection is closed it will be reconnected.
+
+-U, --udp 
+    UDP support, default memaslap uses TCP, TCP port and UDP port of
+    server must be same.
+
+-a, --facebook 
+    Whether it enables facebook test feature, set with TCP and multi-get with UDP.
+
+-B, --binary 
+    Whether it enables binary protocol. Default with ASCII protocol.
+
+-P, --tps=
+    Expected throughput, suffix: K, e.g.: --tps=10k.
+
+-p, --rep_write=
+    The first nth servers can write data, e.g.: --rep_write=2.
+
+-b, --verbose 
+    Whether it outputs detailed information when verification fails.
+
+-h, --help 
+    Display this message and then exit.
+
+-V, --version 
+    Display the version of the application and then exit.
+
+
+********
+EXAMPLES
+********
+
+
+memaslap -s 127.0.0.1:11211 -S 5s
+
+memaslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b
+
+memaslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2
+
+memaslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k
+
+memaslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40
+
+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://launchpad.org/libmemcached <http://launchpad.org/libmemcached>`_
+
+
+*******
+AUTHORS
+*******
+
+
+Mingqiang Zhuang <mingqiangzhuang@hengtiansoft.com> (Schooner Technolgy)
+Brian Aker, <brian@tangent.org>
+
+
+********
+SEE ALSO
+********
+
+
+:manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index 31ff6178df30dc53d97efe4cb298547ea654ec07..1f35e4e7c4d0c9b2e6bcb0ac08d0502badefef72 100644 (file)
@@ -1,8 +1,6 @@
-.. highlight:: perl
-
-
-memcached_increment, memcached_decrement, memcached_increment_with_initial, memcached_decrement_with_initial
-************************************************************************************************************
+=========================================================
+Incrementing and Decrementing values stored in the server
+=========================================================
 
 
 Manipulate counters
@@ -16,9 +14,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -94,9 +92,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 memcached(1) servers have the ability to increment and decrement keys
@@ -162,9 +160,9 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index 96e3213de69cfb70d04c5a53029d201740dd4bf3..46b43e7c75e17d796224b33e96c614d675490667 100644 (file)
@@ -1,8 +1,6 @@
-.. highlight:: perl
-
-
-memcached_behavior_get, memcached_behavior_set
-**********************************************
+================================
+Modifying how the driver behaves
+================================
 
 
 Manipulate behavior
@@ -16,9 +14,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -37,9 +35,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 libmemcached(3) behavior can be modified by use memcached_behavior_set().
@@ -60,14 +58,14 @@ memcached_behavior_set() will flush and reset all connections.
 MEMCACHED_BEHAVIOR_USE_UDP
  
  Causes libmemcached(3) to use the UDP transport when communicating
- with a memcached server. Not all I/O operations are supported
+ with a memcached server. Not all I/O operations are testsed
  when this behavior is enababled. The following operations will return
  \ ``MEMCACHED_NOT_SUPPORTED``\  when executed with the MEMCACHED_BEHAVIOR_USE_UDP
  enabled: memcached_version(), memcached_stat(), memcached_get(),
  memcached_get_by_key(), memcached_mget(), memcached_mget_by_key(),
  memcached_fetch(), memcached_fetch_result(), memcached_value_fetch().
  
- All other operations are supported but are executed in a 'fire-and-forget'
+ All other operations are testsed 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.
@@ -114,7 +112,7 @@ MEMCACHED_BEHAVIOR_HASH
  Makes the default hashing algorithm for keys use MD5. The value can be set
  to either MEMCACHED_HASH_DEFAULT, MEMCACHED_HASH_MD5, MEMCACHED_HASH_CRC, MEMCACHED_HASH_FNV1_64, MEMCACHED_HASH_FNV1A_64, MEMCACHED_HASH_FNV1_32, MEMCACHED_HASH_FNV1A_32, MEMCACHED_HASH_JENKINS, MEMCACHED_HASH_HSIEH, and MEMCACHED_HASH_MURMUR.
  Each hash has it's advantages and it's weaknesses. If you don't know or don't care, just go with the default.
- Support for MEMCACHED_HASH_HSIEH is a compile time option that is disabled by default. To enable support for this hashing algorithm, configure and build libmemcached with the --enable-hash_hsieh.
+ Support for 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.
  
 
 
@@ -151,7 +149,7 @@ MEMCACHED_BEHAVIOR_KETAMA
 
 MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED
  
- Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted support.
+ Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted tests.
  and the hash to MEMCACHED_HASH_MD5.
  
 
@@ -297,7 +295,7 @@ MEMCACHED_BEHAVIOR_CORK
  Enable TCP_CORK behavior. This is only available as an option Linux.
  MEMCACHED_NO_SERVERS is returned if no servers are available to test with.
  MEMCACHED_NOT_SUPPORTED is returned if we were not able to determine
- if support was available. All other responses then MEMCACHED_SUCCESS
+ if tests was available. All other responses then MEMCACHED_SUCCESS
  report an error of some sort. This behavior also enables
  MEMCACHED_BEHAVIOR_TCP_NODELAY when set.
  
@@ -396,9 +394,9 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index ac1760abd17932d18dbdd680cff8fb567c1924a0..a4b4b3d3081548a430ab7583f5bf6dea496edfc0 100644 (file)
@@ -1,8 +1,6 @@
-.. highlight:: perl
-
-
-memcached_callback_get, memcached_callback_set
-**********************************************
+=================
+Setting callbacks
+=================
 
 
 Get and set a callback
@@ -16,9 +14,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -38,9 +36,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 libmemcached(3) can have callbacks set key execution points. These either
@@ -164,9 +162,9 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index ace146cbf8fa918480cef3272238f5a1ddd84e2a..36a36bd7bb7c3a5a0c5a76aed3f4f226fa87a0ff 100644 (file)
@@ -1,8 +1,6 @@
-.. highlight:: perl
-
-
-memcached_create, memcached_free, memcached_clone, memcached_servers_reset
-**************************************************************************
+======================================
+Creating and destroying a memcached_st
+======================================
 
 
 Create a memcached_st structure
@@ -16,9 +14,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -36,9 +34,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 memcached_create() is used to create a \ ``memcached_st``\  structure that will then
@@ -93,9 +91,9 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index 440cf22cf7c340558a16b748934c63f5cc35dc3b..56ad96977c6626c260d7a1e7ada1b16d888a832e 100644 (file)
@@ -2,7 +2,7 @@
 
 
 memcached_delete
-****************
+----------------
 
 
 Delete a key
@@ -16,9 +16,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -39,9 +39,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 memcached_delete() is used to delete a particular key. 
@@ -53,7 +53,7 @@ it won't possible to retrieve it by the "get" command, but "add" and
 "replace" command 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 support for expiration in
+Please note the the Danga memcached server removed tests for expiration in
 the 1.4 version.
 
 
@@ -87,8 +87,8 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index 1a28091a7e7dd1164ff5376d4f26cf789cd0ae41..4e33d17ab698a69e3cf25e6596991bb715ec8a76 100644 (file)
@@ -2,7 +2,7 @@
 
 
 memcached_dump
-**************
+--------------
 
 
 Get a list of keys found on memcached servers
@@ -16,9 +16,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -39,9 +39,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 memcached_dump() is used to get a list of keys found  memcached(1) servers.
@@ -49,7 +49,7 @@ Because memcached(1) does not guarentee 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 binar protocol is not supported.
+Currently the binar protocol is not testsed.
 
 
 ******
@@ -79,9 +79,9 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index 95911809fd4b64cf6c5e52d900d1a10a8208f855..27217b34ee8ddbaefa4866337debbc6d90a50cb6 100644 (file)
@@ -2,7 +2,7 @@
 
 
 memcached_flush
-***************
+--------------*
 
 
 Wipe contents of memcached servers
@@ -16,9 +16,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -32,9 +32,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 memcached_flush() is used to wipe clean the contents of memcached(1) servers.
@@ -72,8 +72,8 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index 2abb0e092cc860f334a56a8c85884809515434ac..2d8a5b7f9119e1a7bd87aafba52acc1190d682d1 100644 (file)
@@ -2,7 +2,7 @@
 
 
 memcached_flush_buffers
-***********************
+----------------------*
 
 
 Flush buffers and send buffered commands
@@ -16,9 +16,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -31,9 +31,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 memcached_flush_buffers() is used in conjunction with 
@@ -68,9 +68,9 @@ AUTHOR
 Trond Norbye, <trond.norbye@gmail.com>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index 6eb7cf17bdbf1f244da185dd865da788d2d43f66..7094f9f1e1be86d79891da1fa68eeccf29887ab5 100644 (file)
@@ -2,7 +2,7 @@
 
 
 memcached_generate_hash_value
-*****************************
+---------------------------**
 
 
 Hash a key value
@@ -16,9 +16,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -38,9 +38,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 memcached_generate_hash_value() allows you to hash a key using one of
@@ -56,7 +56,7 @@ the hash value that would have been generated based on the defaults
 of the memcached_st structure.
 
 As of version 0.36 all hash methods have been placed into the library
-libhashkit(3) which is linked with libmemcached(3).
+libmemcached(3) which is linked with libmemcached(3).
 
 
 ******
@@ -86,9 +86,9 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index 9c90dc680107fad607e5f367801b7ba8fd86cbc5..5f62532cee133cbb1084e01d5c9832f97882e426 100644 (file)
@@ -1,8 +1,6 @@
-.. highlight:: perl
-
-
-memcached_get, memcached_mget, memcached_fetch, memcached_mget_execute, memcached_mget_execute_by_key
-*****************************************************************************************************
+===============================
+Retrieving data from the server
+===============================
 
 
 Get a value
@@ -16,9 +14,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -94,9 +92,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 memcached_get() is used to fetch an individual value from the server. You
@@ -163,7 +161,7 @@ as memcached_get() and memcached_mget(). The difference is that they take
 a master key that is used for determining which server an object was stored
 if key partitioning was used for storage.
 
-All of the above functions are not supported when the \ ``MEMCACHED_BEHAVIOR_USE_UDP``\ 
+All of the above functions are not testsed when the \ ``MEMCACHED_BEHAVIOR_USE_UDP``\ 
 has been set. Executing any of these functions with this behavior on will result in
 \ ``MEMCACHED_NOT_SUPPORTED``\  being returned or, for those functions which do not return
 a \ ``memcached_return_t``\ , the error function parameter will be set to
@@ -201,8 +199,8 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index 540565aefdcff326e7bc67d8f749259fdbeb619a..46e03733c3c0e4d20f54268de937b18b98f5e5b9 100644 (file)
@@ -1,24 +1,22 @@
-.. highlight:: perl
-
-
-memcached_set_memory_allocators, memcached_get_memory_allocators, memcached_set_memory_allocators_context
-*********************************************************************************************************
+========================================
+Use custom allocators for embedded usage
+========================================
 
 
 Manage memory allocator functions
 
 
-*******
+-------
 LIBRARY
-*******
+-------
 
 
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -26,52 +24,29 @@ SYNOPSIS
 
    #include <libmemcached/memcached.h>
  
-   memcached_return_t
-     memcached_set_memory_allocators (memcached_st *ptr,
-                                      memcached_malloc_fn mem_malloc,
-                                      memcached_free_fn mem_free,
-                                      memcached_realloc_fn mem_realloc,
-                                      memcached_calloc_fn mem_calloc,
-                                    void *context);
+   memcached_return_t memcached_set_memory_allocators (memcached_st *ptr, memcached_malloc_fn mem_malloc, memcached_free_fn mem_free, memcached_realloc_fn mem_realloc, memcached_calloc_fn mem_calloc, void *context);
  
-   void
-     memcached_get_memory_allocators (memcached_st *ptr,
-                                      memcached_malloc_fn *mem_malloc,
-                                      memcached_free_fn *mem_free,
-                                      memcached_realloc_fn *mem_realloc,
-                                      memcached_calloc_fn *mem_calloc);
+   void memcached_get_memory_allocators (memcached_st *ptr, memcached_malloc_fn *mem_malloc, memcached_free_fn *mem_free, memcached_realloc_fn *mem_realloc, memcached_calloc_fn *mem_calloc);
  
-   void * 
-     memcached_get_memory_allocators_context(const memcached_st *ptr);
+   void * memcached_get_memory_allocators_context(const memcached_st *ptr);
  
-   void *
-     (*memcached_malloc_fn) (memcached_st *ptr, const size_t size,
-                           void *context);
+   void * (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, void *context);
  
-   void *
-     (*memcached_realloc_fn) (memcached_st *ptr, void *mem,
-                              const size_t size,
-                            void *context);
+   void * (*memcached_realloc_fn) (memcached_st *ptr, void *mem, const size_t size, void *context);
  
-   void
-     (*memcached_free_fn) (memcached_st *ptr, void *mem,
-                         void *context);
+   void (*memcached_free_fn) (memcached_st *ptr, void *mem, void *context);
  
-   void *
-   (*memcached_calloc_fn) (memcached_st *ptr,
-                         size_t nelem,
-                           const size_t elsize,
-                         void *context);
+   void * (*memcached_calloc_fn) (memcached_st *ptr, size_t nelem, const size_t elsize, void *context);
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 libmemcached(3) allows you to specify your own memory allocators optimized
-for your application.
+for your application. This enables libmemcached to be used inside of applications that have their own malloc implementation.
 
 memcached_set_memory_allocators() is used to set the memory allocators used
 by the memcached instance specified by ptr. Please note that you cannot
@@ -91,9 +66,9 @@ memcached structure, the is passed as const and you will need to clone
 it in order to make use of any operation which would modify it.
 
 
-*****
+-----
 NOTES
-*****
+-----
 
 
 In version 0.38 all functions were modified to have a context void pointer
@@ -101,35 +76,26 @@ passed to them. This was so that customer allocators could have their
 own space for memory.
 
 
-******
+------
 RETURN
-******
+------
 
 
 memcached_set_memory_allocators() return MEMCACHED_SUCCESS upon success,
 and MEMCACHED_FAILURE if you don't pass a complete set of function pointers.
 
 
-****
+----
 HOME
-****
+----
 
 
 To find out more information please check:
 `https://launchpad.net/libmemcached <https://launchpad.net/libmemcached>`_
 
 
-******
-AUTHOR
-******
-
-
-Trond Norbye, <trond.norbye@gmail.com>
-Brian Aker, <brian@tangent.orf<gt>
-
-
-********
+--------
 SEE ALSO
-********
+--------
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index bef768df2095708e4f0b941dc9ef0ada3ab73332..9f842738b82b794b8ca3c336dd6c136a3faaab93 100644 (file)
@@ -1,8 +1,6 @@
-.. highlight:: perl
-
-
-memcached_pool_create, memcached_pool_destroy, memcached_pool_push, memcached_pool_pop
-**************************************************************************************
+============================
+Working with memcached pools
+============================
 
 
 Manage pools
@@ -16,9 +14,9 @@ LIBRARY
 C Client Library for memcached (libmemcachedutil, -lmemcachedutil)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -26,35 +24,25 @@ SYNOPSIS
 
    #include <libmemcached/memcached_pool.h>
  
-   memcached_pool_st *
-     memcached_pool_create(memcached_st* mmc, int initial, int max);
+   memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max);
  
-   memcached_st *
-     memcached_pool_destroy(memcached_pool_st* pool);
+   memcached_st * memcached_pool_destroy(memcached_pool_st* pool);
  
-   memcached_st *
-     memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
+   memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc);
  
-   memcached_return_t
-     memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
+   memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc);
  
    memcached_st *memcached_create (memcached_st *ptr);
  
-   memcached_return_t
-     memcached_pool_behavior_set(memcached_pool_st *pool,
-                                 memcached_behavior_t flag,
-                                 uint64_t data)
+   memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data)
  
-   memcached_return_t
-     memcached_pool_behavior_get(memcached_pool_st *pool,
-                                 memcached_behavior_t flag,
-                                 uint64_t *value)
+   memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value)
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 memcached_pool_create() is used to create a connection pool of objects you
@@ -125,8 +113,8 @@ AUTHOR
 Trond Norbye, <trond.norbye@gmail.com>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index 99a91fb68330331d1c21d6fc864831d8d092a2a2..7cdbe05c807097d9d5ed79509ab4432af1dbdc6f 100644 (file)
@@ -2,7 +2,7 @@
 
 
 memcached_quit
-**************
+--------------
 
 
 Disconnect from all servers
@@ -16,9 +16,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -30,9 +30,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 memcached_quit() will disconnect you from all currently connected servers.
@@ -73,8 +73,8 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index c96c46053a43afc3fecabf620e9fae9b17c2757b..058b743f7eb7496986854a8bb1e12df338710e70 100644 (file)
@@ -1,8 +1,6 @@
-.. highlight:: perl
-
-
-memcached_result_create, memcached_result_free, memcached_result_key_value, memcached_result_key_length, memcached_result_value, memcached_result_length, memcached_result_flags, memcached_result_cas
-******************************************************************************************************************************************************************************************************
+========================
+Working with result sets
+========================
 
 
 Work with memcached_result_st
@@ -16,9 +14,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -54,9 +52,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 libmemcached(3) can optionally return a memcached_result_st which acts as a
@@ -93,7 +91,7 @@ current result object.
 
 memcached_result_cas() returns the cas associated with the
 current result object. This value will only be available if the server
-supports it.
+testss it.
 
 memcached_result_set_value() takes a byte array and a size and sets
 the result to this value. This function is used for trigger responses.
@@ -137,8 +135,8 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index 155d64df3edbb6b2a6ca452931c33b30a3318a85..74a4e919e6da65395e2987de9420490af35c7ca6 100644 (file)
@@ -2,10 +2,10 @@
 
 
 memcached_set_sasl_callbacks, memcached_get_sasl_callbacks, memcached_sasl_set_auth_data, memcached_destroy_sasl_auth_data
-**************************************************************************************************************************
+------------------------------------------------------------------------------------------------------------------------**
 
 
-SASL support
+SASL tests
 
 
 *******
@@ -16,9 +16,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -38,9 +38,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 libmemcached(3) allows you to plug in your own callbacks function used by
@@ -88,9 +88,9 @@ AUTHOR
 Trond Norbye, <trond.norbye@gmail.com>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index 9c7a9e311ed1d746809e65a0fa8f5be116c8124c..eff7bf929857ba1b0aed8d18f2199c3eb2c4d045 100644 (file)
@@ -14,9 +14,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -46,9 +46,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 libmemcached(3) operates on a list of hosts which are stored in
@@ -106,9 +106,9 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index f2a6d259dc2eb8164dab8878f38abe17d977e165..2575a78c9be477a0aa28b56a4b681e0f33d2e6bc 100644 (file)
@@ -1,8 +1,6 @@
-.. highlight:: perl
-
-
-memcached_server_count, memcached_server_list, memcached_server_add, memcached_server_push, memcached_server_get_last_disconnect, memcached_server_cursor
-*********************************************************************************************************************************************************
+========================================================
+Manipulate the server information stored in memcached_st
+========================================================
 
 
 Manage server list
@@ -16,9 +14,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -28,44 +26,25 @@ SYNOPSIS
  
    uint32_t memcached_server_count (memcached_st *ptr);
  
-   memcached_return_t
-     memcached_server_add (memcached_st *ptr,
-                           const char *hostname,
-                           in_port_t port);
-   memcached_return_t
-     memcached_server_add_udp (memcached_st *ptr,
-                             const char *hostname,
-                             in_port_t port);
+   memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port);
  
-   memcached_return_t
-     memcached_server_add_unix_socket (memcached_st *ptr,
-                                       const char *socket);
+   memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port);
  
-   memcached_return_t
-     memcached_server_push (memcached_st *ptr,
-                            const memcached_server_st *list);
+   memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket);
  
-   memcached_server_instance_st
-     memcached_server_by_key (const memcached_st *ptr,
-                              const char *key,
-                            size_t key_length,
-                              memcached_return_t *error);
+   memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list); 
+
+   memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error);
  
-   memcached_server_instance_st
-     memcached_server_get_last_disconnect (const memcached_st *ptr)
+   memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr)
  
-   memcached_return_t
-     memcached_server_cursor(const memcached_st *ptr,
-                           const memcached_server_fn *callback,
-                           void *context,
-                           uint32_t number_of_callbacks);
+   memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks);
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 libmemcached(3) performs operations on a list of hosts. The order of these
@@ -135,17 +114,9 @@ To find out more information please check:
 `https://launchpad.net/libmemcached <https://launchpad.net/libmemcached>`_
 
 
-******
-AUTHOR
-******
-
-
-Brian Aker, <brian@tangent.org>
-
-
-********
+--------
 SEE ALSO
-********
+--------
 
 
 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index 9a5e58ad575ec25e8067522f6a2d37db8e441f89..099d1559f70f2f013fd240617aea6211696bd71c 100644 (file)
@@ -126,7 +126,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to
 store information on the server. All methods take a key, and its length to
 store the object. Keys are currently limited to 250 characters by the
 memcached(1) server. You must also supply a value and a length. Optionally you
-may support an expiration time for the object and a 16 byte value (it is
+may tests an expiration time for the object and a 16 byte value (it is
 meant to be used as a bitmap).
 
 memcached_set() will write an object to the server. If an object already
@@ -149,7 +149,7 @@ data stored. Currently expiration and key are not used in the server.
 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 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 support
+that this note was written cas is still buggy in memached. Turning on tests
 for it in libmemcached(3) is optional. Please see memcached_set() for 
 information on how to do this.
 
@@ -162,7 +162,7 @@ objects to particular servers.
 If you are looking for performance, memcached_set() with non-blocking IO is 
 the fastest way to store data on the server.
 
-All of the above functions are supported with the \ ``MEMCACHED_BEHAVIOR_USE_UDP``\ 
+All of the above functions are testsed with the \ ``MEMCACHED_BEHAVIOR_USE_UDP``\ 
 behavior enabled. But 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 Memcahed Server does not allow multi-datagram requests
index 4a5fbdb590fcff1679054858126a76539096fa84..5fa154428ea0a2a46fc8cd1e1578f50cb3129904 100644 (file)
@@ -14,9 +14,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -52,9 +52,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 libmemcached(3) has the ability to query a memcached server (or collection
@@ -120,9 +120,9 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 memcached(1) libmemcached(3) memcached_strerror(3)
index 18e21c60101086b0b09f50e3b1b7b3fe0f23490a..c852af5b74a9bfd13bfa209099d0bbcbf39fdb75 100644 (file)
@@ -11,9 +11,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -27,9 +27,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 memcached_strerror() takes a \ ``memcached_return_t``\  value and returns a string
@@ -68,9 +68,9 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 memcached(1) libmemcached(3)
index 2032cbd375f428f3339718762b2841043d988262..9b10af8dbed97d294414f9eb35fddd629c29ce84 100644 (file)
@@ -14,9 +14,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -30,9 +30,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 libmemcached(3) allows you to store a pointer to a user specific data inside
@@ -74,9 +74,9 @@ AUTHOR
 Trond Norbye, <trond.norbye@gmail.com>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 memcached(1) libmemcached(3)
index 0e751a02903b1b433f3795220114041a7d2d4cc5..15264aecf25e80189cab57648073ed7eb5aa9da2 100644 (file)
@@ -14,9 +14,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -30,9 +30,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 memcached_verbosity() modifies the "verbosity" of the
@@ -66,9 +66,9 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 memcached(1) libmemcached(3) memcached_strerror(3)
index f00bef4ec68da23c4db027b04b922ad37cbb39b8..022dbec17d788442f9bddb140b64ab72900c7c52 100644 (file)
@@ -14,9 +14,9 @@ LIBRARY
 C Client Library for memcached (libmemcached, -lmemcached)
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -33,9 +33,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 memcached_lib_version() is used to return a simple version string representing
@@ -78,9 +78,9 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 memcached(1) libmemcached(3) memcached_strerror(3)
index 65dbd2092f78a5bfc59b637e536f1d44f4851c1f..619adc6a05e8742afe5f5bd3fa37b98eccaa2d4e 100644 (file)
@@ -6,9 +6,9 @@ Checking you Memcached server capibilities and compatibility
 Check memcached server capabilities
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -18,9 +18,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 \ **memcapable**\  connects to the specified memcached server and tries to
@@ -33,7 +33,7 @@ OPTIONS
 *******
 
 
-The following options are supported:
+The following options are testsed:
 
 
 -h hostname
@@ -67,9 +67,9 @@ The following options are supported:
 
 
 
-***********
+-----------
 LIMITATIONS
-***********
+-----------
 
 
 The current version of memcapable will only verify the binary protocol.
@@ -92,9 +92,9 @@ AUTHOR
 Trond Norbye, <trond.norbye@gmail.com>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 memcached(1) libmemcached(3)
index 5203b1447fdc0d204b82faa8480f7dcef09f3362..96d3422e2e3bcc5644194412cc1722f3be05985c 100644 (file)
@@ -6,9 +6,9 @@ memcat
 Copy a set of keys to stdout
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -18,9 +18,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 \ **memcat**\  outputs to stdout the value a single or multiple set of keys
@@ -53,9 +53,9 @@ Brian Aker, <brian@tangent.org>
 Mark Atwood <mark@fallenpegasus.com>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 memcached(1) libmemcached(3)
index 222877be3439117afbc2b8c0c8b9c30321b61229..80305589f92e40b9d904fc4f95103a477e99e555 100644 (file)
@@ -6,9 +6,9 @@ memcp
 Copies files to a collection of memcached servers
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -18,9 +18,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 \ **memcp**\  copies one or more files into memcached(1) servers.
@@ -56,9 +56,9 @@ Brian Aker, <brian@tangent.org>
 Mark Atwood, <mark@fallenpegasus.com>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 memcached(1) libmemcached(3)
index 2580b6931cb17864a952ca47b55cdebc84105aa2..be34873c0643de67a912117a5fe2ebda50b3c27e 100644 (file)
@@ -6,9 +6,9 @@ memdump
 Dump a list of keys from a server.
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -18,9 +18,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 \ **memdump**\  currently dumps a list of "keys" from all servers that 
@@ -47,9 +47,9 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 memcached(1) libmemcached(3)
index 9c49ff9e24b2430ffe8770bcef60f2be74d290e0..7e6ca011b1b69e4ea04f94e386729a1d6220451b 100644 (file)
@@ -6,9 +6,9 @@ memerror
 Translate a memcached error code to a string
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -18,9 +18,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 \ **memerror**\  translate an error code from libmemcached(3) to  a human
@@ -46,9 +46,9 @@ AUTHOR
 Brian Aker, <brian@tangent.org>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 memcached(1) libmemcached(3)
index e83f6b1f47f7cb9684ee1066867dd31d0e2e9e7f..8f8b03121ff4552d5dc234784499d3ee5e8749b4 100644 (file)
@@ -6,9 +6,9 @@ memflush
 Reset a server or list of servers
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -18,9 +18,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 \ **memflush**\  resets the contents of memcached(1) servers.
@@ -51,9 +51,9 @@ Brian Aker, <brian@tangent.org>
 Mark Atwood <mark@fallenpegasus.com>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 memcached(1) libmemcached(3)
index 1b2c5314aad8bcd2f3a1382c101d18b40f9a4949..ac358c29bb5eb53e09fde29f4e4061c97917fb66 100644 (file)
@@ -6,9 +6,9 @@ memrm
 memrm - Remove a key(s) from a collection of memcached servers
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -18,9 +18,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 \ **memrm**\  removes items, specified by key, from memcached(1) servers.
@@ -50,9 +50,9 @@ Brian Aker, <brian@tangent.org>
 Mark Atwood, <mark@fallenpegasus.com>
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 memcached(1) libmemcached(3)
index 0f180ea5a32fb74b1db3fa4d99bd9a86ac757319..62cf2a3a4d06195c8276978a971457642fe8129c 100644 (file)
@@ -6,1252 +6,31 @@ memslap
 memslap - Load testing and benchmarking tool for memcached
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
+.. program::  memslap [options]
 
-.. code-block:: perl
 
-   memslap [options]
-
-
-
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 \ **memslap**\  is a load generation and benchmark tool for memcached(1)
 servers. It generates configurable workload such as threads, concurrencies, connections,
 run time, overwrite, miss rate, key size, value size, get/set proportion,
-expected throughput, and so on. Furthermore, it also supports data
-verification, expire-time verification, UDP, binary protocol, facebook test,
-replication test, multi-get and reconnection, etc.
-
-Memslap manages network connections like memcached with
-libevent. Each thread of memslap is bound with a CPU core, all
-the threads don't communicate with each other, and there are several socket
-connections in each thread. Each connection keeps key size distribution,
-value size distribution, and command distribution by itself.
+expected throughput, and so on. 
 
 You can specify servers via the \ **--servers**\  option or via the
 environment variable \ ``MEMCACHED_SERVERS``\ .
 
 
-********
-FEATURES
-********
-
-
-Memslap is developed to for the following purposes:
-
-
-Manages network connections with libevent asynchronously.
-
-
-
-Set both TCP and UDP up to use non-blocking IO.
-
-
-
-Improves parallelism: higher performance in multi-threads environments.
-
-
-
-Improves time efficiency: faster processing speed.
-
-
-
-Generates key and value more efficiently; key size distribution and value size distribution are configurable.
-
-
-
-Supports get, multi-get, and set commands; command distribution is configurable.
-
-
-
-Supports controllable miss rate and overwrite rate.
-
-
-
-Supports data and expire-time verification.
-
-
-
-Supports dumping statistic information periodically.
-
-
-
-Supports thousands of TCP connections.
-
-
-
-Supports binary protocol.
-
-
-
-Supports facebook test (set with TCP and multi-get with UDP) and replication test.
-
-
-
-
-*******
-DETAILS
-*******
-
-
-Effective implementation of network.
-====================================
-
-
-For memslap, both TCP and UDP use non-blocking network IO. All
-the network events are managed by libevent as memcached. The network module
-of memslap is similar to memcached. Libevent can ensure
-memslap can handle network very efficiently.
-
-
-Effective implementation of multi-threads and concurrency
-=========================================================
-
-
-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 supports 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
-communicate with each other even though they are in the same thread.
-
-Memslap can create thousands of socket connections, and each
-concurrency has tens of socket connections. Each concurrency randomly or
-sequentially selects one socket connection from its socket connection pool
-to run, so memslap can ensure each concurrency handles one
-socket connection at any given time. Users can specify the number of
-concurrency and socket connections of each concurrency according to their
-expected workload.
-
-
-Effective implementation of generating key and value
-====================================================
-
-
-In order to improve time efficiency and space efficiency, 
-memslap creates a random characters table with 10M characters. All the
-suffixes of keys and values are generated from this random characters table.
-
-Memslap uses the offset in the character table and the length
-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, 
-memslap 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 memslap has an algorithm to ensure that.
-
-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
-length, value offset in the character table, and value length.
-
-In the work process, each concurrency sequentially or randomly selects an
-object from the window to do set operation or get operation. At the same
-time, each concurrency kicks objects out of its window and adds new object
-into it.
-
-
-Simple but useful task scheduling
-=================================
-
-
-Memslap uses libevent to schedule all the concurrencies 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
-outside, memslap keeps all the distribution as a whole. 
-Each task window includes a lot of objects, each object stores its basic
-information, such as key, value, expire time, and so on. At any time, all
-the objects in the window keep the same and fixed key and value
-distribution. If an object is overwritten, the value of the object will be
-updated. Memslap verifies the data or expire-time according to
-the object information stored in the task window.
-
-Libevent selects which concurrency to handle based on a specific network
-event. Then the concurrency selects which command (get or set) to operate
-based on the command distribution. If it needs to kick out an old object and
-add a new object, in order to keep the same key and value distribution, the
-new object must have the same key length and value length.
-
-If memcached server has two cache layers (memory and SSD), running
-memslap with different window sizes can get different cache
-miss rates. If memslap adds enough objects into the windows at
-the beginning, and the cache of memcached cannot store all the objects
-initialized, then memslap will get some objects from the second
-cache layer. It causes the first cache layer to miss. So the user can
-specify the window size to get the expected miss rate of the first cache
-layer.
-
-
-Useful implementation of multi-servers , UDP, TCP, multi-get and binary protocol
-================================================================================
-
-
-Because each thread is self-governed, memslap can assign
-different threads to handle different memcached servers. This is just one of
-the ways in which memslap supports multiple servers. The only
-limitation is that the number of servers cannot be greater than the number
-of threads. The other way to support multiple servers is for replication
-test. Each concurrency has one socket connection to each memcached server.
-For the implementation, memslap can set some objects to one
-memcached server, and get these objects from the other servers.
-
-By default, Memslap does single get. If the user specifies
-multi-get option, memslap will collect enough get commands and
-pack and send the commands together.
-
-Memslap supports 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
-supports UDP. Because UDP is unreliable, dropped packages and out-of-order
-packages may occur. Memslap creates a memory buffer to handle
-these problems. Memslap tries to read all the response data of
-one command from the server and reorders the response data. If some packages
-get lost, the waiting timeout mechanism can ensure half-baked packages will
-be discarded and the next command will be sent.
-
-
-
-*****
-USAGE
-*****
-
-
-Below are some usage samples:
-
-
-memslap -s 127.0.0.1:11211 -S 5s
-
-
-
-memslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b
-
-
-
-memslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2
-
-
-
-memslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k
-
-
-
-memslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40
-
-
-
-memslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m
-
-
-
-memslap -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 memslap. The
-rest of the parameters have default values, as shown below:
-
-Thread number = 1                    Concurrency = 16
-
-Run time = 600 seconds                Configuration file = NULL
-
-Key size = 64                         Value size = 1024
-
-Get/set = 9:1                         Window size = 10k
-
-Execute number = 0                   Single get = true
-
-Multi-get = false                      Number of sockets of each concurrency = 1
-
-Reconnect = false                     Data verification = false
-
-Expire-time verification = false           ASCII protocol = true
-
-Binary protocol = false                 Dumping statistic information
-
-periodically = false
-
-Overwrite proportion = 0%             UDP = false
-
-TCP = true                           Limit throughput = 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,
-memslap 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.
-
-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
-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, memslap only supports set and get commands. And it
-supports 100% set and 100% get. For 100% get, it will preset some objects to
-the server.
-
-
-Multi-thread and concurrency
-============================
-
-
-The high performance of memslap benefits from the special
-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
-specify these variables.
-
-If the system supports setting CPU affinity and the number of threads
-specified by the user is greater than 1, memslap will try to
-bind each thread to a different CPU core. So if you want to get the best
-performance memslap, it is better to specify the number of
-thread equal to the number of CPU cores. The number of threads specified by
-the user can also be less or greater than the number of CPU cores. Because
-of the limitation of implementation, the number of concurrencies could be
-the multiple of the number of threads.
-
-1. For 8 CPU cores system
-
-For example:
-
---threads=2 --concurrency=128
-
---threads=8 --concurrency=128
-
---threads=8 --concurrency=256
-
---threads=12 --concurrency=144
-
-2. For 16 CPU cores system
-
-For example:
-
---threads=8 --concurrency=128
-
---threads=16 --concurrency=256
-
---threads=16 --concurrency=512
-
---threads=24 --concurrency=288
-
-The memslap performs very well, when
-used to test the performance of memcached servers.
-Most of the time, the bottleneck is the network or
-the server. If for some reason the user wants to
-limit the performance of memslap, there
-are two ways to do this:
-
-Decrease the number of threads and concurrencies.
-Use the option “--tps” that memslap
-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.
-
-
-Window size
-===========
-
-
-Most of the time, the user does not need to specify the window size. The
-default window size is 10k. For Schooner Memcached, the user can specify
-different window sizes to get different cache miss rates based on the test
-case. Memslap supports cache miss rate between 0% and 100%.
-If you use this utility to test the performance of Schooner Memcached, you
-can specify a proper window size to get the expected cache miss rate. The
-formula for calculating window size is as follows:
-
-Assume that the key size is 128 bytes, and the value size is 2048 bytes, and
-concurrency=128.
-
-1. Small cache cache_size=1M, 100% cache miss (all data get from SSD).
-win_size=10k
-
-2. cache_size=4G
-
-(1). cache miss rate 0%
-
-win_size=8k
-
-(2). cache miss rate 5%
-
-win_size=11k
-
-3. cache_size=16G
-
-(1). cache miss rate 0%
-
-win_size=32k
-
-(2). cache miss
-
-rate 5%
-
-win_size=46k
-
-The formula for calculating window size for cache miss rate 0%:
-
-cache_size / concurrency / (key_size + value_size) \* 0.5
-
-The formula for calculating window size for cache miss rate 5%:
-
-cache_size / concurrency / (key_size + value_size) \* 0.7
-
-
-Verification
-============
-
-
-Memslap supports both data verification and expire-time
-verification. The user can use "--verify=" or "-v" to specify the proportion
-of data verification. In theory, it supports 100% data verification. The
-user can use "--exp_verify=" or "-e" to specify the proportion of
-expire-time verification. In theory, it supports 100% expire-time
-verification. Specify the "--verbose" options to get more detailed error
-information.
-
-For example: --exp_verify=0.01 –verify=0.1 , it means that 1% of the objects 
-set with expire-time, 10% of the objects gotten will be verified. If the
-objects are gotten, memslap will verify the expire-time and
-value.
-
-
-multi-servers and multi-clients
-===============================
-
-
-Memslap supports multi-servers based on self-governed thread.
-There is a limitation that the number of servers cannot be greater than the
-number of threads. Memslap assigns one thread to handle one
-server at least. The user can use the "--servers=" or "-s" option to specify
-multi-servers.
-
-For example:
-
---servers=10.1.1.1:11211,10.1.1.2:11212,10.1.1.3:11213 --threads=6 --concurrency=36
-
-The above command means that there are 6 threads, with each thread having 6
-concurrencies and that threads 0 and 3 handle server 0 (10.1.1.1); threads 1
-and 4 handle server 1 (10.1.1.2); and thread 2 and 5 handle server 2
-(10.1.1.3).
-
-All the threads and concurrencies in memslap are self-governed.
-
-So is memslap. The user can start up several 
-memslap instances. The user can run memslap on different client
-machines to communicate with the same memcached server at the same. It is
-recommended that the user start different memslap on different
-machines using the same configuration.
-
-
-Run with execute number mode or time mode
-=========================================
-
-
-The default memslap runs with time mode. The default run time
-is 10 minutes. If it times out, memslap will exit. Do not
-specify both execute number mode and time mode at the same time; just
-specify one instead.
-
-For example:
-
---time=30s (It means the test will run 30 seconds.)
-
---execute_number=100000 (It means that after running 100000 commands, the test will exit.)
-
-
-Dump statistic information periodically.
-========================================
-
-
-The user can use "--stat_freq=" or "-S" to specify the frequency.
-
-For example:
-
---stat_freq=20s
-
-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.
-
-
-Multi-get
-=========
-
-
-The user can use "--division=" or "-d" to specify multi-get keys count.
-Memslap by default does single get with TCP. Memslap also supports data 
-verification and expire-time verification for multi-get.
-
-Memslap supports 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,
-memslap sends one “multi-get” to the server once. For the
-binary protocol, memslap sends several single get commands
-together as “multi-get” to the server.
-
-
-UDP and TCP
-===========
-
-
-Memslap supports both UDP and TCP. For TCP,
-memslap does not reconnect the memcached server if socket connections are
-lost. If all the socket connections are lost or memcached server crashes,
-memslap 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
-limitations:
-
-UDP cannot set data more than 1400 bytes.
-
-UDP is not supported by the binary protocol because the binary protocol of
-memcached does not support that.
-
-UDP doesn’t support reconnection.
-
-
-Facebook test
-=============
-
-
-Set data with TCP and multi-get with UDP. Specify the following options:
-
-"--facebook --division=50"
-
-If you want to create thousands of TCP connections, specify the
-
-"--conn_sock=" option.
-
-For example: --facebook --division=50 --conn_sock=200
-
-The above command means that memslap will do facebook test,
-each concurrency has 200 socket TCP connections and one UDP socket.
-
-Memslap sets objects with the TCP socket, and multi-gets 50
-objects once with the UDP socket.
-
-If you specify "--division=50", the key size must be less that 25 bytes
-because the UDP packet size is 1400 bytes.
-
-
-Replication test
-================
-
-
-For replication test, the user must specify at least two memcached servers.
-The user can use “—rep_write=” option to enable feature.
-
-For example:
-
---servers=10.1.1.1:11211,10.1.1.2:11212 –rep_write=2
-
-The above command means that there are 2 replication memcached servers,
-memslap will set objects to both server 0 and server 1, get
-objects which are set to server 0 before from server 1, and also get objects
-which are set to server 1 before from server 0. If server 0 crashes,
-memslap will only get objects from server 1. If server 0 comes
-back to life again, memslap will reconnect server 0. If both
-server 0 and server 1 crash, memslap will exit.
-
-
-Supports thousands of TCP connections
-=====================================
-
-
-Start memslap with "--conn_sock=" or "-n" to enable this
-feature. Make sure that your system can support opening thousands of files
-and creating thousands of sockets. However, this feature does not support
-reconnection if sockets disconnect.
-
-For example:
-
---threads=8 --concurrency=128 --conn_sock=128
-
-The above command means that memslap starts up 8 threads, each
-thread has 16 concurrencies, each concurrency has 128 TCP socket
-connections, and the total number of TCP socket connections is 128 \* 128 =
-16384.
-
-
-Supports binary protocol
-========================
-
-
-Start memslap with "--binary" or "-B" options to enable this
-feature. It supports all the above features except UDP, because the latest
-memcached 1.3.3 does not implement binary UDP protocol.
-
-For example:
-
---binary
-
-Since memcached 1.3.3 doesn't implement binary UDP protocol,
-memslap does not support UDP. In addition, memcached 1.3.3 does not support
-multi-get. If you specify "--division=50" option, it just sends 50 get
-commands together as “mulit-get” to the server.
-
-
-
-******************
-Configuration file
-******************
-
-
-This section describes the format of the configuration file.  By default
-when no configuration file is specified memslap reads the default
-one located at ~/.memslap.cnf.
-
-Below is a sample configuration file:
-
-
-.. code-block:: perl
-
-  ***************************************************************************
-  #comments should start with '#'
-  #key 
-  #start_len end_len proportion
-  #
-  #key length range from start_len to end_len
-  #start_len must be equal to or greater than 16
-  #end_len must be equal to or less than 250
-  #start_len must be equal to or greater than end_len
-  #memslap will generate keys according to the key range
-  #proportion: indicates keys generated from one range accounts for the total
-  generated keys  
-  #
-  #example1: key range 16~100 accounts for 80%
-  #          key range 101~200 accounts for 10%
-  #          key range 201~250 accounts for 10%
-  #          total should be 1 (0.8+0.1+0.1 = 1)
-  #
-  #          16 100 0.8  
-  #          101 200 0.1
-  #          201 249 0.1
-  #
-  #example2: all keys length are 128 bytes
-  #
-  #          128 128 1 
-  key
-  128 128 1  
-  #value 
-  #start_len end_len proportion
-  #
-  #value length range from start_len to end_len
-  #start_len must be equal to or greater than 1
-  #end_len must be equal to or less than 1M
-  #start_len must be equal to or greater than end_len
-  #memslap will generate values according to the value range
-  #proportion: indicates values generated from one range accounts for the
-  total generated values  
-  #
-  #example1: value range 1~1000 accounts for 80%
-  #          value range 1001~10000 accounts for 10%
-  #          value range 10001~100000 accounts for 10%
-  #          total should be 1 (0.8+0.1+0.1 = 1)
-  #
-  #          1 1000 0.8  
-  #          1001 10000 0.1
-  #          10001 100000 0.1
-  #
-  #example2: all value length are 128 bytes
-  #
-  #          128 128 1 
-  value
-  2048 2048 1
-  #cmd
-  #cmd_type cmd_proportion
-  #
-  #currently memslap only supports get and set command.
-  #
-  #cmd_type
-  #set     0
-  #get     1
-  #
-  #example: set command accounts for 50%
-  #         get command accounts for 50%
-  #         total should be 1 (0.5+0.5 = 1)
-  #
-  #         cmd
-  #         0    0.5
-  #         1    0.5
-  cmd
-  0    0.1
-  1.0 0.9
-
-
-
-****************
-Format of output
-****************
-
-
-At the beginning, memslap displays some configuration information as follows:
-
-
-servers : 127.0.0.1:11211
-
-
-
-threads count: 1
-
-
-
-concurrency: 16
-
-
-
-run time: 20s
-
-
-
-windows size: 10k
-
-
-
-set proportion: set_prop=0.10
-
-
-
-get proportion: get_prop=0.90
-
-
-
-Where
-=====
-
-
-
-servers : "servers"
- The servers used by memslap.
-
-
-threads count
- The number of threads memslap runs with.
-
-
-concurrency
- The number of concurrencies memslap runs with.
-
-
-run time
- How long to run memslap.
-
-
-windows size
- The task window size of each concurrency.
-
-
-set proportion
- The proportion of set command.
-
-
-get proportion
- The proportion of get command.
-
-
-The output of dynamic statistics is something like this:
-
-
-.. code-block:: perl
-
-  ---------------------------------------------------------------------------------------------------------------------------------
-  Get Statistics
-  Type  Time(s)  Ops   TPS(ops/s)  Net(M/s)  Get_miss  Min(us)  Max(us)
-  Avg(us)  Std_dev    Geo_dist  
-  Period   5   345826  69165     65.3      0         27      2198     203
-  95.43      177.29
-  Global  20  1257935  62896     71.8      0         26      3791     224
-  117.79     192.60
-  
-   
-  Set Statistics
-  Type  Time(s)  Ops   TPS(ops/s)  Net(M/s)  Get_miss  Min(us)  Max(us)
-  Avg(us)  Std_dev    Geo_dist  
-  Period   5    38425   7685      7.3       0         42      628     240
-  88.05      220.21
-  Global   20   139780  6989      8.0       0         37      3790    253
-  117.93     224.83
-  
-   
-  Total Statistics
-  Type  Time(s)  Ops   TPS(ops/s)  Net(M/s)  Get_miss  Min(us)  Max(us)
-  Avg(us)  Std_dev    Geo_dist 
-  Period   5   384252   76850     72.5      0        27      2198     207
-  94.72      181.18
-  Global  20  1397720   69886     79.7      0        26      3791     227
-  117.93     195.60
-  ---------------------------------------------------------------------------------------------------------------------------------
-
-
-
-Where
-=====
-
-
-
-Get Statistics
- Statistics information of get command
-
-
-Set Statistics
- Statistics information of set command
-
-
-Total Statistics
- Statistics information of both get and set command
-
-
-Period
- Result within a period
-
-
-Global
- Accumulated results
-
-
-Ops
- Total operations
-
-
-TPS
- Throughput, operations/second
-
-
-Net
- The rate of network
-
-
-Get_miss
- How many objects can’t be gotten
-
-
-Min
- The minimum response time
-
-
-Max
- The maximum response time
-
-
-Avg:
- The average response time
-
-
-Std_dev
- Standard deviation of response time
-
-
-Geo_dist
- Geometric distribution based on natural exponential function
-
-
-At the end, memslap will output something like this:
-
-
-.. code-block:: perl
-
-   ---------------------------------------------------------------------------------------------------------------------------------
-   Get Statistics (1257956 events)
-     Min:        26
-     Max:      3791
-     Avg:       224
-     Geo:    192.60
-     Std:    116.23
-                     Log2 Dist:
-                       4:        0       10    84490   215345
-                       8:   484890   459823    12543      824
-                      12:       31
-    Set Statistics (139782 events)
-       Min:        37
-       Max:      3790
-       Avg:       253
-       Geo:    224.84
-       Std:    116.83
-       Log2 Dist: 
-         4:        0        0     4200 16988
-         8:    50784    65574 2064      167
-         12:        5
-    
-     Total Statistics (1397738 events)
-         Min:        26
-         Max:      3791
-         Avg:       227
-         Geo:    195.60
-         Std:    116.60
-         Log2 Dist:
-           4:        0       10    88690   232333
-           8:   535674   525397    14607      991
-           12:       36
-   cmd_get: 1257969
-   cmd_set: 139785
-   get_misses: 0
-   verify_misses: 0
-   verify_failed: 0
-   expired_get: 0
-   unexpired_unget: 0
-   written_bytes: 242516030
-   read_bytes: 1003702556
-   object_bytes: 152086080
-   packet_disorder: 0
-   packet_drop: 0
-   udp_timeout: 0
-   Run time: 20.0s Ops: 1397754 TPS: 69817 Net_rate: 59.4M/s
-   ---------------------------------------------------------------------------------------------------------------------------------
-
-
-
-Where
-=====
-
-
-
-Get Statistics
- Get statistics of response time
-
-
-Set Statistics
- Set statistics of response time
-
-
-Total Statistics
- Both get and set statistics of response time
-
-
-Min
- The accumulated and minimum response time
-
-
-Max
- The accumulated and maximum response time
-
-
-Avg
- The accumulated and average response time
-
-
-Std
- Standard deviation of response time
-
-
-Log2 Dist
- Geometric distribution based on logarithm 2
-
-
-cmd_get
- Total get commands done
-
-
-cmd_set
- Total set commands done
-
-
-get_misses
- How many objects can’t be gotten from server
-
-
-verify_misses
- How many objects need to verify but can’t get them
-
-
-verify_failed
- How many objects with insistent value
-
-
-expired_get
- How many objects are expired but we get them
-
-
-unexpired_unget
- How many objects are unexpired but we can’t get them
-
-
-written_bytes
- Total written bytes
-
-
-read_bytes
- Total read bytes
-
-
-object_bytes
- Total object bytes
-
-
-packet_disorder
- How many UDP packages are disorder
-
-
-packet_drop
- How many UDP packages are lost
-
-
-udp_timeout
- How many times UDP time out happen
-
-
-Run time
- Total run time
-
-
-Ops
- Total operations
-
-
-TPS
- Throughput, operations/second
-
-
-Net_rate
- The average rate of network
-
-
-
-
-*******
-OPTIONS
-*******
-
-
--s, --servers=
-    List one or more servers to connect. Servers count must be less than
-    threads count. e.g.: --servers=localhost:1234,localhost:11211
-
--T, --threads=
-    Number of threads to startup, better equal to CPU numbers. Default 8.
-
--c, --concurrency=
-    Number of concurrency to simulate with load. Default 128.
-
--n, --conn_sock=
-    Number of TCP socks per concurrency. Default 1.
-
--x, --execute_number=
-    Number of operations(get and set) to execute for the
-    given test. Default 1000000.
-
--t, --time=
-    How long the test to run, suffix: s-seconds, m-minutes, h-hours,
-    d-days e.g.: --time=2h.
-
--F, --cfg_cmd=
-    Load the configure file to get command,key and value distribution list.
-
--w, --win_size=
-    Task window size of each concurrency, suffix: K, M e.g.: --win_size=10k.
-    Default 10k.
-
--X, --fixed_size=
-    Fixed length of value.
-
--v, --verify=
-    The proportion of date verification, e.g.: --verify=0.01
-
--d, --division=
-    Number of keys to multi-get once. Default 1, means single get.
-
--S, --stat_freq=
-    Frequency of dumping statistic information. suffix: s-seconds,
-    m-minutes, e.g.: --resp_freq=10s.
-
--e, --exp_verify=
-    The proportion of objects with expire time, e.g.: --exp_verify=0.01.
-    Default no object with expire time
-
--o, --overwrite=
-    The proportion of objects need overwrite, e.g.: --overwrite=0.01.
-    Default never overwrite object.
-
--R, --reconnect 
-    Reconnect support, when connection is closed it will be reconnected.
-
--U, --udp 
-    UDP support, default memslap uses TCP, TCP port and UDP port of
-    server must be same.
-
--a, --facebook 
-    Whether it enables facebook test feature, set with TCP and multi-get with UDP.
-
--B, --binary 
-    Whether it enables binary protocol. Default with ASCII protocol.
-
--P, --tps=
-    Expected throughput, suffix: K, e.g.: --tps=10k.
-
--p, --rep_write=
-    The first nth servers can write data, e.g.: --rep_write=2.
-
--b, --verbose 
-    Whether it outputs detailed information when verification fails.
-
--h, --help 
-    Display this message and then exit.
-
--V, --version 
-    Display the version of the application and then exit.
-
-
-********
-EXAMPLES
-********
-
-
-memslap -s 127.0.0.1:11211 -S 5s
-
-memslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b
-
-memslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2
-
-memslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k
-
-memslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40
-
-memslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m
-
-memslap -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://launchpad.org/libmemcached <http://launchpad.org/libmemcached>`_
-
-
-*******
-AUTHORS
-*******
-
-
-Mingqiang Zhuang <mingqiangzhuang@hengtiansoft.com> (Schooner Technolgy)
-Brian Aker, <brian@tangent.org>
-
-
-********
+--------
 SEE ALSO
-********
-
+--------
 
-memcached(1) libmemcached(3)
 
+:manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`
index b22a47f90e03c37d6d12238b562e5e3bb8bec74d..78e369bb5861679408b8f97df82a14bacd9d1fec 100644 (file)
@@ -6,9 +6,9 @@ memstat
 memstat - Display the operating status of a single or group of memcached servers
 
 
-********
+--------
 SYNOPSIS
-********
+--------
 
 
 
@@ -18,9 +18,9 @@ SYNOPSIS
 
 
 
-***********
+-----------
 DESCRIPTION
-***********
+-----------
 
 
 \ **memstat**\  dumps the state of memcached(1) servers.
@@ -43,9 +43,9 @@ To find out more information please check:
 `http://launchpad.org/libmemcached <http://launchpad.org/libmemcached>`_
 
 
-********
+--------
 SEE ALSO
-********
+--------
 
 
 memcached(1) libmemcached(3)