From: Brian Aker Date: Wed, 13 Apr 2011 14:07:37 +0000 (-0700) Subject: Merge in all new docs X-Git-Tag: 0.51~16 X-Git-Url: https://git.m6w6.name/?a=commitdiff_plain;h=7f1777bbeaa41f71567f20350cb2555f2d9466da;hp=30e386cd241ac56fd9205d12c143761475307705;p=awesomized%2Flibmemcached Merge in all new docs --- diff --git a/docs/conf.py b/docs/conf.py index d4cd9f9c..47025e4b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -270,6 +270,7 @@ man_pages = [ ('memcached_memory_allocators', 'memcached_set_memory_allocators', u'libmemcached Documentation', [u'Brian Aker'], 3), ('memcached_memory_allocators', 'memcached_set_memory_allocators_context', u'libmemcached Documentation', [u'Brian Aker'], 3), ('memcached_pool', 'memcached_pool', u'libmemcached Documentation', [u'Brian Aker'], 3), + ('memcached_pool', 'memcached_pool_st', u'libmemcached Documentation', [u'Brian Aker'], 3), ('memcached_pool', 'memcached_pool_behavior_get', u'libmemcached Documentation', [u'Brian Aker'], 3), ('memcached_pool', 'memcached_pool_behavior_set', u'libmemcached Documentation', [u'Brian Aker'], 3), ('memcached_pool', 'memcached_pool_create', u'libmemcached Documentation', [u'Brian Aker'], 3), diff --git a/docs/include.am b/docs/include.am index 28cea239..37ea1565 100644 --- a/docs/include.am +++ b/docs/include.am @@ -46,7 +46,8 @@ EXTRA_DIST+= \ docs/memflush.rst \ docs/memrm.rst \ docs/memslap.rst \ - docs/memstat.rst + docs/memstat.rst \ + docs/tap.rst # Makefile for Sphinx documentation # @@ -130,6 +131,7 @@ man_MANS+= \ docs/man/memcached_pool_destroy.3 \ docs/man/memcached_pool_pop.3 \ docs/man/memcached_pool_push.3 \ + docs/man/memcached_pool_st.3 \ docs/man/memcached_prepend.3 \ docs/man/memcached_prepend_by_key.3 \ docs/man/memcached_quit.3 \ diff --git a/docs/index.rst b/docs/index.rst index 00a437d8..79ce45e2 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,36 +6,77 @@ Welcome to the libmemcached documentation Libmemcached ------------ + +###### +Basics +###### + + .. toctree:: :maxdepth: 1 libmemcached + memcached_create libmemcached_examples libmemcached_configuration - memcached_analyze + + +################# +Working with data +################# + +.. toctree:: + :maxdepth: 1 + memcached_auto - memcached_behavior - memcached_callback - memcached_create memcached_delete - memcached_dump memcached_flush_buffers memcached_flush - memcached_generate_hash_value memcached_get + memcached_result_st + memcached_set + + +############### +Advanced Topics +############### + +.. toctree:: + :maxdepth: 1 + + memcached_behavior + memcached_callback + memcached_dump + memcached_generate_hash_value memcached_memory_allocators memcached_quit - memcached_result_st memcached_sasl - memcached_servers memcached_server_st - memcached_set - memcached_stats + memcached_servers memcached_strerror memcached_user_data memcached_verbosity memcached_version +################# +Platform Specific +################# + +.. toctree:: + :maxdepth: 1 + + tap + +################################# +Deriving statistics from a server +################################# + +.. toctree:: + :maxdepth: 1 + + memcached_analyze + memcached_stats + ---------------- Libmemcachedutil ---------------- @@ -76,6 +117,7 @@ Libhashkit hashkit_functions hashkit_value +================== Indices and tables ================== diff --git a/docs/libmemcached.rst b/docs/libmemcached.rst index c60cf99c..ddf3108e 100644 --- a/docs/libmemcached.rst +++ b/docs/libmemcached.rst @@ -39,8 +39,11 @@ 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 testsed in the library. Using the key partioning -functions it is possible to group sets of object onto servers. +Objects are stored on servers by hashing keys. The hash value maps the key to a particular server. All clients understand how this hashing works, so it is possibly to reliably both push data to a server and retrieve data from a server. + +Group keys can be optionally used to group sets of objects with servers. + +Namespaces are supported, and can be used to partition caches so that multiple applications can use the same memcached servers. \ ``memcached_st``\ structures are thread-safe, but each thread must contain its own structure (that is, if you want to share these among diff --git a/docs/libmemcached_configuration.rst b/docs/libmemcached_configuration.rst index 10103f50..05b2af8e 100644 --- a/docs/libmemcached_configuration.rst +++ b/docs/libmemcached_configuration.rst @@ -24,7 +24,6 @@ Libmemcached implements a custom language for configuring and modifying servers. By passing in an option string you can generate a memcached_st object that you can use in your application directly. - .. describe:: --SERVER=:/? Provide a servername to be used by the client. Providing a weight will cause weighting to occur with all hosts with each server getting a default weight of 1. @@ -61,27 +60,66 @@ Set the distribution model used by the client. See :manpage:`` for more details Set the hashing alogrthm used for placing keys on servers. -.. describe:: --HASH-WITH-PREFIX_KEY - -.. describe:: --IO-BYTES-WATERMARK= +.. describe:: --HASH-WITH-NAMESPACE -.. describe:: --IO-KEY-PREFETCH= - -.. describe:: --IO-MSG-WATERMARK= +When enabled the prefix key will be added to the key when determining which +server to store the data in. .. describe:: --NOREPLY +Enable "no reply" for all calls that support this. It is highly recommended +that you use this option with the binary protocol only. + .. describe:: --NUMBER-OF-REPLICAS= Set the nummber of servers that keys will be replicated to. -.. describe:: --POLL-TIMEOUT= - .. describe:: --RANDOMIZE-REPLICA-READ Select randomly the server within the replication pool to read from. -.. describe:: --RCV-TIMEOUT= +.. describe:: --SORT-HOSTS + +When adding new servers always calculate their distribution based on sorted naming order. + +.. describe:: --SUPPORT-CAS + +See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SUPPORT_CAS + +.. describe:: --USE-UDP + +See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_USE_UDP + +.. describe:: --NAMESPACE= + +A namespace is a container that provides context for keys, only other +requests that know the namespace can access these values. This is +accomplished by prepending the namespace value to all keys. + + +********************** +Mecached Pool Options: +********************** + +.. describe:: --POOL-MIN + +Initial size of pool. + +.. describe:: --POOL-MAX + +Maximize size of the pool. + +************ +I/O Options: +************ + +.. describe:: --TCP-NODELAY + +See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_TCP_NODELAY + +.. describe:: --TCP-KEEPALIVE + +See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_TCP_KEEPALIVE .. describe:: --RETRY-TIMEOUT= @@ -103,29 +141,26 @@ See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE -.. describe:: --SORT-HOSTS - -When adding new servers always calculate their distribution based on sorted naming order. +.. describe:: --POLL-TIMEOUT= -.. describe:: --SUPPORT-CAS +That sets the value of the timeout used by :manpage: `poll()`. -See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SUPPORT_CAS +.. describe:: --IO-BYTES-WATERMARK= -.. describe:: --TCP-NODELAY +.. describe:: --IO-KEY-PREFETCH= -See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_TCP_NODELAY +.. describe:: --IO-MSG-WATERMARK= -.. describe:: --TCP-KEEPALIVE +.. describe:: --TCP-KEEPIDLE -See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_TCP_KEEPALIVE +.. describe:: --RCV-TIMEOUT= -.. describe:: --TCP-KEEPIDLE -.. describe:: --USE-UDP -See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_USE_UDP +****** +Other: +****** -.. describe:: --PREFIX-KEY= .. describe:: INCLUDE diff --git a/docs/libmemcached_examples.rst b/docs/libmemcached_examples.rst index 922ee143..5c3acf6a 100644 --- a/docs/libmemcached_examples.rst +++ b/docs/libmemcached_examples.rst @@ -13,9 +13,9 @@ 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. ------------------------------- -Creating and Freeing structure ------------------------------- +----------------------------------------------- +Creating and Freeing the memcached_st structure +----------------------------------------------- .. code-block:: c @@ -51,6 +51,43 @@ Connecting to servers In the above code you create a \ ``memcached_st``\ object with three server by making use of :manpage:`memcached_create_with_options(3)`. +-------------------------- +Creating a pool of servers +-------------------------- + + + +.. code-block:: c + + const char *config_string= "--SERVER=host10.example.com --SERVER=host11.example.com --SERVER=host10.example.com"; + + memcached_pool_st* pool= memcached_pool(config_string, strlen(config_string)); + + memcached_return_t rc; + + memcached_st *memc= memcached_pool_pop(pool, false, &rc); + + .... do work + + /* + Release the memc_ptr that was pulled from the pool + */ + memcached_pool_push(pool, memc); + + /* + Destroy the pool. + */ + memcached_pool_destroy(pool); + + + +In the above code you create a \ ``memcached_pool_st``\ object with three +server by making use of :manpage:`memcached_pool(3)`. + +When memcached_pool_destroy() all memory will be released that is associated +with the pool. + + ---------------------------- Adding a value to the server ---------------------------- diff --git a/docs/man/hashkit_clone.3 b/docs/man/hashkit_clone.3 index cd2bf026..d77911a1 100644 --- a/docs/man/hashkit_clone.3 +++ b/docs/man/hashkit_clone.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_CLONE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "HASHKIT_CLONE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME hashkit_clone \- libhashkit Documentation . diff --git a/docs/man/hashkit_crc32.3 b/docs/man/hashkit_crc32.3 index cd6ee8c1..15bb9e47 100644 --- a/docs/man/hashkit_crc32.3 +++ b/docs/man/hashkit_crc32.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_CRC32" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "HASHKIT_CRC32" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME hashkit_crc32 \- libhashkit Documentation . diff --git a/docs/man/hashkit_create.3 b/docs/man/hashkit_create.3 index b3f78c63..4a2758ed 100644 --- a/docs/man/hashkit_create.3 +++ b/docs/man/hashkit_create.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_CREATE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "HASHKIT_CREATE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME hashkit_create \- libhashkit Documentation . diff --git a/docs/man/hashkit_fnv1_32.3 b/docs/man/hashkit_fnv1_32.3 index 6ca49830..f99c3d01 100644 --- a/docs/man/hashkit_fnv1_32.3 +++ b/docs/man/hashkit_fnv1_32.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_FNV1_32" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "HASHKIT_FNV1_32" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME hashkit_fnv1_32 \- libhashkit Documentation . diff --git a/docs/man/hashkit_fnv1_64.3 b/docs/man/hashkit_fnv1_64.3 index 3112bea0..eb620bc9 100644 --- a/docs/man/hashkit_fnv1_64.3 +++ b/docs/man/hashkit_fnv1_64.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_FNV1_64" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "HASHKIT_FNV1_64" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME hashkit_fnv1_64 \- libhashkit Documentation . diff --git a/docs/man/hashkit_fnv1a_32.3 b/docs/man/hashkit_fnv1a_32.3 index 0e1fb593..5d3edb9c 100644 --- a/docs/man/hashkit_fnv1a_32.3 +++ b/docs/man/hashkit_fnv1a_32.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_FNV1A_32" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "HASHKIT_FNV1A_32" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME hashkit_fnv1a_32 \- libhashkit Documentation . diff --git a/docs/man/hashkit_fnv1a_64.3 b/docs/man/hashkit_fnv1a_64.3 index 3cbc785c..2d7067a9 100644 --- a/docs/man/hashkit_fnv1a_64.3 +++ b/docs/man/hashkit_fnv1a_64.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_FNV1A_64" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "HASHKIT_FNV1A_64" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME hashkit_fnv1a_64 \- libhashkit Documentation . diff --git a/docs/man/hashkit_free.3 b/docs/man/hashkit_free.3 index 0c072cf2..e7f6af0e 100644 --- a/docs/man/hashkit_free.3 +++ b/docs/man/hashkit_free.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_FREE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "HASHKIT_FREE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME hashkit_free \- libhashkit Documentation . diff --git a/docs/man/hashkit_functions.3 b/docs/man/hashkit_functions.3 index c0386cbc..b28c1dd0 100644 --- a/docs/man/hashkit_functions.3 +++ b/docs/man/hashkit_functions.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_FUNCTIONS" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "HASHKIT_FUNCTIONS" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME hashkit_functions \- libhashkit Documentation . diff --git a/docs/man/hashkit_hsieh.3 b/docs/man/hashkit_hsieh.3 index 9815ff0e..d48486f5 100644 --- a/docs/man/hashkit_hsieh.3 +++ b/docs/man/hashkit_hsieh.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_HSIEH" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "HASHKIT_HSIEH" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME hashkit_hsieh \- libhashkit Documentation . diff --git a/docs/man/hashkit_is_allocated.3 b/docs/man/hashkit_is_allocated.3 index 9b556f8d..e1c9af93 100644 --- a/docs/man/hashkit_is_allocated.3 +++ b/docs/man/hashkit_is_allocated.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_IS_ALLOCATED" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "HASHKIT_IS_ALLOCATED" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME hashkit_is_allocated \- libhashkit Documentation . diff --git a/docs/man/hashkit_jenkins.3 b/docs/man/hashkit_jenkins.3 index 7096ff65..8c713b10 100644 --- a/docs/man/hashkit_jenkins.3 +++ b/docs/man/hashkit_jenkins.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_JENKINS" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "HASHKIT_JENKINS" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME hashkit_jenkins \- libhashkit Documentation . diff --git a/docs/man/hashkit_md5.3 b/docs/man/hashkit_md5.3 index 21b278ae..b908c89e 100644 --- a/docs/man/hashkit_md5.3 +++ b/docs/man/hashkit_md5.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_MD5" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "HASHKIT_MD5" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME hashkit_md5 \- libhashkit Documentation . diff --git a/docs/man/hashkit_murmur.3 b/docs/man/hashkit_murmur.3 index 966707b5..e7859164 100644 --- a/docs/man/hashkit_murmur.3 +++ b/docs/man/hashkit_murmur.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_MURMUR" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "HASHKIT_MURMUR" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME hashkit_murmur \- libhashkit Documentation . diff --git a/docs/man/hashkit_value.3 b/docs/man/hashkit_value.3 index 8893b0bc..4c4ff5ef 100644 --- a/docs/man/hashkit_value.3 +++ b/docs/man/hashkit_value.3 @@ -1,4 +1,4 @@ -.TH "HASHKIT_VALUE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "HASHKIT_VALUE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME hashkit_value \- libhashkit Documentation . diff --git a/docs/man/libhashkit.3 b/docs/man/libhashkit.3 index cb735062..ce0ba444 100644 --- a/docs/man/libhashkit.3 +++ b/docs/man/libhashkit.3 @@ -1,4 +1,4 @@ -.TH "LIBHASHKIT" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "LIBHASHKIT" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME libhashkit \- libhashkit Documentation . diff --git a/docs/man/libmemcached.3 b/docs/man/libmemcached.3 index d70d225c..27781e66 100644 --- a/docs/man/libmemcached.3 +++ b/docs/man/libmemcached.3 @@ -1,4 +1,4 @@ -.TH "LIBMEMCACHED" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "LIBMEMCACHED" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME libmemcached \- Introducing the C Client Library for memcached . @@ -60,8 +60,11 @@ 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 testsed in the library. Using the key partioning -functions it is possible to group sets of object onto servers. +Objects are stored on servers by hashing keys. The hash value maps the key to a particular server. All clients understand how this hashing works, so it is possibly to reliably both push data to a server and retrieve data from a server. +.sp +Group keys can be optionally used to group sets of objects with servers. +.sp +Namespaces are supported, and can be used to partition caches so that multiple applications can use the same memcached servers. .sp \fBmemcached_st\fP structures are thread\-safe, but each thread must contain its own structure (that is, if you want to share these among diff --git a/docs/man/libmemcached_check_configuration.3 b/docs/man/libmemcached_check_configuration.3 index c5a81dfb..e2f3f256 100644 --- a/docs/man/libmemcached_check_configuration.3 +++ b/docs/man/libmemcached_check_configuration.3 @@ -1,4 +1,4 @@ -.TH "LIBMEMCACHED_CHECK_CONFIGURATION" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "LIBMEMCACHED_CHECK_CONFIGURATION" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME libmemcached_check_configuration \- libmemcached Documentation . @@ -102,44 +102,82 @@ Set the distribution model used by the client. See :manpage:\(ga\(ga for more d Set the hashing alogrthm used for placing keys on servers. .INDENT 0.0 .TP -.B \-\-HASH\-WITH\-PREFIX_KEY +.B \-\-HASH\-WITH\-NAMESPACE .UNINDENT +.sp +When enabled the prefix key will be added to the key when determining which +server to store the data in. .INDENT 0.0 .TP -.B \-\-IO\-BYTES\-WATERMARK= +.B \-\-NOREPLY .UNINDENT +.sp +Enable "no reply" for all calls that support this. It is highly recommended +that you use this option with the binary protocol only. .INDENT 0.0 .TP -.B \-\-IO\-KEY\-PREFETCH= +.B \-\-NUMBER\-OF\-REPLICAS= .UNINDENT +.sp +Set the nummber of servers that keys will be replicated to. .INDENT 0.0 .TP -.B \-\-IO\-MSG\-WATERMARK= +.B \-\-RANDOMIZE\-REPLICA\-READ .UNINDENT +.sp +Select randomly the server within the replication pool to read from. .INDENT 0.0 .TP -.B \-\-NOREPLY +.B \-\-SORT\-HOSTS .UNINDENT +.sp +When adding new servers always calculate their distribution based on sorted naming order. .INDENT 0.0 .TP -.B \-\-NUMBER\-OF\-REPLICAS= +.B \-\-SUPPORT\-CAS .UNINDENT .sp -Set the nummber of servers that keys will be replicated to. +See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_SUPPORT_CAS .INDENT 0.0 .TP -.B \-\-POLL\-TIMEOUT= +.B \-\-USE\-UDP .UNINDENT +.sp +See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_USE_UDP .INDENT 0.0 .TP -.B \-\-RANDOMIZE\-REPLICA\-READ +.B \-\-NAMESPACE= .UNINDENT .sp -Select randomly the server within the replication pool to read from. +A namespace is a container that provides context for keys, only other +requests that know the namespace can access these values. This is +accomplished by prepending the namespace value to all keys. +.SS Mecached Pool Options: .INDENT 0.0 .TP -.B \-\-RCV\-TIMEOUT= +.B \-\-POOL\-MIN +.UNINDENT +.sp +Initial size of pool. +.INDENT 0.0 +.TP +.B \-\-POOL\-MAX +.UNINDENT +.sp +Maximize size of the pool. +.SS I/O Options: +.INDENT 0.0 +.TP +.B \-\-TCP\-NODELAY .UNINDENT +.sp +See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_TCP_NODELAY +.INDENT 0.0 +.TP +.B \-\-TCP\-KEEPALIVE +.UNINDENT +.sp +See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_TCP_KEEPALIVE .INDENT 0.0 .TP .B \-\-RETRY\-TIMEOUT= @@ -172,42 +210,31 @@ See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE .INDENT 0.0 .TP -.B \-\-SORT\-HOSTS +.B \-\-POLL\-TIMEOUT= .UNINDENT .sp -When adding new servers always calculate their distribution based on sorted naming order. +That sets the value of the timeout used by :manpage: \fIpoll()\fP. .INDENT 0.0 .TP -.B \-\-SUPPORT\-CAS +.B \-\-IO\-BYTES\-WATERMARK= .UNINDENT -.sp -See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_SUPPORT_CAS .INDENT 0.0 .TP -.B \-\-TCP\-NODELAY +.B \-\-IO\-KEY\-PREFETCH= .UNINDENT -.sp -See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_TCP_NODELAY .INDENT 0.0 .TP -.B \-\-TCP\-KEEPALIVE +.B \-\-IO\-MSG\-WATERMARK= .UNINDENT -.sp -See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_TCP_KEEPALIVE .INDENT 0.0 .TP .B \-\-TCP\-KEEPIDLE .UNINDENT .INDENT 0.0 .TP -.B \-\-USE\-UDP -.UNINDENT -.sp -See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_USE_UDP -.INDENT 0.0 -.TP -.B \-\-PREFIX\-KEY= +.B \-\-RCV\-TIMEOUT= .UNINDENT +.SS Other: .INDENT 0.0 .TP .B INCLUDE diff --git a/docs/man/libmemcached_configuration.3 b/docs/man/libmemcached_configuration.3 index dac97b93..ebc4f4b5 100644 --- a/docs/man/libmemcached_configuration.3 +++ b/docs/man/libmemcached_configuration.3 @@ -1,4 +1,4 @@ -.TH "LIBMEMCACHED_CONFIGURATION" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "LIBMEMCACHED_CONFIGURATION" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME libmemcached_configuration \- libmemcached Documentation . @@ -102,44 +102,82 @@ Set the distribution model used by the client. See :manpage:\(ga\(ga for more d Set the hashing alogrthm used for placing keys on servers. .INDENT 0.0 .TP -.B \-\-HASH\-WITH\-PREFIX_KEY +.B \-\-HASH\-WITH\-NAMESPACE .UNINDENT +.sp +When enabled the prefix key will be added to the key when determining which +server to store the data in. .INDENT 0.0 .TP -.B \-\-IO\-BYTES\-WATERMARK= +.B \-\-NOREPLY .UNINDENT +.sp +Enable "no reply" for all calls that support this. It is highly recommended +that you use this option with the binary protocol only. .INDENT 0.0 .TP -.B \-\-IO\-KEY\-PREFETCH= +.B \-\-NUMBER\-OF\-REPLICAS= .UNINDENT +.sp +Set the nummber of servers that keys will be replicated to. .INDENT 0.0 .TP -.B \-\-IO\-MSG\-WATERMARK= +.B \-\-RANDOMIZE\-REPLICA\-READ .UNINDENT +.sp +Select randomly the server within the replication pool to read from. .INDENT 0.0 .TP -.B \-\-NOREPLY +.B \-\-SORT\-HOSTS .UNINDENT +.sp +When adding new servers always calculate their distribution based on sorted naming order. .INDENT 0.0 .TP -.B \-\-NUMBER\-OF\-REPLICAS= +.B \-\-SUPPORT\-CAS .UNINDENT .sp -Set the nummber of servers that keys will be replicated to. +See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_SUPPORT_CAS .INDENT 0.0 .TP -.B \-\-POLL\-TIMEOUT= +.B \-\-USE\-UDP .UNINDENT +.sp +See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_USE_UDP .INDENT 0.0 .TP -.B \-\-RANDOMIZE\-REPLICA\-READ +.B \-\-NAMESPACE= .UNINDENT .sp -Select randomly the server within the replication pool to read from. +A namespace is a container that provides context for keys, only other +requests that know the namespace can access these values. This is +accomplished by prepending the namespace value to all keys. +.SS Mecached Pool Options: .INDENT 0.0 .TP -.B \-\-RCV\-TIMEOUT= +.B \-\-POOL\-MIN +.UNINDENT +.sp +Initial size of pool. +.INDENT 0.0 +.TP +.B \-\-POOL\-MAX +.UNINDENT +.sp +Maximize size of the pool. +.SS I/O Options: +.INDENT 0.0 +.TP +.B \-\-TCP\-NODELAY .UNINDENT +.sp +See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_TCP_NODELAY +.INDENT 0.0 +.TP +.B \-\-TCP\-KEEPALIVE +.UNINDENT +.sp +See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_TCP_KEEPALIVE .INDENT 0.0 .TP .B \-\-RETRY\-TIMEOUT= @@ -172,42 +210,31 @@ See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE .INDENT 0.0 .TP -.B \-\-SORT\-HOSTS +.B \-\-POLL\-TIMEOUT= .UNINDENT .sp -When adding new servers always calculate their distribution based on sorted naming order. +That sets the value of the timeout used by :manpage: \fIpoll()\fP. .INDENT 0.0 .TP -.B \-\-SUPPORT\-CAS +.B \-\-IO\-BYTES\-WATERMARK= .UNINDENT -.sp -See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_SUPPORT_CAS .INDENT 0.0 .TP -.B \-\-TCP\-NODELAY +.B \-\-IO\-KEY\-PREFETCH= .UNINDENT -.sp -See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_TCP_NODELAY .INDENT 0.0 .TP -.B \-\-TCP\-KEEPALIVE +.B \-\-IO\-MSG\-WATERMARK= .UNINDENT -.sp -See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_TCP_KEEPALIVE .INDENT 0.0 .TP .B \-\-TCP\-KEEPIDLE .UNINDENT .INDENT 0.0 .TP -.B \-\-USE\-UDP -.UNINDENT -.sp -See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_USE_UDP -.INDENT 0.0 -.TP -.B \-\-PREFIX\-KEY= +.B \-\-RCV\-TIMEOUT= .UNINDENT +.SS Other: .INDENT 0.0 .TP .B INCLUDE diff --git a/docs/man/libmemcached_examples.3 b/docs/man/libmemcached_examples.3 index d274724c..d0d6f805 100644 --- a/docs/man/libmemcached_examples.3 +++ b/docs/man/libmemcached_examples.3 @@ -1,4 +1,4 @@ -.TH "LIBMEMCACHED_EXAMPLES" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "LIBMEMCACHED_EXAMPLES" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME libmemcached_examples \- libmemcached Documentation . @@ -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. -.SH CREATING AND FREEING STRUCTURE +.SH CREATING AND FREEING THE MEMCACHED_ST STRUCTURE .sp .nf .ft C @@ -66,6 +66,37 @@ memcached_free(memc); .fi .sp In the above code you create a \fBmemcached_st\fP object with three server by making use of \fImemcached_create_with_options(3)\fP. +.SH CREATING A POOL OF SERVERS +.sp +.nf +.ft C +const char *config_string= "\-\-SERVER=host10.example.com \-\-SERVER=host11.example.com \-\-SERVER=host10.example.com"; + +memcached_pool_st* pool= memcached_pool(config_string, strlen(config_string)); + +memcached_return_t rc; + +memcached_st *memc= memcached_pool_pop(pool, false, &rc); + +\&.... do work + +/* + Release the memc_ptr that was pulled from the pool +*/ +memcached_pool_push(pool, memc); + +/* + Destroy the pool. +*/ +memcached_pool_destroy(pool); +.ft P +.fi +.sp +In the above code you create a \fBmemcached_pool_st\fP object with three +server by making use of \fImemcached_pool(3)\fP. +.sp +When memcached_pool_destroy() all memory will be released that is associated +with the pool. .SH ADDING A VALUE TO THE SERVER .sp .nf diff --git a/docs/man/libmemcachedutil.3 b/docs/man/libmemcachedutil.3 index ca993e1b..94a95b71 100644 --- a/docs/man/libmemcachedutil.3 +++ b/docs/man/libmemcachedutil.3 @@ -1,4 +1,4 @@ -.TH "LIBMEMCACHEDUTIL" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "LIBMEMCACHEDUTIL" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME libmemcachedutil \- libmemcached Documentation . diff --git a/docs/man/memaslap.1 b/docs/man/memaslap.1 index ca4926a6..a02e1adc 100644 --- a/docs/man/memaslap.1 +++ b/docs/man/memaslap.1 @@ -1,4 +1,4 @@ -.TH "MEMASLAP" "1" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMASLAP" "1" "April 12, 2011" "0.47" "libmemcached" .SH NAME memaslap \- libmemcached Documentation . @@ -31,6 +31,8 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" Man page generated from reStructeredText. . .SH SYNOPSIS +.sp +:program:: \fImemaslap\fP .INDENT 0.0 .TP .B \-\-help diff --git a/docs/man/memcached_add.3 b/docs/man/memcached_add.3 index 17ecbe0b..35756b11 100644 --- a/docs/man/memcached_add.3 +++ b/docs/man/memcached_add.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_ADD" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_ADD" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_add \- Storing and Replacing Data . @@ -61,27 +61,27 @@ Store value on server .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); +.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); .UNINDENT .sp Compile and link with \-lmemcached @@ -121,7 +121,7 @@ information on how to do this. memcached_set_by_key(), memcached_add_by_key(), memcached_replace_by_key(), memcached_prepend_by_key(), memcached_append_by_key_by_key(), memcached_cas_by_key() methods all behave in a similar method as the non key -methods. The difference is that they use their master_key parameter to map +methods. The difference is that they use their group_key parameter to map objects to particular servers. .sp If you are looking for performance, memcached_set() with non\-blocking IO is diff --git a/docs/man/memcached_add_by_key.3 b/docs/man/memcached_add_by_key.3 index b1331717..03fd7a4a 100644 --- a/docs/man/memcached_add_by_key.3 +++ b/docs/man/memcached_add_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_ADD_BY_KEY" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_ADD_BY_KEY" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_add_by_key \- Storing and Replacing Data . @@ -61,27 +61,27 @@ Store value on server .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); +.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); .UNINDENT .sp Compile and link with \-lmemcached @@ -121,7 +121,7 @@ information on how to do this. memcached_set_by_key(), memcached_add_by_key(), memcached_replace_by_key(), memcached_prepend_by_key(), memcached_append_by_key_by_key(), memcached_cas_by_key() methods all behave in a similar method as the non key -methods. The difference is that they use their master_key parameter to map +methods. The difference is that they use their group_key parameter to map objects to particular servers. .sp If you are looking for performance, memcached_set() with non\-blocking IO is diff --git a/docs/man/memcached_analyze.3 b/docs/man/memcached_analyze.3 index 68cbec46..16a328ad 100644 --- a/docs/man/memcached_analyze.3 +++ b/docs/man/memcached_analyze.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_ANALYZE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_ANALYZE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_analyze \- libmemcached Documentation . diff --git a/docs/man/memcached_append.3 b/docs/man/memcached_append.3 index 4da04b80..d1711df4 100644 --- a/docs/man/memcached_append.3 +++ b/docs/man/memcached_append.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_APPEND" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_APPEND" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_append \- Storing and Replacing Data . @@ -61,27 +61,27 @@ Store value on server .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); +.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); .UNINDENT .sp Compile and link with \-lmemcached @@ -121,7 +121,7 @@ information on how to do this. memcached_set_by_key(), memcached_add_by_key(), memcached_replace_by_key(), memcached_prepend_by_key(), memcached_append_by_key_by_key(), memcached_cas_by_key() methods all behave in a similar method as the non key -methods. The difference is that they use their master_key parameter to map +methods. The difference is that they use their group_key parameter to map objects to particular servers. .sp If you are looking for performance, memcached_set() with non\-blocking IO is diff --git a/docs/man/memcached_append_by_key.3 b/docs/man/memcached_append_by_key.3 index b51fdce8..f3116b08 100644 --- a/docs/man/memcached_append_by_key.3 +++ b/docs/man/memcached_append_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_APPEND_BY_KEY" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_APPEND_BY_KEY" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_append_by_key \- Storing and Replacing Data . @@ -61,27 +61,27 @@ Store value on server .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); +.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); .UNINDENT .sp Compile and link with \-lmemcached @@ -121,7 +121,7 @@ information on how to do this. memcached_set_by_key(), memcached_add_by_key(), memcached_replace_by_key(), memcached_prepend_by_key(), memcached_append_by_key_by_key(), memcached_cas_by_key() methods all behave in a similar method as the non key -methods. The difference is that they use their master_key parameter to map +methods. The difference is that they use their group_key parameter to map objects to particular servers. .sp If you are looking for performance, memcached_set() with non\-blocking IO is diff --git a/docs/man/memcached_auto.3 b/docs/man/memcached_auto.3 index 39530a28..d8bf8dc5 100644 --- a/docs/man/memcached_auto.3 +++ b/docs/man/memcached_auto.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_AUTO" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_AUTO" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_auto \- Incrementing and Decrementing Values . @@ -51,19 +51,19 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_increment_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); +.B memcached_return_t memcached_increment_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_decrement_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); +.B memcached_return_t memcached_decrement_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_increment_with_initial_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); +.B memcached_return_t memcached_increment_with_initial_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_decrement_with_initial_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); +.B memcached_return_t memcached_decrement_with_initial_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_behavior.3 b/docs/man/memcached_behavior.3 index 826497fe..d8b90dd1 100644 --- a/docs/man/memcached_behavior.3 +++ b/docs/man/memcached_behavior.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_BEHAVIOR" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_BEHAVIOR" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_behavior \- libmemcached Documentation . diff --git a/docs/man/memcached_behavior_get.3 b/docs/man/memcached_behavior_get.3 index 9b39d56d..f79ce887 100644 --- a/docs/man/memcached_behavior_get.3 +++ b/docs/man/memcached_behavior_get.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_BEHAVIOR_GET" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_BEHAVIOR_GET" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_behavior_get \- libmemcached Documentation . diff --git a/docs/man/memcached_behavior_set.3 b/docs/man/memcached_behavior_set.3 index 57574fa1..739f208d 100644 --- a/docs/man/memcached_behavior_set.3 +++ b/docs/man/memcached_behavior_set.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_BEHAVIOR_SET" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_BEHAVIOR_SET" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_behavior_set \- libmemcached Documentation . diff --git a/docs/man/memcached_callback.3 b/docs/man/memcached_callback.3 index 6b3c13a5..33414dd0 100644 --- a/docs/man/memcached_callback.3 +++ b/docs/man/memcached_callback.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_CALLBACK" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_CALLBACK" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_callback \- libmemcached Documentation . diff --git a/docs/man/memcached_callback_get.3 b/docs/man/memcached_callback_get.3 index df265fb9..8ec0bb54 100644 --- a/docs/man/memcached_callback_get.3 +++ b/docs/man/memcached_callback_get.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_CALLBACK_GET" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_CALLBACK_GET" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_callback_get \- libmemcached Documentation . diff --git a/docs/man/memcached_callback_set.3 b/docs/man/memcached_callback_set.3 index fa5c0c9c..1d02cba6 100644 --- a/docs/man/memcached_callback_set.3 +++ b/docs/man/memcached_callback_set.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_CALLBACK_SET" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_CALLBACK_SET" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_callback_set \- libmemcached Documentation . diff --git a/docs/man/memcached_cas.3 b/docs/man/memcached_cas.3 index 48d9ca3b..1e5b6023 100644 --- a/docs/man/memcached_cas.3 +++ b/docs/man/memcached_cas.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_CAS" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_CAS" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_cas \- Storing and Replacing Data . @@ -61,27 +61,27 @@ Store value on server .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); +.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); .UNINDENT .sp Compile and link with \-lmemcached @@ -121,7 +121,7 @@ information on how to do this. memcached_set_by_key(), memcached_add_by_key(), memcached_replace_by_key(), memcached_prepend_by_key(), memcached_append_by_key_by_key(), memcached_cas_by_key() methods all behave in a similar method as the non key -methods. The difference is that they use their master_key parameter to map +methods. The difference is that they use their group_key parameter to map objects to particular servers. .sp If you are looking for performance, memcached_set() with non\-blocking IO is diff --git a/docs/man/memcached_cas_by_key.3 b/docs/man/memcached_cas_by_key.3 index c7288165..41a373fd 100644 --- a/docs/man/memcached_cas_by_key.3 +++ b/docs/man/memcached_cas_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_CAS_BY_KEY" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_CAS_BY_KEY" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_cas_by_key \- Storing and Replacing Data . @@ -61,27 +61,27 @@ Store value on server .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); +.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); .UNINDENT .sp Compile and link with \-lmemcached @@ -121,7 +121,7 @@ information on how to do this. memcached_set_by_key(), memcached_add_by_key(), memcached_replace_by_key(), memcached_prepend_by_key(), memcached_append_by_key_by_key(), memcached_cas_by_key() methods all behave in a similar method as the non key -methods. The difference is that they use their master_key parameter to map +methods. The difference is that they use their group_key parameter to map objects to particular servers. .sp If you are looking for performance, memcached_set() with non\-blocking IO is diff --git a/docs/man/memcached_clone.3 b/docs/man/memcached_clone.3 index 798e6d8c..d713ad1b 100644 --- a/docs/man/memcached_clone.3 +++ b/docs/man/memcached_clone.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_CLONE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_CLONE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_clone \- libmemcached Documentation . diff --git a/docs/man/memcached_create.3 b/docs/man/memcached_create.3 index 601175a6..5e82385b 100644 --- a/docs/man/memcached_create.3 +++ b/docs/man/memcached_create.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_CREATE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_CREATE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_create \- libmemcached Documentation . diff --git a/docs/man/memcached_create_with_options.3 b/docs/man/memcached_create_with_options.3 index eac57824..cdbbd5d9 100644 --- a/docs/man/memcached_create_with_options.3 +++ b/docs/man/memcached_create_with_options.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_CREATE_WITH_OPTIONS" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_CREATE_WITH_OPTIONS" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_create_with_options \- libmemcached Documentation . @@ -102,44 +102,82 @@ Set the distribution model used by the client. See :manpage:\(ga\(ga for more d Set the hashing alogrthm used for placing keys on servers. .INDENT 0.0 .TP -.B \-\-HASH\-WITH\-PREFIX_KEY +.B \-\-HASH\-WITH\-NAMESPACE .UNINDENT +.sp +When enabled the prefix key will be added to the key when determining which +server to store the data in. .INDENT 0.0 .TP -.B \-\-IO\-BYTES\-WATERMARK= +.B \-\-NOREPLY .UNINDENT +.sp +Enable "no reply" for all calls that support this. It is highly recommended +that you use this option with the binary protocol only. .INDENT 0.0 .TP -.B \-\-IO\-KEY\-PREFETCH= +.B \-\-NUMBER\-OF\-REPLICAS= .UNINDENT +.sp +Set the nummber of servers that keys will be replicated to. .INDENT 0.0 .TP -.B \-\-IO\-MSG\-WATERMARK= +.B \-\-RANDOMIZE\-REPLICA\-READ .UNINDENT +.sp +Select randomly the server within the replication pool to read from. .INDENT 0.0 .TP -.B \-\-NOREPLY +.B \-\-SORT\-HOSTS .UNINDENT +.sp +When adding new servers always calculate their distribution based on sorted naming order. .INDENT 0.0 .TP -.B \-\-NUMBER\-OF\-REPLICAS= +.B \-\-SUPPORT\-CAS .UNINDENT .sp -Set the nummber of servers that keys will be replicated to. +See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_SUPPORT_CAS .INDENT 0.0 .TP -.B \-\-POLL\-TIMEOUT= +.B \-\-USE\-UDP .UNINDENT +.sp +See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_USE_UDP .INDENT 0.0 .TP -.B \-\-RANDOMIZE\-REPLICA\-READ +.B \-\-NAMESPACE= .UNINDENT .sp -Select randomly the server within the replication pool to read from. +A namespace is a container that provides context for keys, only other +requests that know the namespace can access these values. This is +accomplished by prepending the namespace value to all keys. +.SS Mecached Pool Options: .INDENT 0.0 .TP -.B \-\-RCV\-TIMEOUT= +.B \-\-POOL\-MIN +.UNINDENT +.sp +Initial size of pool. +.INDENT 0.0 +.TP +.B \-\-POOL\-MAX +.UNINDENT +.sp +Maximize size of the pool. +.SS I/O Options: +.INDENT 0.0 +.TP +.B \-\-TCP\-NODELAY .UNINDENT +.sp +See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_TCP_NODELAY +.INDENT 0.0 +.TP +.B \-\-TCP\-KEEPALIVE +.UNINDENT +.sp +See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_TCP_KEEPALIVE .INDENT 0.0 .TP .B \-\-RETRY\-TIMEOUT= @@ -172,42 +210,31 @@ See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE .INDENT 0.0 .TP -.B \-\-SORT\-HOSTS +.B \-\-POLL\-TIMEOUT= .UNINDENT .sp -When adding new servers always calculate their distribution based on sorted naming order. +That sets the value of the timeout used by :manpage: \fIpoll()\fP. .INDENT 0.0 .TP -.B \-\-SUPPORT\-CAS +.B \-\-IO\-BYTES\-WATERMARK= .UNINDENT -.sp -See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_SUPPORT_CAS .INDENT 0.0 .TP -.B \-\-TCP\-NODELAY +.B \-\-IO\-KEY\-PREFETCH= .UNINDENT -.sp -See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_TCP_NODELAY .INDENT 0.0 .TP -.B \-\-TCP\-KEEPALIVE +.B \-\-IO\-MSG\-WATERMARK= .UNINDENT -.sp -See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_TCP_KEEPALIVE .INDENT 0.0 .TP .B \-\-TCP\-KEEPIDLE .UNINDENT .INDENT 0.0 .TP -.B \-\-USE\-UDP -.UNINDENT -.sp -See \fImemcached_behavior_set(3)\fP for MEMCACHED_BEHAVIOR_USE_UDP -.INDENT 0.0 -.TP -.B \-\-PREFIX\-KEY= +.B \-\-RCV\-TIMEOUT= .UNINDENT +.SS Other: .INDENT 0.0 .TP .B INCLUDE diff --git a/docs/man/memcached_decrement.3 b/docs/man/memcached_decrement.3 index e6b8b69d..cde22eeb 100644 --- a/docs/man/memcached_decrement.3 +++ b/docs/man/memcached_decrement.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_DECREMENT" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_DECREMENT" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_decrement \- Incrementing and Decrementing Values . @@ -51,19 +51,19 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_increment_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); +.B memcached_return_t memcached_increment_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_decrement_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); +.B memcached_return_t memcached_decrement_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_increment_with_initial_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); +.B memcached_return_t memcached_increment_with_initial_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_decrement_with_initial_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); +.B memcached_return_t memcached_decrement_with_initial_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_decrement_with_initial.3 b/docs/man/memcached_decrement_with_initial.3 index 4ce2deb8..97c523d2 100644 --- a/docs/man/memcached_decrement_with_initial.3 +++ b/docs/man/memcached_decrement_with_initial.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_DECREMENT_WITH_INITIAL" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_DECREMENT_WITH_INITIAL" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_decrement_with_initial \- Incrementing and Decrementing Values . @@ -51,19 +51,19 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_increment_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); +.B memcached_return_t memcached_increment_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_decrement_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); +.B memcached_return_t memcached_decrement_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_increment_with_initial_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); +.B memcached_return_t memcached_increment_with_initial_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_decrement_with_initial_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); +.B memcached_return_t memcached_decrement_with_initial_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_delete.3 b/docs/man/memcached_delete.3 index 2e715437..56c0cc38 100644 --- a/docs/man/memcached_delete.3 +++ b/docs/man/memcached_delete.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_DELETE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_DELETE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_delete \- libmemcached Documentation . @@ -39,7 +39,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_delete_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, time_t expiration); +.B memcached_return_t memcached_delete_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, time_t expiration); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_delete_by_key.3 b/docs/man/memcached_delete_by_key.3 index ac8c46e8..3d397804 100644 --- a/docs/man/memcached_delete_by_key.3 +++ b/docs/man/memcached_delete_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_DELETE_BY_KEY" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_DELETE_BY_KEY" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_delete_by_key \- libmemcached Documentation . @@ -39,7 +39,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_delete_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, time_t expiration); +.B memcached_return_t memcached_delete_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, time_t expiration); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_destroy_sasl_auth_data.3 b/docs/man/memcached_destroy_sasl_auth_data.3 index f7a8c32c..f0382c3e 100644 --- a/docs/man/memcached_destroy_sasl_auth_data.3 +++ b/docs/man/memcached_destroy_sasl_auth_data.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_DESTROY_SASL_AUTH_DATA" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_DESTROY_SASL_AUTH_DATA" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_destroy_sasl_auth_data \- libmemcached Documentation . diff --git a/docs/man/memcached_dump.3 b/docs/man/memcached_dump.3 index 0b82f273..5f076301 100644 --- a/docs/man/memcached_dump.3 +++ b/docs/man/memcached_dump.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_DUMP" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_DUMP" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_dump \- libmemcached Documentation . diff --git a/docs/man/memcached_fetch.3 b/docs/man/memcached_fetch.3 index f0ce0087..bf856fb0 100644 --- a/docs/man/memcached_fetch.3 +++ b/docs/man/memcached_fetch.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_FETCH" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_FETCH" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_fetch \- Retrieving data from the server . @@ -47,11 +47,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B char * memcached_get_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); +.B char * memcached_get_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); +.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); .UNINDENT .INDENT 0.0 .TP @@ -67,7 +67,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); +.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_fetch_execute.3 b/docs/man/memcached_fetch_execute.3 index 132cbb81..8b421e59 100644 --- a/docs/man/memcached_fetch_execute.3 +++ b/docs/man/memcached_fetch_execute.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_FETCH_EXECUTE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_FETCH_EXECUTE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_fetch_execute \- Retrieving data from the server . @@ -47,11 +47,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B char * memcached_get_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); +.B char * memcached_get_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); +.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); .UNINDENT .INDENT 0.0 .TP @@ -67,7 +67,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); +.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_fetch_result.3 b/docs/man/memcached_fetch_result.3 index e7cdf56d..83c8b077 100644 --- a/docs/man/memcached_fetch_result.3 +++ b/docs/man/memcached_fetch_result.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_FETCH_RESULT" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_FETCH_RESULT" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_fetch_result \- Retrieving data from the server . @@ -47,11 +47,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B char * memcached_get_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); +.B char * memcached_get_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); +.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); .UNINDENT .INDENT 0.0 .TP @@ -67,7 +67,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); +.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_flush.3 b/docs/man/memcached_flush.3 index 0535097a..a7ae6bdf 100644 --- a/docs/man/memcached_flush.3 +++ b/docs/man/memcached_flush.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_FLUSH" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_FLUSH" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_flush \- libmemcached Documentation . diff --git a/docs/man/memcached_flush_buffers.3 b/docs/man/memcached_flush_buffers.3 index 1b0446ef..860c54fe 100644 --- a/docs/man/memcached_flush_buffers.3 +++ b/docs/man/memcached_flush_buffers.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_FLUSH_BUFFERS" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_FLUSH_BUFFERS" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_flush_buffers \- libmemcached Documentation . diff --git a/docs/man/memcached_free.3 b/docs/man/memcached_free.3 index ddf508af..25c6c29d 100644 --- a/docs/man/memcached_free.3 +++ b/docs/man/memcached_free.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_FREE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_FREE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_free \- libmemcached Documentation . diff --git a/docs/man/memcached_generate_hash.3 b/docs/man/memcached_generate_hash.3 index 3c81b38c..24a4fb33 100644 --- a/docs/man/memcached_generate_hash.3 +++ b/docs/man/memcached_generate_hash.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_GENERATE_HASH" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_GENERATE_HASH" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_generate_hash \- Generating hash values directly . diff --git a/docs/man/memcached_generate_hash_value.3 b/docs/man/memcached_generate_hash_value.3 index d047f5d0..dce95724 100644 --- a/docs/man/memcached_generate_hash_value.3 +++ b/docs/man/memcached_generate_hash_value.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_GENERATE_HASH_VALUE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_GENERATE_HASH_VALUE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_generate_hash_value \- Generating hash values directly . diff --git a/docs/man/memcached_get.3 b/docs/man/memcached_get.3 index 88aaa6f7..2c53d9ce 100644 --- a/docs/man/memcached_get.3 +++ b/docs/man/memcached_get.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_GET" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_GET" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_get \- Retrieving data from the server . @@ -47,11 +47,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B char * memcached_get_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); +.B char * memcached_get_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); +.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); .UNINDENT .INDENT 0.0 .TP @@ -67,7 +67,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); +.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_get_by_key.3 b/docs/man/memcached_get_by_key.3 index 147131bf..b7824471 100644 --- a/docs/man/memcached_get_by_key.3 +++ b/docs/man/memcached_get_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_GET_BY_KEY" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_GET_BY_KEY" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_get_by_key \- Retrieving data from the server . @@ -47,11 +47,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B char * memcached_get_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); +.B char * memcached_get_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); +.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); .UNINDENT .INDENT 0.0 .TP @@ -67,7 +67,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); +.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_get_memory_allocators.3 b/docs/man/memcached_get_memory_allocators.3 index f68a5265..98d892ad 100644 --- a/docs/man/memcached_get_memory_allocators.3 +++ b/docs/man/memcached_get_memory_allocators.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_GET_MEMORY_ALLOCATORS" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_GET_MEMORY_ALLOCATORS" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_get_memory_allocators \- libmemcached Documentation . diff --git a/docs/man/memcached_get_sasl_callbacks.3 b/docs/man/memcached_get_sasl_callbacks.3 index fdbf6b77..7d159397 100644 --- a/docs/man/memcached_get_sasl_callbacks.3 +++ b/docs/man/memcached_get_sasl_callbacks.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_GET_SASL_CALLBACKS" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_GET_SASL_CALLBACKS" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_get_sasl_callbacks \- libmemcached Documentation . diff --git a/docs/man/memcached_get_user_data.3 b/docs/man/memcached_get_user_data.3 index 487b5336..1583ddf7 100644 --- a/docs/man/memcached_get_user_data.3 +++ b/docs/man/memcached_get_user_data.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_GET_USER_DATA" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_GET_USER_DATA" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_get_user_data \- libmemcached Documentation . diff --git a/docs/man/memcached_increment.3 b/docs/man/memcached_increment.3 index e81aa2e3..1da1748c 100644 --- a/docs/man/memcached_increment.3 +++ b/docs/man/memcached_increment.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_INCREMENT" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_INCREMENT" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_increment \- Incrementing and Decrementing Values . @@ -51,19 +51,19 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_increment_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); +.B memcached_return_t memcached_increment_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_decrement_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); +.B memcached_return_t memcached_decrement_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_increment_with_initial_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); +.B memcached_return_t memcached_increment_with_initial_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_decrement_with_initial_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); +.B memcached_return_t memcached_decrement_with_initial_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_increment_with_initial.3 b/docs/man/memcached_increment_with_initial.3 index c8a9ad48..1323f3e2 100644 --- a/docs/man/memcached_increment_with_initial.3 +++ b/docs/man/memcached_increment_with_initial.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_INCREMENT_WITH_INITIAL" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_INCREMENT_WITH_INITIAL" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_increment_with_initial \- Incrementing and Decrementing Values . @@ -51,19 +51,19 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_increment_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); +.B memcached_return_t memcached_increment_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_decrement_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); +.B memcached_return_t memcached_decrement_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_increment_with_initial_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); +.B memcached_return_t memcached_increment_with_initial_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_decrement_with_initial_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); +.B memcached_return_t memcached_decrement_with_initial_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_lib_version.3 b/docs/man/memcached_lib_version.3 index ed8817d6..291ed6f4 100644 --- a/docs/man/memcached_lib_version.3 +++ b/docs/man/memcached_lib_version.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_LIB_VERSION" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_LIB_VERSION" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_lib_version \- libmemcached Documentation . diff --git a/docs/man/memcached_memory_allocators.3 b/docs/man/memcached_memory_allocators.3 index 4ee5ede4..9f0fda57 100644 --- a/docs/man/memcached_memory_allocators.3 +++ b/docs/man/memcached_memory_allocators.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_MEMORY_ALLOCATORS" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_MEMORY_ALLOCATORS" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_memory_allocators \- libmemcached Documentation . diff --git a/docs/man/memcached_mget.3 b/docs/man/memcached_mget.3 index 8f4f7d31..982df6da 100644 --- a/docs/man/memcached_mget.3 +++ b/docs/man/memcached_mget.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_MGET" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_MGET" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_mget \- Retrieving data from the server . @@ -47,11 +47,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B char * memcached_get_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); +.B char * memcached_get_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); +.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); .UNINDENT .INDENT 0.0 .TP @@ -67,7 +67,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); +.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_mget_by_key.3 b/docs/man/memcached_mget_by_key.3 index 2457318b..131ec38b 100644 --- a/docs/man/memcached_mget_by_key.3 +++ b/docs/man/memcached_mget_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_MGET_BY_KEY" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_MGET_BY_KEY" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_mget_by_key \- Retrieving data from the server . @@ -47,11 +47,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B char * memcached_get_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); +.B char * memcached_get_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); +.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); .UNINDENT .INDENT 0.0 .TP @@ -67,7 +67,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); +.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_mget_execute.3 b/docs/man/memcached_mget_execute.3 index 62c92bfc..f2e0dcd4 100644 --- a/docs/man/memcached_mget_execute.3 +++ b/docs/man/memcached_mget_execute.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_MGET_EXECUTE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_MGET_EXECUTE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_mget_execute \- Retrieving data from the server . @@ -47,11 +47,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B char * memcached_get_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); +.B char * memcached_get_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); +.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); .UNINDENT .INDENT 0.0 .TP @@ -67,7 +67,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); +.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_mget_execute_by_key.3 b/docs/man/memcached_mget_execute_by_key.3 index 653e206c..3e3c5ee7 100644 --- a/docs/man/memcached_mget_execute_by_key.3 +++ b/docs/man/memcached_mget_execute_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_MGET_EXECUTE_BY_KEY" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_MGET_EXECUTE_BY_KEY" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_mget_execute_by_key \- Retrieving data from the server . @@ -47,11 +47,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B char * memcached_get_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); +.B char * memcached_get_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); +.B memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); .UNINDENT .INDENT 0.0 .TP @@ -67,7 +67,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); +.B memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); .UNINDENT .sp Compile and link with \-lmemcached diff --git a/docs/man/memcached_pool.3 b/docs/man/memcached_pool.3 index 350f43cd..29a45721 100644 --- a/docs/man/memcached_pool.3 +++ b/docs/man/memcached_pool.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_POOL" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_pool \- libmemcached Documentation . @@ -35,7 +35,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] #include .INDENT 0.0 .TP -.B memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); +.B memcached_pool_st *memcached_pool(const char *option_string, size_t option_string_length); +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); DEPRECATED .UNINDENT .INDENT 0.0 .TP @@ -65,22 +69,28 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Compile and link with \-lmemcachedutil \-lmemcached .SH 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 -lived \fBmemcached_st\fP objects. The mmc argument should be an -initialised \fBmemcached_st\fP structure, and a successfull invocation of -memcached_pool_create takes full ownership of the variable (until it -is released by memcached_pool_destroy). The \fBinitial\fP argument -specifies the initial size of the connection pool, and the \fBmax\fPargument specifies the maximum size the connection pool should grow -to. Please note that the library will allocate a fixed size buffer -scaled to the max size of the connection pool, so you should not pass -MAXINT or some other large number here. +memcached_pool() is used to create a connection pool of objects you may use +to remove the overhead of using memcached_clone for short lived +\fBmemcached_st\fPobjects. Please see \fIlibmemcached_configuration\fP for details on the format of the configuration string. +.sp +DEPRECATED 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 lived \fBmemcached_st\fPobjects. The mmc argument should be an +initialised \fBmemcached_st\fPstructure, and a successfull invocation of +memcached_pool_create takes full ownership of the variable (until it is +released by memcached_pool_destroy). The \fBinitial\fP argument specifies +the initial size of the connection pool, and the \fBmax\fPargument +specifies the maximum size the connection pool should grow to. Please note +that the library will allocate a fixed size buffer scaled to the max size of +the connection pool, so you should not pass MAXINT or some other large +number here. .sp memcached_pool_destroy() is used to destroy the connection pool created with memcached_pool_create() and release all allocated resources. It will return the pointer to the \fBmemcached_st\fP structure -passed as an argument to memcached_pool_create(), and returns the -ownership of the pointer to the caller. +passed as an argument to memcached_pool_create(), and returns the ownership +of the pointer to the caller when created with memcached_pool_create, +otherwise NULL is returned.. .sp memcached_pool_pop() is used to grab a connection structure from the connection pool. The block argument specifies if the function should diff --git a/docs/man/memcached_pool_behavior_get.3 b/docs/man/memcached_pool_behavior_get.3 index 15f16cfb..7abf8add 100644 --- a/docs/man/memcached_pool_behavior_get.3 +++ b/docs/man/memcached_pool_behavior_get.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL_BEHAVIOR_GET" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_POOL_BEHAVIOR_GET" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_pool_behavior_get \- libmemcached Documentation . @@ -35,7 +35,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] #include .INDENT 0.0 .TP -.B memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); +.B memcached_pool_st *memcached_pool(const char *option_string, size_t option_string_length); +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); DEPRECATED .UNINDENT .INDENT 0.0 .TP @@ -65,22 +69,28 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Compile and link with \-lmemcachedutil \-lmemcached .SH 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 -lived \fBmemcached_st\fP objects. The mmc argument should be an -initialised \fBmemcached_st\fP structure, and a successfull invocation of -memcached_pool_create takes full ownership of the variable (until it -is released by memcached_pool_destroy). The \fBinitial\fP argument -specifies the initial size of the connection pool, and the \fBmax\fPargument specifies the maximum size the connection pool should grow -to. Please note that the library will allocate a fixed size buffer -scaled to the max size of the connection pool, so you should not pass -MAXINT or some other large number here. +memcached_pool() is used to create a connection pool of objects you may use +to remove the overhead of using memcached_clone for short lived +\fBmemcached_st\fPobjects. Please see \fIlibmemcached_configuration\fP for details on the format of the configuration string. +.sp +DEPRECATED 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 lived \fBmemcached_st\fPobjects. The mmc argument should be an +initialised \fBmemcached_st\fPstructure, and a successfull invocation of +memcached_pool_create takes full ownership of the variable (until it is +released by memcached_pool_destroy). The \fBinitial\fP argument specifies +the initial size of the connection pool, and the \fBmax\fPargument +specifies the maximum size the connection pool should grow to. Please note +that the library will allocate a fixed size buffer scaled to the max size of +the connection pool, so you should not pass MAXINT or some other large +number here. .sp memcached_pool_destroy() is used to destroy the connection pool created with memcached_pool_create() and release all allocated resources. It will return the pointer to the \fBmemcached_st\fP structure -passed as an argument to memcached_pool_create(), and returns the -ownership of the pointer to the caller. +passed as an argument to memcached_pool_create(), and returns the ownership +of the pointer to the caller when created with memcached_pool_create, +otherwise NULL is returned.. .sp memcached_pool_pop() is used to grab a connection structure from the connection pool. The block argument specifies if the function should diff --git a/docs/man/memcached_pool_behavior_set.3 b/docs/man/memcached_pool_behavior_set.3 index b4667c6c..b9e3d669 100644 --- a/docs/man/memcached_pool_behavior_set.3 +++ b/docs/man/memcached_pool_behavior_set.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL_BEHAVIOR_SET" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_POOL_BEHAVIOR_SET" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_pool_behavior_set \- libmemcached Documentation . @@ -35,7 +35,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] #include .INDENT 0.0 .TP -.B memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); +.B memcached_pool_st *memcached_pool(const char *option_string, size_t option_string_length); +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); DEPRECATED .UNINDENT .INDENT 0.0 .TP @@ -65,22 +69,28 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Compile and link with \-lmemcachedutil \-lmemcached .SH 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 -lived \fBmemcached_st\fP objects. The mmc argument should be an -initialised \fBmemcached_st\fP structure, and a successfull invocation of -memcached_pool_create takes full ownership of the variable (until it -is released by memcached_pool_destroy). The \fBinitial\fP argument -specifies the initial size of the connection pool, and the \fBmax\fPargument specifies the maximum size the connection pool should grow -to. Please note that the library will allocate a fixed size buffer -scaled to the max size of the connection pool, so you should not pass -MAXINT or some other large number here. +memcached_pool() is used to create a connection pool of objects you may use +to remove the overhead of using memcached_clone for short lived +\fBmemcached_st\fPobjects. Please see \fIlibmemcached_configuration\fP for details on the format of the configuration string. +.sp +DEPRECATED 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 lived \fBmemcached_st\fPobjects. The mmc argument should be an +initialised \fBmemcached_st\fPstructure, and a successfull invocation of +memcached_pool_create takes full ownership of the variable (until it is +released by memcached_pool_destroy). The \fBinitial\fP argument specifies +the initial size of the connection pool, and the \fBmax\fPargument +specifies the maximum size the connection pool should grow to. Please note +that the library will allocate a fixed size buffer scaled to the max size of +the connection pool, so you should not pass MAXINT or some other large +number here. .sp memcached_pool_destroy() is used to destroy the connection pool created with memcached_pool_create() and release all allocated resources. It will return the pointer to the \fBmemcached_st\fP structure -passed as an argument to memcached_pool_create(), and returns the -ownership of the pointer to the caller. +passed as an argument to memcached_pool_create(), and returns the ownership +of the pointer to the caller when created with memcached_pool_create, +otherwise NULL is returned.. .sp memcached_pool_pop() is used to grab a connection structure from the connection pool. The block argument specifies if the function should diff --git a/docs/man/memcached_pool_create.3 b/docs/man/memcached_pool_create.3 index 7e3538e3..9da7400d 100644 --- a/docs/man/memcached_pool_create.3 +++ b/docs/man/memcached_pool_create.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL_CREATE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_POOL_CREATE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_pool_create \- libmemcached Documentation . @@ -35,7 +35,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] #include .INDENT 0.0 .TP -.B memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); +.B memcached_pool_st *memcached_pool(const char *option_string, size_t option_string_length); +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); DEPRECATED .UNINDENT .INDENT 0.0 .TP @@ -65,22 +69,28 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Compile and link with \-lmemcachedutil \-lmemcached .SH 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 -lived \fBmemcached_st\fP objects. The mmc argument should be an -initialised \fBmemcached_st\fP structure, and a successfull invocation of -memcached_pool_create takes full ownership of the variable (until it -is released by memcached_pool_destroy). The \fBinitial\fP argument -specifies the initial size of the connection pool, and the \fBmax\fPargument specifies the maximum size the connection pool should grow -to. Please note that the library will allocate a fixed size buffer -scaled to the max size of the connection pool, so you should not pass -MAXINT or some other large number here. +memcached_pool() is used to create a connection pool of objects you may use +to remove the overhead of using memcached_clone for short lived +\fBmemcached_st\fPobjects. Please see \fIlibmemcached_configuration\fP for details on the format of the configuration string. +.sp +DEPRECATED 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 lived \fBmemcached_st\fPobjects. The mmc argument should be an +initialised \fBmemcached_st\fPstructure, and a successfull invocation of +memcached_pool_create takes full ownership of the variable (until it is +released by memcached_pool_destroy). The \fBinitial\fP argument specifies +the initial size of the connection pool, and the \fBmax\fPargument +specifies the maximum size the connection pool should grow to. Please note +that the library will allocate a fixed size buffer scaled to the max size of +the connection pool, so you should not pass MAXINT or some other large +number here. .sp memcached_pool_destroy() is used to destroy the connection pool created with memcached_pool_create() and release all allocated resources. It will return the pointer to the \fBmemcached_st\fP structure -passed as an argument to memcached_pool_create(), and returns the -ownership of the pointer to the caller. +passed as an argument to memcached_pool_create(), and returns the ownership +of the pointer to the caller when created with memcached_pool_create, +otherwise NULL is returned.. .sp memcached_pool_pop() is used to grab a connection structure from the connection pool. The block argument specifies if the function should diff --git a/docs/man/memcached_pool_destroy.3 b/docs/man/memcached_pool_destroy.3 index c874b6f9..aee382d4 100644 --- a/docs/man/memcached_pool_destroy.3 +++ b/docs/man/memcached_pool_destroy.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL_DESTROY" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_POOL_DESTROY" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_pool_destroy \- libmemcached Documentation . @@ -35,7 +35,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] #include .INDENT 0.0 .TP -.B memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); +.B memcached_pool_st *memcached_pool(const char *option_string, size_t option_string_length); +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); DEPRECATED .UNINDENT .INDENT 0.0 .TP @@ -65,22 +69,28 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Compile and link with \-lmemcachedutil \-lmemcached .SH 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 -lived \fBmemcached_st\fP objects. The mmc argument should be an -initialised \fBmemcached_st\fP structure, and a successfull invocation of -memcached_pool_create takes full ownership of the variable (until it -is released by memcached_pool_destroy). The \fBinitial\fP argument -specifies the initial size of the connection pool, and the \fBmax\fPargument specifies the maximum size the connection pool should grow -to. Please note that the library will allocate a fixed size buffer -scaled to the max size of the connection pool, so you should not pass -MAXINT or some other large number here. +memcached_pool() is used to create a connection pool of objects you may use +to remove the overhead of using memcached_clone for short lived +\fBmemcached_st\fPobjects. Please see \fIlibmemcached_configuration\fP for details on the format of the configuration string. +.sp +DEPRECATED 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 lived \fBmemcached_st\fPobjects. The mmc argument should be an +initialised \fBmemcached_st\fPstructure, and a successfull invocation of +memcached_pool_create takes full ownership of the variable (until it is +released by memcached_pool_destroy). The \fBinitial\fP argument specifies +the initial size of the connection pool, and the \fBmax\fPargument +specifies the maximum size the connection pool should grow to. Please note +that the library will allocate a fixed size buffer scaled to the max size of +the connection pool, so you should not pass MAXINT or some other large +number here. .sp memcached_pool_destroy() is used to destroy the connection pool created with memcached_pool_create() and release all allocated resources. It will return the pointer to the \fBmemcached_st\fP structure -passed as an argument to memcached_pool_create(), and returns the -ownership of the pointer to the caller. +passed as an argument to memcached_pool_create(), and returns the ownership +of the pointer to the caller when created with memcached_pool_create, +otherwise NULL is returned.. .sp memcached_pool_pop() is used to grab a connection structure from the connection pool. The block argument specifies if the function should diff --git a/docs/man/memcached_pool_pop.3 b/docs/man/memcached_pool_pop.3 index cb294d0f..1d7f72d9 100644 --- a/docs/man/memcached_pool_pop.3 +++ b/docs/man/memcached_pool_pop.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL_POP" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_POOL_POP" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_pool_pop \- libmemcached Documentation . @@ -35,7 +35,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] #include .INDENT 0.0 .TP -.B memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); +.B memcached_pool_st *memcached_pool(const char *option_string, size_t option_string_length); +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); DEPRECATED .UNINDENT .INDENT 0.0 .TP @@ -65,22 +69,28 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Compile and link with \-lmemcachedutil \-lmemcached .SH 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 -lived \fBmemcached_st\fP objects. The mmc argument should be an -initialised \fBmemcached_st\fP structure, and a successfull invocation of -memcached_pool_create takes full ownership of the variable (until it -is released by memcached_pool_destroy). The \fBinitial\fP argument -specifies the initial size of the connection pool, and the \fBmax\fPargument specifies the maximum size the connection pool should grow -to. Please note that the library will allocate a fixed size buffer -scaled to the max size of the connection pool, so you should not pass -MAXINT or some other large number here. +memcached_pool() is used to create a connection pool of objects you may use +to remove the overhead of using memcached_clone for short lived +\fBmemcached_st\fPobjects. Please see \fIlibmemcached_configuration\fP for details on the format of the configuration string. +.sp +DEPRECATED 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 lived \fBmemcached_st\fPobjects. The mmc argument should be an +initialised \fBmemcached_st\fPstructure, and a successfull invocation of +memcached_pool_create takes full ownership of the variable (until it is +released by memcached_pool_destroy). The \fBinitial\fP argument specifies +the initial size of the connection pool, and the \fBmax\fPargument +specifies the maximum size the connection pool should grow to. Please note +that the library will allocate a fixed size buffer scaled to the max size of +the connection pool, so you should not pass MAXINT or some other large +number here. .sp memcached_pool_destroy() is used to destroy the connection pool created with memcached_pool_create() and release all allocated resources. It will return the pointer to the \fBmemcached_st\fP structure -passed as an argument to memcached_pool_create(), and returns the -ownership of the pointer to the caller. +passed as an argument to memcached_pool_create(), and returns the ownership +of the pointer to the caller when created with memcached_pool_create, +otherwise NULL is returned.. .sp memcached_pool_pop() is used to grab a connection structure from the connection pool. The block argument specifies if the function should diff --git a/docs/man/memcached_pool_push.3 b/docs/man/memcached_pool_push.3 index 64d70c6e..85353e15 100644 --- a/docs/man/memcached_pool_push.3 +++ b/docs/man/memcached_pool_push.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_POOL_PUSH" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_POOL_PUSH" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_pool_push \- libmemcached Documentation . @@ -35,7 +35,11 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] #include .INDENT 0.0 .TP -.B memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); +.B memcached_pool_st *memcached_pool(const char *option_string, size_t option_string_length); +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); DEPRECATED .UNINDENT .INDENT 0.0 .TP @@ -65,22 +69,28 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Compile and link with \-lmemcachedutil \-lmemcached .SH 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 -lived \fBmemcached_st\fP objects. The mmc argument should be an -initialised \fBmemcached_st\fP structure, and a successfull invocation of -memcached_pool_create takes full ownership of the variable (until it -is released by memcached_pool_destroy). The \fBinitial\fP argument -specifies the initial size of the connection pool, and the \fBmax\fPargument specifies the maximum size the connection pool should grow -to. Please note that the library will allocate a fixed size buffer -scaled to the max size of the connection pool, so you should not pass -MAXINT or some other large number here. +memcached_pool() is used to create a connection pool of objects you may use +to remove the overhead of using memcached_clone for short lived +\fBmemcached_st\fPobjects. Please see \fIlibmemcached_configuration\fP for details on the format of the configuration string. +.sp +DEPRECATED 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 lived \fBmemcached_st\fPobjects. The mmc argument should be an +initialised \fBmemcached_st\fPstructure, and a successfull invocation of +memcached_pool_create takes full ownership of the variable (until it is +released by memcached_pool_destroy). The \fBinitial\fP argument specifies +the initial size of the connection pool, and the \fBmax\fPargument +specifies the maximum size the connection pool should grow to. Please note +that the library will allocate a fixed size buffer scaled to the max size of +the connection pool, so you should not pass MAXINT or some other large +number here. .sp memcached_pool_destroy() is used to destroy the connection pool created with memcached_pool_create() and release all allocated resources. It will return the pointer to the \fBmemcached_st\fP structure -passed as an argument to memcached_pool_create(), and returns the -ownership of the pointer to the caller. +passed as an argument to memcached_pool_create(), and returns the ownership +of the pointer to the caller when created with memcached_pool_create, +otherwise NULL is returned.. .sp memcached_pool_pop() is used to grab a connection structure from the connection pool. The block argument specifies if the function should diff --git a/docs/man/memcached_pool_st.3 b/docs/man/memcached_pool_st.3 new file mode 100644 index 00000000..5cf0ea63 --- /dev/null +++ b/docs/man/memcached_pool_st.3 @@ -0,0 +1,139 @@ +.TH "MEMCACHED_POOL_ST" "3" "April 12, 2011" "0.47" "libmemcached" +.SH NAME +memcached_pool_st \- libmemcached Documentation +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.\" Man page generated from reStructeredText. +. +.SH SYNOPSIS +.sp +#include +.INDENT 0.0 +.TP +.B memcached_pool_st *memcached_pool(const char *option_string, size_t option_string_length); +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); DEPRECATED +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_st * memcached_pool_destroy(memcached_pool_st* pool); +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_st *memcached_create (memcached_st *ptr); +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_return_t memcached_pool_behavior_set(memcached_pool_st\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP) +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_return_t memcached_pool_behavior_get(memcached_pool_st\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ *value\fP) +.UNINDENT +.sp +Compile and link with \-lmemcachedutil \-lmemcached +.SH DESCRIPTION +.sp +memcached_pool() is used to create a connection pool of objects you may use +to remove the overhead of using memcached_clone for short lived +\fBmemcached_st\fPobjects. Please see \fIlibmemcached_configuration\fP for details on the format of the configuration string. +.sp +DEPRECATED 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 lived \fBmemcached_st\fPobjects. The mmc argument should be an +initialised \fBmemcached_st\fPstructure, and a successfull invocation of +memcached_pool_create takes full ownership of the variable (until it is +released by memcached_pool_destroy). The \fBinitial\fP argument specifies +the initial size of the connection pool, and the \fBmax\fPargument +specifies the maximum size the connection pool should grow to. Please note +that the library will allocate a fixed size buffer scaled to the max size of +the connection pool, so you should not pass MAXINT or some other large +number here. +.sp +memcached_pool_destroy() is used to destroy the connection pool +created with memcached_pool_create() and release all allocated +resources. It will return the pointer to the \fBmemcached_st\fP structure +passed as an argument to memcached_pool_create(), and returns the ownership +of the pointer to the caller when created with memcached_pool_create, +otherwise NULL is returned.. +.sp +memcached_pool_pop() is used to grab a connection structure from the +connection pool. The block argument specifies if the function should +block and wait for a connection structure to be available if we try +to exceed the maximum size. +.sp +memcached_pool_push() is used to return a connection structure back to the pool. +.sp +memcached_pool_behavior_set() and memcached_pool_behagior_get() is +used to get/set behavior flags on all connections in the pool. +.SH RETURN +.sp +memcached_pool_create() returns a pointer to the newly created +memcached_pool_st structure. On an allocation failure, it returns +NULL. +.sp +memcached_pool_destroy() returns the pointer (and ownership) to the +memcached_st structure used to create the pool. If connections are in +use it returns NULL. +.sp +memcached_pool_pop() returns a pointer to a memcached_st structure +from the pool (or NULL if an allocation cannot be satisfied). +.sp +memcached_pool_push() returns MEMCACHED_SUCCESS upon success. +.sp +memcached_pool_behavior_get() and memcached_pool_behavior_get() +returns MEMCACHED_SUCCESS upon success. +.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> +.sp +Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> +.SH SEE ALSO +.sp +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP +.SH AUTHOR +Brian Aker +.SH COPYRIGHT +2011, Brian Aker DataDifferential, http://datadifferential.com/ +.\" Generated by docutils manpage writer. +.\" +. diff --git a/docs/man/memcached_prepend.3 b/docs/man/memcached_prepend.3 index 4aa5f87d..485252ac 100644 --- a/docs/man/memcached_prepend.3 +++ b/docs/man/memcached_prepend.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_PREPEND" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_PREPEND" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_prepend \- Storing and Replacing Data . @@ -61,27 +61,27 @@ Store value on server .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); +.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); .UNINDENT .sp Compile and link with \-lmemcached @@ -121,7 +121,7 @@ information on how to do this. memcached_set_by_key(), memcached_add_by_key(), memcached_replace_by_key(), memcached_prepend_by_key(), memcached_append_by_key_by_key(), memcached_cas_by_key() methods all behave in a similar method as the non key -methods. The difference is that they use their master_key parameter to map +methods. The difference is that they use their group_key parameter to map objects to particular servers. .sp If you are looking for performance, memcached_set() with non\-blocking IO is diff --git a/docs/man/memcached_prepend_by_key.3 b/docs/man/memcached_prepend_by_key.3 index d310a8d9..11c6ef41 100644 --- a/docs/man/memcached_prepend_by_key.3 +++ b/docs/man/memcached_prepend_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_PREPEND_BY_KEY" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_PREPEND_BY_KEY" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_prepend_by_key \- Storing and Replacing Data . @@ -61,27 +61,27 @@ Store value on server .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); +.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); .UNINDENT .sp Compile and link with \-lmemcached @@ -121,7 +121,7 @@ information on how to do this. memcached_set_by_key(), memcached_add_by_key(), memcached_replace_by_key(), memcached_prepend_by_key(), memcached_append_by_key_by_key(), memcached_cas_by_key() methods all behave in a similar method as the non key -methods. The difference is that they use their master_key parameter to map +methods. The difference is that they use their group_key parameter to map objects to particular servers. .sp If you are looking for performance, memcached_set() with non\-blocking IO is diff --git a/docs/man/memcached_quit.3 b/docs/man/memcached_quit.3 index c0a4f8c1..847ebe98 100644 --- a/docs/man/memcached_quit.3 +++ b/docs/man/memcached_quit.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_QUIT" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_QUIT" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_quit \- libmemcached Documentation . diff --git a/docs/man/memcached_replace.3 b/docs/man/memcached_replace.3 index 3b359afb..033eb368 100644 --- a/docs/man/memcached_replace.3 +++ b/docs/man/memcached_replace.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_REPLACE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_REPLACE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_replace \- Storing and Replacing Data . @@ -61,27 +61,27 @@ Store value on server .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); +.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); .UNINDENT .sp Compile and link with \-lmemcached @@ -121,7 +121,7 @@ information on how to do this. memcached_set_by_key(), memcached_add_by_key(), memcached_replace_by_key(), memcached_prepend_by_key(), memcached_append_by_key_by_key(), memcached_cas_by_key() methods all behave in a similar method as the non key -methods. The difference is that they use their master_key parameter to map +methods. The difference is that they use their group_key parameter to map objects to particular servers. .sp If you are looking for performance, memcached_set() with non\-blocking IO is diff --git a/docs/man/memcached_replace_by_key.3 b/docs/man/memcached_replace_by_key.3 index fc3f37ae..efe82fc0 100644 --- a/docs/man/memcached_replace_by_key.3 +++ b/docs/man/memcached_replace_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_REPLACE_BY_KEY" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_REPLACE_BY_KEY" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_replace_by_key \- Storing and Replacing Data . @@ -61,27 +61,27 @@ Store value on server .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); +.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); .UNINDENT .sp Compile and link with \-lmemcached @@ -121,7 +121,7 @@ information on how to do this. memcached_set_by_key(), memcached_add_by_key(), memcached_replace_by_key(), memcached_prepend_by_key(), memcached_append_by_key_by_key(), memcached_cas_by_key() methods all behave in a similar method as the non key -methods. The difference is that they use their master_key parameter to map +methods. The difference is that they use their group_key parameter to map objects to particular servers. .sp If you are looking for performance, memcached_set() with non\-blocking IO is diff --git a/docs/man/memcached_result_cas.3 b/docs/man/memcached_result_cas.3 index 5c79c7b9..103621eb 100644 --- a/docs/man/memcached_result_cas.3 +++ b/docs/man/memcached_result_cas.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_CAS" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_RESULT_CAS" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_result_cas \- Working with result sets . diff --git a/docs/man/memcached_result_create.3 b/docs/man/memcached_result_create.3 index 6d426325..b78b789d 100644 --- a/docs/man/memcached_result_create.3 +++ b/docs/man/memcached_result_create.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_CREATE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_RESULT_CREATE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_result_create \- Working with result sets . diff --git a/docs/man/memcached_result_flags.3 b/docs/man/memcached_result_flags.3 index 501b9ec9..33c0a803 100644 --- a/docs/man/memcached_result_flags.3 +++ b/docs/man/memcached_result_flags.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_FLAGS" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_RESULT_FLAGS" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_result_flags \- Working with result sets . diff --git a/docs/man/memcached_result_free.3 b/docs/man/memcached_result_free.3 index dddf7307..01b5e59c 100644 --- a/docs/man/memcached_result_free.3 +++ b/docs/man/memcached_result_free.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_FREE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_RESULT_FREE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_result_free \- Working with result sets . diff --git a/docs/man/memcached_result_key_length.3 b/docs/man/memcached_result_key_length.3 index 8a648a56..050e7a5d 100644 --- a/docs/man/memcached_result_key_length.3 +++ b/docs/man/memcached_result_key_length.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_KEY_LENGTH" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_RESULT_KEY_LENGTH" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_result_key_length \- Working with result sets . diff --git a/docs/man/memcached_result_key_value.3 b/docs/man/memcached_result_key_value.3 index 88d0fa2a..cf0021aa 100644 --- a/docs/man/memcached_result_key_value.3 +++ b/docs/man/memcached_result_key_value.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_KEY_VALUE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_RESULT_KEY_VALUE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_result_key_value \- Working with result sets . diff --git a/docs/man/memcached_result_length.3 b/docs/man/memcached_result_length.3 index 0d28a293..f07d3058 100644 --- a/docs/man/memcached_result_length.3 +++ b/docs/man/memcached_result_length.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_LENGTH" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_RESULT_LENGTH" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_result_length \- Working with result sets . diff --git a/docs/man/memcached_result_st.3 b/docs/man/memcached_result_st.3 index c1b418de..d761af4a 100644 --- a/docs/man/memcached_result_st.3 +++ b/docs/man/memcached_result_st.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_ST" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_RESULT_ST" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_result_st \- Working with result sets . diff --git a/docs/man/memcached_result_value.3 b/docs/man/memcached_result_value.3 index b04a2ad0..16522862 100644 --- a/docs/man/memcached_result_value.3 +++ b/docs/man/memcached_result_value.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_RESULT_VALUE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_RESULT_VALUE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_result_value \- Working with result sets . diff --git a/docs/man/memcached_sasl.3 b/docs/man/memcached_sasl.3 index 791b979f..37680add 100644 --- a/docs/man/memcached_sasl.3 +++ b/docs/man/memcached_sasl.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SASL" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SASL" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_sasl \- libmemcached Documentation . diff --git a/docs/man/memcached_sasl_set_auth_data.3 b/docs/man/memcached_sasl_set_auth_data.3 index 4d599937..421bfcf9 100644 --- a/docs/man/memcached_sasl_set_auth_data.3 +++ b/docs/man/memcached_sasl_set_auth_data.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SASL_SET_AUTH_DATA" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SASL_SET_AUTH_DATA" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_sasl_set_auth_data \- libmemcached Documentation . diff --git a/docs/man/memcached_server_add.3 b/docs/man/memcached_server_add.3 index a63ab51b..ce130f94 100644 --- a/docs/man/memcached_server_add.3 +++ b/docs/man/memcached_server_add.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_ADD" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SERVER_ADD" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_server_add \- libmemcached Documentation . diff --git a/docs/man/memcached_server_add_unix_socket.3 b/docs/man/memcached_server_add_unix_socket.3 index ec5a8bd0..1efab87c 100644 --- a/docs/man/memcached_server_add_unix_socket.3 +++ b/docs/man/memcached_server_add_unix_socket.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_ADD_UNIX_SOCKET" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SERVER_ADD_UNIX_SOCKET" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_server_add_unix_socket \- libmemcached Documentation . diff --git a/docs/man/memcached_server_count.3 b/docs/man/memcached_server_count.3 index 41e30cbe..41376b26 100644 --- a/docs/man/memcached_server_count.3 +++ b/docs/man/memcached_server_count.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_COUNT" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SERVER_COUNT" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_server_count \- libmemcached Documentation . diff --git a/docs/man/memcached_server_cursor.3 b/docs/man/memcached_server_cursor.3 index a355c130..5759cc14 100644 --- a/docs/man/memcached_server_cursor.3 +++ b/docs/man/memcached_server_cursor.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_CURSOR" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SERVER_CURSOR" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_server_cursor \- libmemcached Documentation . diff --git a/docs/man/memcached_server_list.3 b/docs/man/memcached_server_list.3 index 95ffc8fe..ccd5f115 100644 --- a/docs/man/memcached_server_list.3 +++ b/docs/man/memcached_server_list.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_LIST" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SERVER_LIST" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_server_list \- libmemcached Documentation . diff --git a/docs/man/memcached_server_list_append.3 b/docs/man/memcached_server_list_append.3 index fd3feb33..cf2b8660 100644 --- a/docs/man/memcached_server_list_append.3 +++ b/docs/man/memcached_server_list_append.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_LIST_APPEND" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SERVER_LIST_APPEND" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_server_list_append \- libmemcached Documentation . diff --git a/docs/man/memcached_server_list_count.3 b/docs/man/memcached_server_list_count.3 index 37748324..b0f7e943 100644 --- a/docs/man/memcached_server_list_count.3 +++ b/docs/man/memcached_server_list_count.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_LIST_COUNT" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SERVER_LIST_COUNT" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_server_list_count \- libmemcached Documentation . diff --git a/docs/man/memcached_server_list_free.3 b/docs/man/memcached_server_list_free.3 index d4b9f929..28ece895 100644 --- a/docs/man/memcached_server_list_free.3 +++ b/docs/man/memcached_server_list_free.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_LIST_FREE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SERVER_LIST_FREE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_server_list_free \- libmemcached Documentation . diff --git a/docs/man/memcached_server_push.3 b/docs/man/memcached_server_push.3 index bd291b3d..478bbd60 100644 --- a/docs/man/memcached_server_push.3 +++ b/docs/man/memcached_server_push.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_PUSH" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SERVER_PUSH" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_server_push \- libmemcached Documentation . diff --git a/docs/man/memcached_server_st.3 b/docs/man/memcached_server_st.3 index ac7c9a46..83e3b830 100644 --- a/docs/man/memcached_server_st.3 +++ b/docs/man/memcached_server_st.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVER_ST" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SERVER_ST" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_server_st \- libmemcached Documentation . diff --git a/docs/man/memcached_servers.3 b/docs/man/memcached_servers.3 index a58c4878..110d23ce 100644 --- a/docs/man/memcached_servers.3 +++ b/docs/man/memcached_servers.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVERS" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SERVERS" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_servers \- libmemcached Documentation . diff --git a/docs/man/memcached_servers_parse.3 b/docs/man/memcached_servers_parse.3 index 8bc67ecc..ae0e3dff 100644 --- a/docs/man/memcached_servers_parse.3 +++ b/docs/man/memcached_servers_parse.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVERS_PARSE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SERVERS_PARSE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_servers_parse \- libmemcached Documentation . diff --git a/docs/man/memcached_servers_reset.3 b/docs/man/memcached_servers_reset.3 index 42dde1fe..2ce0cc8c 100644 --- a/docs/man/memcached_servers_reset.3 +++ b/docs/man/memcached_servers_reset.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SERVERS_RESET" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SERVERS_RESET" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_servers_reset \- libmemcached Documentation . diff --git a/docs/man/memcached_set.3 b/docs/man/memcached_set.3 index 048dc42b..c7326a31 100644 --- a/docs/man/memcached_set.3 +++ b/docs/man/memcached_set.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SET" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SET" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_set \- Storing and Replacing Data . @@ -61,27 +61,27 @@ Store value on server .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); +.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); .UNINDENT .sp Compile and link with \-lmemcached @@ -121,7 +121,7 @@ information on how to do this. memcached_set_by_key(), memcached_add_by_key(), memcached_replace_by_key(), memcached_prepend_by_key(), memcached_append_by_key_by_key(), memcached_cas_by_key() methods all behave in a similar method as the non key -methods. The difference is that they use their master_key parameter to map +methods. The difference is that they use their group_key parameter to map objects to particular servers. .sp If you are looking for performance, memcached_set() with non\-blocking IO is diff --git a/docs/man/memcached_set_by_key.3 b/docs/man/memcached_set_by_key.3 index 8c870cbe..21a95d7b 100644 --- a/docs/man/memcached_set_by_key.3 +++ b/docs/man/memcached_set_by_key.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SET_BY_KEY" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SET_BY_KEY" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_set_by_key \- Storing and Replacing Data . @@ -61,27 +61,27 @@ Store value on server .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.B memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); .UNINDENT .INDENT 0.0 .TP -.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); +.B memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); .UNINDENT .sp Compile and link with \-lmemcached @@ -121,7 +121,7 @@ information on how to do this. memcached_set_by_key(), memcached_add_by_key(), memcached_replace_by_key(), memcached_prepend_by_key(), memcached_append_by_key_by_key(), memcached_cas_by_key() methods all behave in a similar method as the non key -methods. The difference is that they use their master_key parameter to map +methods. The difference is that they use their group_key parameter to map objects to particular servers. .sp If you are looking for performance, memcached_set() with non\-blocking IO is diff --git a/docs/man/memcached_set_memory_allocators.3 b/docs/man/memcached_set_memory_allocators.3 index e4547ff2..1e7cbd08 100644 --- a/docs/man/memcached_set_memory_allocators.3 +++ b/docs/man/memcached_set_memory_allocators.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SET_MEMORY_ALLOCATORS" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SET_MEMORY_ALLOCATORS" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_set_memory_allocators \- libmemcached Documentation . diff --git a/docs/man/memcached_set_memory_allocators_context.3 b/docs/man/memcached_set_memory_allocators_context.3 index f74529c0..95c42ea4 100644 --- a/docs/man/memcached_set_memory_allocators_context.3 +++ b/docs/man/memcached_set_memory_allocators_context.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SET_MEMORY_ALLOCATORS_CONTEXT" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SET_MEMORY_ALLOCATORS_CONTEXT" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_set_memory_allocators_context \- libmemcached Documentation . diff --git a/docs/man/memcached_set_sasl_callbacks.3 b/docs/man/memcached_set_sasl_callbacks.3 index 241d7ef5..235963e2 100644 --- a/docs/man/memcached_set_sasl_callbacks.3 +++ b/docs/man/memcached_set_sasl_callbacks.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SET_SASL_CALLBACKS" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SET_SASL_CALLBACKS" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_set_sasl_callbacks \- libmemcached Documentation . diff --git a/docs/man/memcached_set_user_data.3 b/docs/man/memcached_set_user_data.3 index f7bcb554..b69adc4a 100644 --- a/docs/man/memcached_set_user_data.3 +++ b/docs/man/memcached_set_user_data.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_SET_USER_DATA" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_SET_USER_DATA" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_set_user_data \- libmemcached Documentation . diff --git a/docs/man/memcached_stat.3 b/docs/man/memcached_stat.3 index 03dd9213..820aa2cc 100644 --- a/docs/man/memcached_stat.3 +++ b/docs/man/memcached_stat.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_STAT" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_STAT" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_stat \- libmemcached Documentation . diff --git a/docs/man/memcached_stat_execute.3 b/docs/man/memcached_stat_execute.3 index 233c4f35..cfbdf1e9 100644 --- a/docs/man/memcached_stat_execute.3 +++ b/docs/man/memcached_stat_execute.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_STAT_EXECUTE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_STAT_EXECUTE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_stat_execute \- libmemcached Documentation . diff --git a/docs/man/memcached_stat_get_keys.3 b/docs/man/memcached_stat_get_keys.3 index 82201db4..6a45f199 100644 --- a/docs/man/memcached_stat_get_keys.3 +++ b/docs/man/memcached_stat_get_keys.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_STAT_GET_KEYS" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_STAT_GET_KEYS" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_stat_get_keys \- libmemcached Documentation . diff --git a/docs/man/memcached_stat_get_value.3 b/docs/man/memcached_stat_get_value.3 index d629cb6f..a823b16c 100644 --- a/docs/man/memcached_stat_get_value.3 +++ b/docs/man/memcached_stat_get_value.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_STAT_GET_VALUE" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_STAT_GET_VALUE" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_stat_get_value \- libmemcached Documentation . diff --git a/docs/man/memcached_stat_servername.3 b/docs/man/memcached_stat_servername.3 index dd879d4e..cf8f394c 100644 --- a/docs/man/memcached_stat_servername.3 +++ b/docs/man/memcached_stat_servername.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_STAT_SERVERNAME" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_STAT_SERVERNAME" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_stat_servername \- libmemcached Documentation . diff --git a/docs/man/memcached_stats.3 b/docs/man/memcached_stats.3 index f61f5550..c4d68218 100644 --- a/docs/man/memcached_stats.3 +++ b/docs/man/memcached_stats.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_STATS" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_STATS" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_stats \- libmemcached Documentation . diff --git a/docs/man/memcached_strerror.3 b/docs/man/memcached_strerror.3 index 5f0c7758..c4d320f9 100644 --- a/docs/man/memcached_strerror.3 +++ b/docs/man/memcached_strerror.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_STRERROR" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_STRERROR" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_strerror \- libmemcached Documentation . diff --git a/docs/man/memcached_user_data.3 b/docs/man/memcached_user_data.3 index 56e9abc4..44c03ef4 100644 --- a/docs/man/memcached_user_data.3 +++ b/docs/man/memcached_user_data.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_USER_DATA" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_USER_DATA" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_user_data \- libmemcached Documentation . diff --git a/docs/man/memcached_verbosity.3 b/docs/man/memcached_verbosity.3 index adc61beb..d1379357 100644 --- a/docs/man/memcached_verbosity.3 +++ b/docs/man/memcached_verbosity.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_VERBOSITY" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_VERBOSITY" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_verbosity \- libmemcached Documentation . diff --git a/docs/man/memcached_version.3 b/docs/man/memcached_version.3 index 2462b757..fe232e01 100644 --- a/docs/man/memcached_version.3 +++ b/docs/man/memcached_version.3 @@ -1,4 +1,4 @@ -.TH "MEMCACHED_VERSION" "3" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_VERSION" "3" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcached_version \- libmemcached Documentation . diff --git a/docs/man/memcapable.1 b/docs/man/memcapable.1 index 6659f88f..b15e498e 100644 --- a/docs/man/memcapable.1 +++ b/docs/man/memcapable.1 @@ -1,4 +1,4 @@ -.TH "MEMCAPABLE" "1" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCAPABLE" "1" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcapable \- libmemcached Documentation . @@ -33,6 +33,8 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .sp Check the server for compatibility and capabilities .SH SYNOPSIS +.sp +\fBmemcapable\fP .INDENT 0.0 .TP .B \-h hostname diff --git a/docs/man/memcat.1 b/docs/man/memcat.1 index 5b4c395d..400664b5 100644 --- a/docs/man/memcat.1 +++ b/docs/man/memcat.1 @@ -1,4 +1,4 @@ -.TH "MEMCAT" "1" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCAT" "1" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcat \- libmemcached Documentation . @@ -33,6 +33,8 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .sp Copy a set of keys to stdout .SH SYNOPSIS +.sp +\fBmemcat\fP .INDENT 0.0 .TP .B \-\-help diff --git a/docs/man/memcp.1 b/docs/man/memcp.1 index 0a9a46f1..30b1b02c 100644 --- a/docs/man/memcp.1 +++ b/docs/man/memcp.1 @@ -1,4 +1,4 @@ -.TH "MEMCP" "1" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMCP" "1" "April 12, 2011" "0.47" "libmemcached" .SH NAME memcp \- libmemcached Documentation . @@ -35,6 +35,12 @@ Copies files to a collection of memcached servers .SH SYNOPSIS .INDENT 0.0 .TP +.B program +. +\fImemcp\fP +.UNINDENT +.INDENT 0.0 +.TP .B \-\-help .UNINDENT .SH DESCRIPTION diff --git a/docs/man/memdump.1 b/docs/man/memdump.1 index 5df5ab66..2438b80e 100644 --- a/docs/man/memdump.1 +++ b/docs/man/memdump.1 @@ -1,4 +1,4 @@ -.TH "MEMDUMP" "1" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMDUMP" "1" "April 12, 2011" "0.47" "libmemcached" .SH NAME memdump \- libmemcached Documentation . @@ -35,6 +35,12 @@ Dump a list of keys from a server. .SH SYNOPSIS .INDENT 0.0 .TP +.B program +. +\fImemdump\fP +.UNINDENT +.INDENT 0.0 +.TP .B \-\-help .UNINDENT .SH DESCRIPTION diff --git a/docs/man/memerror.1 b/docs/man/memerror.1 index 8af03844..9a73f547 100644 --- a/docs/man/memerror.1 +++ b/docs/man/memerror.1 @@ -1,4 +1,4 @@ -.TH "MEMERROR" "1" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMERROR" "1" "April 12, 2011" "0.47" "libmemcached" .SH NAME memerror \- libmemcached Documentation . @@ -35,6 +35,12 @@ Translate a memcached error code to a string .SH SYNOPSIS .INDENT 0.0 .TP +.B program +. +\fImemerror\fP +.UNINDENT +.INDENT 0.0 +.TP .B \-\-help .UNINDENT .SH DESCRIPTION diff --git a/docs/man/memflush.1 b/docs/man/memflush.1 index 192b3e07..0e6d9415 100644 --- a/docs/man/memflush.1 +++ b/docs/man/memflush.1 @@ -1,4 +1,4 @@ -.TH "MEMFLUSH" "1" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMFLUSH" "1" "April 12, 2011" "0.47" "libmemcached" .SH NAME memflush \- libmemcached Documentation . @@ -35,6 +35,12 @@ Reset a server or list of servers .SH SYNOPSIS .INDENT 0.0 .TP +.B program +. +\fImemflush\fP +.UNINDENT +.INDENT 0.0 +.TP .B \-\-help .UNINDENT .SH DESCRIPTION diff --git a/docs/man/memrm.1 b/docs/man/memrm.1 index 67351604..c590f522 100644 --- a/docs/man/memrm.1 +++ b/docs/man/memrm.1 @@ -1,4 +1,4 @@ -.TH "MEMRM" "1" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMRM" "1" "April 12, 2011" "0.47" "libmemcached" .SH NAME memrm \- libmemcached Documentation . @@ -35,6 +35,12 @@ memrm \- Remove a key(s) from a collection of memcached servers .SH SYNOPSIS .INDENT 0.0 .TP +.B program +. +\fImemrm\fP +.UNINDENT +.INDENT 0.0 +.TP .B \-\-help .UNINDENT .SH DESCRIPTION diff --git a/docs/man/memslap.1 b/docs/man/memslap.1 index 304ccbc5..2678bbdb 100644 --- a/docs/man/memslap.1 +++ b/docs/man/memslap.1 @@ -1,4 +1,4 @@ -.TH "MEMSLAP" "1" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMSLAP" "1" "April 12, 2011" "0.47" "libmemcached" .SH NAME memslap \- libmemcached Documentation . @@ -31,6 +31,16 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" Man page generated from reStructeredText. . .SH SYNOPSIS +.INDENT 0.0 +.TP +.B program +. +\fImemslap\fP +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-help +.UNINDENT .SH DESCRIPTION .sp \fBmemslap\fP is a load generation and benchmark tool for memcached(1) diff --git a/docs/man/memstat.1 b/docs/man/memstat.1 index bc0fdd13..729e7db3 100644 --- a/docs/man/memstat.1 +++ b/docs/man/memstat.1 @@ -1,4 +1,4 @@ -.TH "MEMSTAT" "1" "April 09, 2011" "0.47" "libmemcached" +.TH "MEMSTAT" "1" "April 12, 2011" "0.47" "libmemcached" .SH NAME memstat \- libmemcached Documentation . @@ -35,6 +35,12 @@ memstat \- Display the operating status of a single or group of memcached server .SH SYNOPSIS .INDENT 0.0 .TP +.B program +. +\fImemstat\fP +.UNINDENT +.INDENT 0.0 +.TP .B \-\-help .UNINDENT .SH DESCRIPTION diff --git a/docs/memaslap.rst b/docs/memaslap.rst index 841b7a64..5229a970 100644 --- a/docs/memaslap.rst +++ b/docs/memaslap.rst @@ -7,6 +7,8 @@ memaslap - Load testing and benchmarking a server SYNOPSIS -------- +:program:: `memaslap` + .. program:: memaslap .. option:: --help diff --git a/docs/memcached_auto.rst b/docs/memcached_auto.rst index 39b4247a..fab217f9 100644 --- a/docs/memcached_auto.rst +++ b/docs/memcached_auto.rst @@ -20,13 +20,13 @@ SYNOPSIS .. c:function:: memcached_return_t memcached_decrement_with_initial (memcached_st *ptr, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); -.. c:function:: memcached_return_t memcached_increment_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); +.. c:function:: memcached_return_t memcached_increment_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); -.. c:function:: memcached_return_t memcached_decrement_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); +.. c:function:: memcached_return_t memcached_decrement_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, unsigned int offset, uint64_t *value); -.. c:function:: memcached_return_t memcached_increment_with_initial_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); +.. c:function:: memcached_return_t memcached_increment_with_initial_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); -.. c:function:: memcached_return_t memcached_decrement_with_initial_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); +.. c:function:: memcached_return_t memcached_decrement_with_initial_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, time_t expiration, uint64_t *value); Compile and link with -lmemcached diff --git a/docs/memcached_create.rst b/docs/memcached_create.rst index ce692855..18212b6e 100644 --- a/docs/memcached_create.rst +++ b/docs/memcached_create.rst @@ -5,6 +5,7 @@ Creating and destroying a memcached_st Create a memcached_st structure +.. index:: object: memcached_st -------- SYNOPSIS diff --git a/docs/memcached_delete.rst b/docs/memcached_delete.rst index 85ecef7e..6082094a 100644 --- a/docs/memcached_delete.rst +++ b/docs/memcached_delete.rst @@ -11,7 +11,7 @@ SYNOPSIS .. c:function:: memcached_return_t memcached_delete (memcached_st *ptr, const char *key, size_t key_length, time_t expiration); -.. c:function:: memcached_return_t memcached_delete_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, time_t expiration); +.. c:function:: memcached_return_t memcached_delete_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, time_t expiration); Compile and link with -lmemcached diff --git a/docs/memcached_get.rst b/docs/memcached_get.rst index ea0c6355..c857b329 100644 --- a/docs/memcached_get.rst +++ b/docs/memcached_get.rst @@ -16,9 +16,9 @@ SYNOPSIS .. c:function:: memcached_return_t memcached_mget (memcached_st *ptr, const char * const *keys, const size_t *key_length, size_t number_of_keys); -.. c:function:: char * memcached_get_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); +.. c:function:: char * memcached_get_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); -.. c:function:: memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); +.. c:function:: memcached_return_t memcached_mget_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys); .. c:function:: char * memcached_fetch (memcached_st *ptr, char *key, size_t *key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error); @@ -26,7 +26,7 @@ SYNOPSIS .. c:function:: memcached_return_t memcached_mget_execute (memcached_st *ptr, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); -.. c:function:: memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *master_key, size_t master_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); +.. c:function:: memcached_return_t memcached_mget_execute_by_key (memcached_st *ptr, const char *group_key, size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, memcached_execute_fn *callback, void *context, uint32_t number_of_callbacks); Compile and link with -lmemcached diff --git a/docs/memcached_pool.rst b/docs/memcached_pool.rst index b7a0f040..8d8abdd4 100644 --- a/docs/memcached_pool.rst +++ b/docs/memcached_pool.rst @@ -2,13 +2,17 @@ Working with memcached pools ============================ +.. index:: object: memcached_pool_st + -------- SYNOPSIS -------- #include -.. c:function:: memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); +.. c:function:: memcached_pool_st *memcached_pool(const char *option_string, size_t option_string_length); + +.. c:function:: memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); DEPRECATED .. c:function:: memcached_st * memcached_pool_destroy(memcached_pool_st* pool); @@ -30,23 +34,28 @@ DESCRIPTION ----------- -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 -lived \ ``memcached_st``\ objects. The mmc argument should be an -initialised \ ``memcached_st``\ structure, and a successfull invocation of -memcached_pool_create takes full ownership of the variable (until it -is released by memcached_pool_destroy). The \ ``initial``\ argument -specifies the initial size of the connection pool, and the \ ``max``\ -argument specifies the maximum size the connection pool should grow -to. Please note that the library will allocate a fixed size buffer -scaled to the max size of the connection pool, so you should not pass -MAXINT or some other large number here. +memcached_pool() is used to create a connection pool of objects you may use +to remove the overhead of using memcached_clone for short lived +\ ``memcached_st``\ objects. Please see :manpage:`libmemcached_configuration` for details on the format of the configuration string. + +DEPRECATED 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 lived \ ``memcached_st``\ objects. The mmc argument should be an +initialised \ ``memcached_st``\ structure, and a successfull invocation of +memcached_pool_create takes full ownership of the variable (until it is +released by memcached_pool_destroy). The \ ``initial``\ argument specifies +the initial size of the connection pool, and the \ ``max``\ argument +specifies the maximum size the connection pool should grow to. Please note +that the library will allocate a fixed size buffer scaled to the max size of +the connection pool, so you should not pass MAXINT or some other large +number here. memcached_pool_destroy() is used to destroy the connection pool created with memcached_pool_create() and release all allocated resources. It will return the pointer to the \ ``memcached_st``\ structure -passed as an argument to memcached_pool_create(), and returns the -ownership of the pointer to the caller. +passed as an argument to memcached_pool_create(), and returns the ownership +of the pointer to the caller when created with memcached_pool_create, +otherwise NULL is returned.. memcached_pool_pop() is used to grab a connection structure from the connection pool. The block argument specifies if the function should diff --git a/docs/memcached_set.rst b/docs/memcached_set.rst index 2d026fa7..ec6c60e2 100644 --- a/docs/memcached_set.rst +++ b/docs/memcached_set.rst @@ -26,17 +26,17 @@ SYNOPSIS .. c:function:: memcached_return_t memcached_cas(memcached_st *ptr, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); -.. c:function:: memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.. c:function:: memcached_return_t memcached_set_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); -.. c:function:: memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.. c:function:: memcached_return_t memcached_add_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); -.. c:function:: memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.. c:function:: memcached_return_t memcached_replace_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); -.. c:function:: memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.. c:function:: memcached_return_t memcached_prepend_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); -.. c:function:: memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); +.. c:function:: memcached_return_t memcached_append_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags); -.. c:function:: memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *master_key, size_t master_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); +.. c:function:: memcached_return_t memcached_cas_by_key(memcached_st *ptr, const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags, uint64_t cas); Compile and link with -lmemcached @@ -80,7 +80,7 @@ information on how to do this. memcached_set_by_key(), memcached_add_by_key(), memcached_replace_by_key(), memcached_prepend_by_key(), memcached_append_by_key_by_key(), memcached_cas_by_key() methods all behave in a similar method as the non key -methods. The difference is that they use their master_key parameter to map +methods. The difference is that they use their group_key parameter to map objects to particular servers. If you are looking for performance, memcached_set() with non-blocking IO is diff --git a/docs/memcapable.rst b/docs/memcapable.rst index 97dbc066..a22ba2c8 100644 --- a/docs/memcapable.rst +++ b/docs/memcapable.rst @@ -10,7 +10,9 @@ Check the server for compatibility and capabilities SYNOPSIS -------- -.. program:: memcat +:program:`memcapable` + +.. program:: memcapable .. option:: -h hostname diff --git a/docs/memcat.rst b/docs/memcat.rst index 911e478b..0558ed2a 100644 --- a/docs/memcat.rst +++ b/docs/memcat.rst @@ -11,6 +11,7 @@ SYNOPSIS -------- +:program:`memcat` .. program:: memcat diff --git a/docs/memcp.rst b/docs/memcp.rst index 1933078b..0d4bae57 100644 --- a/docs/memcp.rst +++ b/docs/memcp.rst @@ -10,6 +10,8 @@ Copies files to a collection of memcached servers SYNOPSIS -------- +:program: `memcp` + .. program:: memcp .. option:: --help diff --git a/docs/memdump.rst b/docs/memdump.rst index 05fea79a..e667278e 100644 --- a/docs/memdump.rst +++ b/docs/memdump.rst @@ -10,6 +10,8 @@ Dump a list of keys from a server. SYNOPSIS -------- +:program: `memdump` + .. program:: memdump .. option:: --help diff --git a/docs/memerror.rst b/docs/memerror.rst index 880de8ca..37638c26 100644 --- a/docs/memerror.rst +++ b/docs/memerror.rst @@ -10,6 +10,8 @@ Translate a memcached error code to a string SYNOPSIS -------- +:program: `memerror` + .. program:: memerror .. option:: --help diff --git a/docs/memflush.rst b/docs/memflush.rst index 88982259..62ab6792 100644 --- a/docs/memflush.rst +++ b/docs/memflush.rst @@ -10,6 +10,8 @@ Reset a server or list of servers SYNOPSIS -------- +:program: `memflush` + .. program:: memflush .. option:: --help diff --git a/docs/memrm.rst b/docs/memrm.rst index eab53ba0..d35cbd51 100644 --- a/docs/memrm.rst +++ b/docs/memrm.rst @@ -10,7 +10,7 @@ memrm - Remove a key(s) from a collection of memcached servers SYNOPSIS -------- - +:program: `memrm` .. program:: memrm diff --git a/docs/memslap.rst b/docs/memslap.rst index 134cdf2d..cde4ace7 100644 --- a/docs/memslap.rst +++ b/docs/memslap.rst @@ -8,8 +8,11 @@ SYNOPSIS -------- -.. program:: memslap [options] +:program: `memslap` +.. program:: memslap + +.. option:: --help ----------- DESCRIPTION diff --git a/docs/memstat.rst b/docs/memstat.rst index bed68398..da15a8d4 100644 --- a/docs/memstat.rst +++ b/docs/memstat.rst @@ -10,6 +10,8 @@ memstat - Display the operating status of a single or group of memcached servers SYNOPSIS -------- +:program: `memstat` + .. program:: memstat .. option:: --help diff --git a/docs/tap.rst b/docs/tap.rst new file mode 100644 index 00000000..5572f114 --- /dev/null +++ b/docs/tap.rst @@ -0,0 +1,7 @@ +================= +Systemtap support +================= + +By default on Linux libmemcached is compiled to support Systemtap. This enabled/disabled during compiles via the dtrace configure flag. + +Please see :manpage: `stapex` for more information about Systemtap. diff --git a/libmemcached/auto.c b/libmemcached/auto.c index 7bd0cc12..325ddb6b 100644 --- a/libmemcached/auto.c +++ b/libmemcached/auto.c @@ -13,7 +13,7 @@ static memcached_return_t text_incr_decr(memcached_st *ptr, const char *verb, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t *value) @@ -30,7 +30,7 @@ static memcached_return_t text_incr_decr(memcached_st *ptr, if (ptr->flags.verify_key && (memcached_key_test((const char **)&key, &key_length, 1) == MEMCACHED_BAD_KEY_PROVIDED)) return MEMCACHED_BAD_KEY_PROVIDED; - server_key= memcached_generate_hash_with_redistribution(ptr, master_key, master_key_length); + server_key= memcached_generate_hash_with_redistribution(ptr, group_key, group_key_length); instance= memcached_server_instance_fetch(ptr, server_key); int send_length; @@ -80,7 +80,7 @@ static memcached_return_t text_incr_decr(memcached_st *ptr, } static memcached_return_t binary_incr_decr(memcached_st *ptr, uint8_t cmd, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t initial, uint32_t expiration, @@ -93,7 +93,7 @@ static memcached_return_t binary_incr_decr(memcached_st *ptr, uint8_t cmd, if (memcached_server_count(ptr) == 0) return memcached_set_error(ptr, MEMCACHED_NO_SERVERS, NULL); - server_key= memcached_generate_hash_with_redistribution(ptr, master_key, master_key_length); + server_key= memcached_generate_hash_with_redistribution(ptr, group_key, group_key_length); instance= memcached_server_instance_fetch(ptr, server_key); if (no_reply) @@ -159,7 +159,7 @@ memcached_return_t memcached_decrement(memcached_st *ptr, } memcached_return_t memcached_increment_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t *value) @@ -176,13 +176,13 @@ memcached_return_t memcached_increment_by_key(memcached_st *ptr, if (ptr->flags.binary_protocol) { rc= binary_incr_decr(ptr, PROTOCOL_BINARY_CMD_INCREMENT, - master_key, master_key_length, key, key_length, + group_key, group_key_length, key, key_length, (uint64_t)offset, 0, MEMCACHED_EXPIRATION_NOT_ADD, value); } else { - rc= text_incr_decr(ptr, "incr", master_key, master_key_length, key, key_length, offset, value); + rc= text_incr_decr(ptr, "incr", group_key, group_key_length, key, key_length, offset, value); } LIBMEMCACHED_MEMCACHED_INCREMENT_END(); @@ -191,7 +191,7 @@ memcached_return_t memcached_increment_by_key(memcached_st *ptr, } memcached_return_t memcached_decrement_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t *value) @@ -208,13 +208,13 @@ memcached_return_t memcached_decrement_by_key(memcached_st *ptr, if (ptr->flags.binary_protocol) { rc= binary_incr_decr(ptr, PROTOCOL_BINARY_CMD_DECREMENT, - master_key, master_key_length, key, key_length, + group_key, group_key_length, key, key_length, (uint64_t)offset, 0, MEMCACHED_EXPIRATION_NOT_ADD, value); } else { - rc= text_incr_decr(ptr, "decr", master_key, master_key_length, key, key_length, offset, value); + rc= text_incr_decr(ptr, "decr", group_key, group_key_length, key, key_length, offset, value); } LIBMEMCACHED_MEMCACHED_DECREMENT_END(); @@ -240,8 +240,8 @@ memcached_return_t memcached_increment_with_initial(memcached_st *ptr, } memcached_return_t memcached_increment_with_initial_by_key(memcached_st *ptr, - const char *master_key, - size_t master_key_length, + const char *group_key, + size_t group_key_length, const char *key, size_t key_length, uint64_t offset, @@ -260,7 +260,7 @@ memcached_return_t memcached_increment_with_initial_by_key(memcached_st *ptr, LIBMEMCACHED_MEMCACHED_INCREMENT_WITH_INITIAL_START(); if (ptr->flags.binary_protocol) rc= binary_incr_decr(ptr, PROTOCOL_BINARY_CMD_INCREMENT, - master_key, master_key_length, key, key_length, + group_key, group_key_length, key, key_length, offset, initial, (uint32_t)expiration, value); else @@ -289,8 +289,8 @@ memcached_return_t memcached_decrement_with_initial(memcached_st *ptr, } memcached_return_t memcached_decrement_with_initial_by_key(memcached_st *ptr, - const char *master_key, - size_t master_key_length, + const char *group_key, + size_t group_key_length, const char *key, size_t key_length, uint64_t offset, @@ -310,7 +310,7 @@ memcached_return_t memcached_decrement_with_initial_by_key(memcached_st *ptr, if (ptr->flags.binary_protocol) { rc= binary_incr_decr(ptr, PROTOCOL_BINARY_CMD_DECREMENT, - master_key, master_key_length, key, key_length, + group_key, group_key_length, key, key_length, offset, initial, (uint32_t)expiration, value); } diff --git a/libmemcached/auto.h b/libmemcached/auto.h index aa1b23dc..14ee90b5 100644 --- a/libmemcached/auto.h +++ b/libmemcached/auto.h @@ -29,14 +29,14 @@ LIBMEMCACHED_API LIBMEMCACHED_API memcached_return_t memcached_increment_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t *value); LIBMEMCACHED_API memcached_return_t memcached_decrement_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t *value); @@ -61,8 +61,8 @@ LIBMEMCACHED_API LIBMEMCACHED_API memcached_return_t memcached_increment_with_initial_by_key(memcached_st *ptr, - const char *master_key, - size_t master_key_length, + const char *group_key, + size_t group_key_length, const char *key, size_t key_length, uint64_t offset, @@ -72,8 +72,8 @@ LIBMEMCACHED_API LIBMEMCACHED_API memcached_return_t memcached_decrement_with_initial_by_key(memcached_st *ptr, - const char *master_key, - size_t master_key_length, + const char *group_key, + size_t group_key_length, const char *key, size_t key_length, uint64_t offset, diff --git a/libmemcached/connect.c b/libmemcached/connect.c index 9f17f0c3..a7b17f0c 100644 --- a/libmemcached/connect.c +++ b/libmemcached/connect.c @@ -165,7 +165,9 @@ static inline memcached_return_t set_socket_nonblocking(memcached_server_st *ptr int flags; do + { flags= fcntl(ptr->fd, F_GETFL, 0); + } while (flags == -1 && (errno == EINTR || errno == EAGAIN)); unlikely (flags == -1) @@ -178,7 +180,9 @@ static inline memcached_return_t set_socket_nonblocking(memcached_server_st *ptr int rval; do + { rval= fcntl(ptr->fd, F_SETFL, flags | O_NONBLOCK); + } while (rval == -1 && (errno == EINTR || errno == EAGAIN)); unlikely (rval == -1) diff --git a/libmemcached/delete.c b/libmemcached/delete.c index 9db350c1..78f08f26 100644 --- a/libmemcached/delete.c +++ b/libmemcached/delete.c @@ -52,7 +52,7 @@ static inline memcached_return_t binary_delete(memcached_st *ptr, bool flush); memcached_return_t memcached_delete_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, time_t expiration) { @@ -77,7 +77,7 @@ memcached_return_t memcached_delete_by_key(memcached_st *ptr, unlikely (memcached_server_count(ptr) == 0) return MEMCACHED_NO_SERVERS; - server_key= memcached_generate_hash_with_redistribution(ptr, master_key, master_key_length); + server_key= memcached_generate_hash_with_redistribution(ptr, group_key, group_key_length); instance= memcached_server_instance_fetch(ptr, server_key); to_write= (ptr->flags.buffer_requests) ? false : true; diff --git a/libmemcached/delete.h b/libmemcached/delete.h index 54736c0e..8d0d7eda 100644 --- a/libmemcached/delete.h +++ b/libmemcached/delete.h @@ -22,7 +22,7 @@ memcached_return_t memcached_delete(memcached_st *ptr, const char *key, size_t k LIBMEMCACHED_API memcached_return_t memcached_delete_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, time_t expiration); diff --git a/libmemcached/get.c b/libmemcached/get.c index 39f53373..46b6319c 100644 --- a/libmemcached/get.c +++ b/libmemcached/get.c @@ -25,16 +25,16 @@ char *memcached_get(memcached_st *ptr, const char *key, } static memcached_return_t memcached_mget_by_key_real(memcached_st *ptr, - const char *master_key, - size_t master_key_length, + const char *group_key, + size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, bool mget_mode); char *memcached_get_by_key(memcached_st *ptr, - const char *master_key, - size_t master_key_length, + const char *group_key, + size_t group_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, @@ -52,7 +52,7 @@ char *memcached_get_by_key(memcached_st *ptr, } /* Request the key */ - *error= memcached_mget_by_key_real(ptr, master_key, master_key_length, + *error= memcached_mget_by_key_real(ptr, group_key, group_key_length, (const char * const *)&key, &key_length, 1, false); @@ -130,15 +130,15 @@ memcached_return_t memcached_mget(memcached_st *ptr, static memcached_return_t binary_mget_by_key(memcached_st *ptr, uint32_t master_server_key, - bool is_master_key_set, + bool is_group_key_set, const char * const *keys, const size_t *key_length, size_t number_of_keys, bool mget_mode); static memcached_return_t memcached_mget_by_key_real(memcached_st *ptr, - const char *master_key, - size_t master_key_length, + const char *group_key, + size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, @@ -148,7 +148,7 @@ static memcached_return_t memcached_mget_by_key_real(memcached_st *ptr, const char *get_command= "get "; uint8_t get_command_length= 4; unsigned int master_server_key= (unsigned int)-1; /* 0 is a valid server id! */ - bool is_master_key_set= false; + bool is_group_key_set= false; memcached_return_t rc; if ((rc= initialize_query(ptr)) != MEMCACHED_SUCCESS) @@ -167,12 +167,12 @@ static memcached_return_t memcached_mget_by_key_real(memcached_st *ptr, if (ptr->flags.verify_key && (memcached_key_test(keys, key_length, number_of_keys) == MEMCACHED_BAD_KEY_PROVIDED)) return MEMCACHED_BAD_KEY_PROVIDED; - if (master_key && master_key_length) + if (group_key && group_key_length) { - if (ptr->flags.verify_key && (memcached_key_test((const char * const *)&master_key, &master_key_length, 1) == MEMCACHED_BAD_KEY_PROVIDED)) + if (ptr->flags.verify_key && (memcached_key_test((const char * const *)&group_key, &group_key_length, 1) == MEMCACHED_BAD_KEY_PROVIDED)) return MEMCACHED_BAD_KEY_PROVIDED; - master_server_key= memcached_generate_hash_with_redistribution(ptr, master_key, master_key_length); - is_master_key_set= true; + master_server_key= memcached_generate_hash_with_redistribution(ptr, group_key, group_key_length); + is_group_key_set= true; } /* @@ -200,7 +200,7 @@ static memcached_return_t memcached_mget_by_key_real(memcached_st *ptr, if (ptr->flags.binary_protocol) { - return binary_mget_by_key(ptr, master_server_key, is_master_key_set, keys, + return binary_mget_by_key(ptr, master_server_key, is_group_key_set, keys, key_length, number_of_keys, mget_mode); } @@ -221,7 +221,7 @@ static memcached_return_t memcached_mget_by_key_real(memcached_st *ptr, memcached_server_write_instance_st instance; uint32_t server_key; - if (is_master_key_set) + if (is_group_key_set) { server_key= master_server_key; } @@ -317,13 +317,13 @@ static memcached_return_t memcached_mget_by_key_real(memcached_st *ptr, } memcached_return_t memcached_mget_by_key(memcached_st *ptr, - const char *master_key, - size_t master_key_length, + const char *group_key, + size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys) { - return memcached_mget_by_key_real(ptr, master_key, master_key_length, keys, + return memcached_mget_by_key_real(ptr, group_key, group_key_length, keys, key_length, number_of_keys, true); } @@ -341,8 +341,8 @@ memcached_return_t memcached_mget_execute(memcached_st *ptr, } memcached_return_t memcached_mget_execute_by_key(memcached_st *ptr, - const char *master_key, - size_t master_key_length, + const char *group_key, + size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, @@ -362,7 +362,7 @@ memcached_return_t memcached_mget_execute_by_key(memcached_st *ptr, }; ptr->callbacks= &cb; - rc= memcached_mget_by_key(ptr, master_key, master_key_length, keys, + rc= memcached_mget_by_key(ptr, group_key, group_key_length, keys, key_length, number_of_keys); ptr->callbacks= original_callbacks; return rc; @@ -370,7 +370,7 @@ memcached_return_t memcached_mget_execute_by_key(memcached_st *ptr, static memcached_return_t simple_binary_mget(memcached_st *ptr, uint32_t master_server_key, - bool is_master_key_set, + bool is_group_key_set, const char * const *keys, const size_t *key_length, size_t number_of_keys, bool mget_mode) @@ -388,7 +388,7 @@ static memcached_return_t simple_binary_mget(memcached_st *ptr, uint32_t server_key; memcached_server_write_instance_st instance; - if (is_master_key_set) + if (is_group_key_set) { server_key= master_server_key; } @@ -592,7 +592,7 @@ static memcached_return_t replication_binary_mget(memcached_st *ptr, static memcached_return_t binary_mget_by_key(memcached_st *ptr, uint32_t master_server_key, - bool is_master_key_set, + bool is_group_key_set, const char * const *keys, const size_t *key_length, size_t number_of_keys, @@ -602,7 +602,7 @@ static memcached_return_t binary_mget_by_key(memcached_st *ptr, if (ptr->number_of_replicas == 0) { - rc= simple_binary_mget(ptr, master_server_key, is_master_key_set, + rc= simple_binary_mget(ptr, master_server_key, is_group_key_set, keys, key_length, number_of_keys, mget_mode); } else @@ -620,7 +620,7 @@ static memcached_return_t binary_mget_by_key(memcached_st *ptr, return MEMCACHED_MEMORY_ALLOCATION_FAILURE; } - if (is_master_key_set) + if (is_group_key_set) { for (size_t x= 0; x < number_of_keys; x++) { diff --git a/libmemcached/get.h b/libmemcached/get.h index a6d6b264..61e34356 100644 --- a/libmemcached/get.h +++ b/libmemcached/get.h @@ -32,7 +32,7 @@ memcached_return_t memcached_mget(memcached_st *ptr, LIBMEMCACHED_API char *memcached_get_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, size_t *value_length, uint32_t *flags, @@ -40,8 +40,8 @@ char *memcached_get_by_key(memcached_st *ptr, LIBMEMCACHED_API memcached_return_t memcached_mget_by_key(memcached_st *ptr, - const char *master_key, - size_t master_key_length, + const char *group_key, + size_t group_key_length, const char * const *keys, const size_t *key_length, const size_t number_of_keys); @@ -70,8 +70,8 @@ memcached_return_t memcached_mget_execute(memcached_st *ptr, LIBMEMCACHED_API memcached_return_t memcached_mget_execute_by_key(memcached_st *ptr, - const char *master_key, - size_t master_key_length, + const char *group_key, + size_t group_key_length, const char * const *keys, const size_t *key_length, size_t number_of_keys, diff --git a/libmemcached/memcached.c b/libmemcached/memcached.c index 120c2087..a1999d62 100644 --- a/libmemcached/memcached.c +++ b/libmemcached/memcached.c @@ -121,6 +121,8 @@ static inline bool _memcached_init(memcached_st *self) self->error_messages= NULL; self->prefix_key= NULL; + self->configure.initial_pool_size= 1; + self->configure.max_pool_size= 1; self->configure.filename= NULL; return true; @@ -210,8 +212,13 @@ memcached_st *memcached_create(memcached_st *ptr) memcached_st *memcached_create_with_options(const char *string, size_t length) { - memcached_st *self= memcached_create(NULL); + if (! length || ! string) + { + errno= EINVAL; + return NULL; + } + memcached_st *self= memcached_create(NULL); if (! self) { errno= ENOMEM; @@ -225,7 +232,6 @@ memcached_st *memcached_create_with_options(const char *string, size_t length) { rc= memcached_parse_configure_file(self, memcached_parse_filename(self), memcached_parse_filename_length(self)); } - if (rc != MEMCACHED_SUCCESS) { diff --git a/libmemcached/memcached.h b/libmemcached/memcached.h index fa291f93..1654ee1d 100644 --- a/libmemcached/memcached.h +++ b/libmemcached/memcached.h @@ -159,6 +159,8 @@ struct memcached_st { struct memcached_error_t *error_messages; struct memcached_array_st *prefix_key; struct { + uint32_t initial_pool_size; + uint32_t max_pool_size; struct memcached_array_st *filename; } configure; struct { diff --git a/libmemcached/options.cc b/libmemcached/options.cc index b404652e..55299559 100644 --- a/libmemcached/options.cc +++ b/libmemcached/options.cc @@ -35,9 +35,7 @@ * */ -#include "libmemcached/common.h" - -#include +#include #include @@ -90,6 +88,9 @@ memcached_return_t libmemcached_check_configuration(const char *option_string, s { memcached_st memc, *memc_ptr; + if (error_buffer_size) + error_buffer[0]= 0; + if (! (memc_ptr= memcached_create(&memc))) return MEMCACHED_MEMORY_ALLOCATION_FAILURE; @@ -119,7 +120,9 @@ memcached_return_t memcached_parse_configuration(memcached_st *self, char const { WATCHPOINT_ASSERT(self); if (! self) + { return memcached_set_error(self, MEMCACHED_INVALID_ARGUMENTS, NULL); + } memcached_return_t rc; Context context(option_string, length, self, rc); diff --git a/libmemcached/options/parser.cc b/libmemcached/options/parser.cc index 14754f92..91dfcd29 100644 --- a/libmemcached/options/parser.cc +++ b/libmemcached/options/parser.cc @@ -149,7 +149,7 @@ inline void config_error(Context *context, yyscan_t *scanner, const char *error) CONNECT_TIMEOUT = 273, DISTRIBUTION = 274, HASH = 275, - HASH_WITH_PREFIX_KEY = 276, + HASH_WITH_NAMESPACE = 276, IO_BYTES_WATERMARK = 277, IO_KEY_PREFETCH = 278, IO_MSG_WATERMARK = 279, @@ -173,30 +173,32 @@ inline void config_error(Context *context, yyscan_t *scanner, const char *error) _TCP_KEEPALIVE = 297, _TCP_KEEPIDLE = 298, _TCP_NODELAY = 299, - PREFIX_KEY = 300, - MD5 = 301, - CRC = 302, - FNV1_64 = 303, - FNV1A_64 = 304, - FNV1_32 = 305, - FNV1A_32 = 306, - HSIEH = 307, - MURMUR = 308, - JENKINS = 309, - CONSISTENT = 310, - MODULA = 311, - RANDOM = 312, - TRUE = 313, - FALSE = 314, - FLOAT = 315, - NUMBER = 316, - PORT = 317, - WEIGHT_START = 318, - IPADDRESS = 319, - HOSTNAME = 320, - STRING = 321, - QUOTED_STRING = 322, - FILE_PATH = 323 + NAMESPACE = 300, + POOL_MIN = 301, + POOL_MAX = 302, + MD5 = 303, + CRC = 304, + FNV1_64 = 305, + FNV1A_64 = 306, + FNV1_32 = 307, + FNV1A_32 = 308, + HSIEH = 309, + MURMUR = 310, + JENKINS = 311, + CONSISTENT = 312, + MODULA = 313, + RANDOM = 314, + TRUE = 315, + FALSE = 316, + FLOAT = 317, + NUMBER = 318, + PORT = 319, + WEIGHT_START = 320, + IPADDRESS = 321, + HOSTNAME = 322, + STRING = 323, + QUOTED_STRING = 324, + FILE_PATH = 325 }; #endif @@ -213,7 +215,7 @@ inline void config_error(Context *context, yyscan_t *scanner, const char *error) /* Line 264 of yacc.c */ -#line 217 "libmemcached/options/parser.cc" +#line 219 "libmemcached/options/parser.cc" #ifdef short # undef short @@ -426,22 +428,22 @@ union yyalloc #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 65 +#define YYFINAL 69 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 71 +#define YYLAST 73 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 72 +#define YYNTOKENS 74 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 12 /* YYNRULES -- Number of rules. */ -#define YYNRULES 64 +#define YYNRULES 66 /* YYNRULES -- Number of states. */ -#define YYNSTATES 78 +#define YYNSTATES 82 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 323 +#define YYMAXUTOK 325 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -452,10 +454,10 @@ static const yytype_uint8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 71, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 60, 2, 2, 2, 2, 2, + 2, 2, 73, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 62, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 61, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 63, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -480,8 +482,8 @@ static const yytype_uint8 yytranslate[] = 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, - 67, 68, 69, 70 + 55, 56, 57, 58, 59, 60, 61, 64, 65, 66, + 67, 68, 69, 70, 71, 72 }; #if YYDEBUG @@ -490,44 +492,45 @@ static const yytype_uint8 yytranslate[] = static const yytype_uint8 yyprhs[] = { 0, 0, 3, 5, 9, 11, 13, 15, 17, 19, - 21, 23, 27, 32, 37, 40, 42, 45, 48, 53, - 56, 59, 61, 63, 65, 67, 69, 71, 73, 75, - 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, - 97, 99, 101, 103, 105, 107, 109, 111, 112, 114, - 115, 117, 119, 121, 123, 125, 127, 129, 131, 133, - 135, 137, 139, 141, 143 + 21, 23, 27, 32, 37, 40, 43, 46, 48, 51, + 54, 59, 62, 65, 67, 69, 71, 73, 75, 77, + 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, + 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, + 118, 120, 121, 123, 125, 127, 129, 131, 133, 135, + 137, 139, 141, 143, 145, 147, 149 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { - 73, 0, -1, 74, -1, 73, 71, 74, -1, 75, + 75, 0, -1, 76, -1, 75, 73, 76, -1, 77, -1, 3, -1, 10, -1, 4, -1, 5, -1, 6, - -1, 7, -1, 8, 71, 82, -1, 11, 67, 79, - 80, -1, 11, 66, 79, 80, -1, 9, 82, -1, - 76, -1, 45, 82, -1, 19, 83, -1, 19, 83, - 60, 81, -1, 20, 81, -1, 77, 63, -1, 78, - -1, 39, -1, 32, -1, 18, -1, 24, -1, 22, - -1, 23, -1, 28, -1, 29, -1, 31, -1, 33, - -1, 34, -1, 35, -1, 36, -1, 16, -1, 17, - -1, 21, -1, 27, -1, 30, -1, 37, -1, 38, - -1, 44, -1, 42, -1, 43, -1, 40, -1, 41, - -1, -1, 64, -1, -1, 65, -1, 46, -1, 47, - -1, 48, -1, 49, -1, 50, -1, 51, -1, 52, - -1, 53, -1, 54, -1, 68, -1, 69, -1, 55, - -1, 56, -1, 57, -1 + -1, 7, -1, 8, 73, 84, -1, 11, 69, 81, + 82, -1, 11, 68, 81, 82, -1, 9, 84, -1, + 46, 65, -1, 47, 65, -1, 78, -1, 45, 84, + -1, 19, 85, -1, 19, 85, 62, 83, -1, 20, + 83, -1, 79, 65, -1, 80, -1, 39, -1, 32, + -1, 18, -1, 24, -1, 22, -1, 23, -1, 28, + -1, 29, -1, 31, -1, 33, -1, 34, -1, 35, + -1, 36, -1, 16, -1, 17, -1, 21, -1, 27, + -1, 30, -1, 37, -1, 38, -1, 44, -1, 42, + -1, 43, -1, 40, -1, 41, -1, -1, 66, -1, + -1, 67, -1, 48, -1, 49, -1, 50, -1, 51, + -1, 52, -1, 53, -1, 54, -1, 55, -1, 56, + -1, 70, -1, 71, -1, 57, -1, 58, -1, 59, + -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 153, 153, 154, 158, 160, 162, 164, 169, 174, - 178, 182, 193, 201, 209, 213, 217, 224, 231, 242, - 249, 256, 263, 269, 273, 277, 281, 285, 289, 293, - 297, 301, 305, 309, 313, 320, 324, 328, 332, 336, - 340, 344, 348, 352, 356, 360, 364, 371, 372, 377, - 378, 383, 387, 391, 395, 399, 403, 407, 411, 415, - 422, 426, 434, 438, 442 + 0, 157, 157, 158, 162, 164, 166, 168, 173, 178, + 182, 186, 197, 205, 213, 217, 221, 225, 229, 236, + 243, 254, 261, 268, 275, 281, 285, 289, 293, 297, + 301, 305, 309, 313, 317, 321, 325, 332, 336, 340, + 344, 348, 352, 356, 360, 364, 368, 372, 376, 383, + 384, 389, 390, 395, 399, 403, 407, 411, 415, 419, + 423, 427, 434, 438, 446, 450, 454 }; #endif @@ -540,19 +543,20 @@ static const char *const yytname[] = "PARSER_DEBUG", "INCLUDE", "CONFIGURE_FILE", "EMPTY_LINE", "SERVER", "SERVERS", "SERVERS_OPTION", "UNKNOWN_OPTION", "UNKNOWN", "BINARY_PROTOCOL", "BUFFER_REQUESTS", "CONNECT_TIMEOUT", "DISTRIBUTION", - "HASH", "HASH_WITH_PREFIX_KEY", "IO_BYTES_WATERMARK", "IO_KEY_PREFETCH", + "HASH", "HASH_WITH_NAMESPACE", "IO_BYTES_WATERMARK", "IO_KEY_PREFETCH", "IO_MSG_WATERMARK", "KETAMA_HASH", "KETAMA_WEIGHTED", "NOREPLY", "NUMBER_OF_REPLICAS", "POLL_TIMEOUT", "RANDOMIZE_REPLICA_READ", "RCV_TIMEOUT", "REMOVE_FAILED_SERVERS", "RETRY_TIMEOUT", "SND_TIMEOUT", "SOCKET_RECV_SIZE", "SOCKET_SEND_SIZE", "SORT_HOSTS", "SUPPORT_CAS", "USER_DATA", "USE_UDP", "VERIFY_KEY", "_TCP_KEEPALIVE", "_TCP_KEEPIDLE", - "_TCP_NODELAY", "PREFIX_KEY", "MD5", "CRC", "FNV1_64", "FNV1A_64", - "FNV1_32", "FNV1A_32", "HSIEH", "MURMUR", "JENKINS", "CONSISTENT", - "MODULA", "RANDOM", "TRUE", "FALSE", "','", "'='", "FLOAT", "NUMBER", - "PORT", "WEIGHT_START", "IPADDRESS", "HOSTNAME", "STRING", - "QUOTED_STRING", "FILE_PATH", "' '", "$accept", "begin", "statement", - "expression", "behaviors", "behavior_number", "behavior_boolean", - "optional_port", "optional_weight", "hash", "string", "distribution", 0 + "_TCP_NODELAY", "NAMESPACE", "POOL_MIN", "POOL_MAX", "MD5", "CRC", + "FNV1_64", "FNV1A_64", "FNV1_32", "FNV1A_32", "HSIEH", "MURMUR", + "JENKINS", "CONSISTENT", "MODULA", "RANDOM", "TRUE", "FALSE", "','", + "'='", "FLOAT", "NUMBER", "PORT", "WEIGHT_START", "IPADDRESS", + "HOSTNAME", "STRING", "QUOTED_STRING", "FILE_PATH", "' '", "$accept", + "begin", "statement", "expression", "behaviors", "behavior_number", + "behavior_boolean", "optional_port", "optional_weight", "hash", "string", + "distribution", 0 }; #endif @@ -567,33 +571,33 @@ static const yytype_uint16 yytoknum[] = 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 44, 61, 315, 316, 317, 318, 319, 320, 321, 322, - 323, 32 + 315, 316, 44, 61, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 32 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 72, 73, 73, 74, 74, 74, 74, 74, 74, - 74, 74, 75, 75, 75, 75, 76, 76, 76, 76, - 76, 76, 76, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 79, 79, 80, - 80, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 82, 82, 83, 83, 83 + 0, 74, 75, 75, 76, 76, 76, 76, 76, 76, + 76, 76, 77, 77, 77, 77, 77, 77, 78, 78, + 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, + 81, 82, 82, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 84, 84, 85, 85, 85 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 3, 1, 1, 1, 1, 1, 1, - 1, 3, 4, 4, 2, 1, 2, 2, 4, 2, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 3, 4, 4, 2, 2, 2, 1, 2, 2, + 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -602,42 +606,44 @@ static const yytype_uint8 yyr2[] = static const yytype_uint8 yydefact[] = { 0, 5, 7, 8, 9, 10, 0, 0, 6, 0, - 35, 36, 24, 0, 0, 37, 26, 27, 25, 38, - 28, 29, 39, 30, 23, 31, 32, 33, 34, 40, - 41, 22, 45, 46, 43, 44, 42, 0, 0, 2, - 4, 15, 0, 21, 0, 60, 61, 14, 47, 47, - 62, 63, 64, 17, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 19, 16, 1, 0, 20, 11, 48, - 49, 49, 0, 3, 50, 13, 12, 18 + 37, 38, 26, 0, 0, 39, 28, 29, 27, 40, + 30, 31, 41, 32, 25, 33, 34, 35, 36, 42, + 43, 24, 47, 48, 45, 46, 44, 0, 0, 0, + 0, 2, 4, 17, 0, 23, 0, 62, 63, 14, + 49, 49, 64, 65, 66, 19, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 21, 18, 15, 16, 1, + 0, 22, 11, 50, 51, 51, 0, 3, 52, 13, + 12, 20 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { - -1, 38, 39, 40, 41, 42, 43, 70, 75, 63, - 47, 53 + -1, 40, 41, 42, 43, 44, 45, 74, 79, 65, + 49, 55 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -59 +#define YYPACT_NINF -61 static const yytype_int8 yypact[] = { - -2, -59, -59, -59, -59, -59, -58, -13, -59, -43, - -59, -59, -59, -45, -1, -59, -59, -59, -59, -59, - -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, -59, -59, -59, -59, -13, 0, -59, - -59, -59, -19, -59, -13, -59, -59, -59, -7, -7, - -59, -59, -59, 2, -59, -59, -59, -59, -59, -59, - -59, -59, -59, -59, -59, -59, -2, -59, -59, -59, - -6, -6, -1, -59, -59, -59, -59, -59 + -2, -61, -61, -61, -61, -61, -60, -23, -61, -45, + -61, -61, -61, -47, 8, -61, -61, -61, -61, -61, + -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, + -61, -61, -61, -61, -61, -61, -61, -23, -16, -15, + 0, -61, -61, -61, -14, -61, -23, -61, -61, -61, + -13, -13, -61, -61, -61, -10, -61, -61, -61, -61, + -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, + -2, -61, -61, -61, -1, -1, 8, -61, -61, -61, + -61, -61 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { - -59, -59, -8, -59, -59, -59, -59, 11, -5, -9, - 17, -59 + -61, -61, -5, -61, -61, -61, -61, 3, -8, -7, + 9, -61 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -647,26 +653,26 @@ static const yytype_int8 yypgoto[] = #define YYTABLE_NINF -1 static const yytype_uint8 yytable[] = { - 65, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 50, 51, 52, 44, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 48, 49, 19, 20, 21, 22, 23, + 69, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 52, 53, 54, 46, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 50, 51, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 67, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 64, 45, 46, 69, 73, 74, - 71, 68, 72, 77, 0, 0, 76, 0, 0, 0, - 0, 66 + 34, 35, 36, 37, 38, 39, 66, 47, 48, 67, + 68, 71, 76, 73, 75, 72, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 77, 78, 80, 0, 81, + 0, 0, 0, 70 }; static const yytype_int8 yycheck[] = { 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 55, 56, 57, 71, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 66, 67, 27, 28, 29, 30, 31, + 57, 58, 59, 73, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 68, 69, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 63, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 37, 68, 69, 64, 66, 65, - 49, 44, 60, 72, -1, -1, 71, -1, -1, -1, - -1, 71 + 42, 43, 44, 45, 46, 47, 37, 70, 71, 65, + 65, 65, 62, 66, 51, 46, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 70, 67, 75, -1, 76, + -1, -1, -1, 73 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -676,11 +682,12 @@ static const yytype_uint8 yystos[] = 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 73, 74, - 75, 76, 77, 78, 71, 68, 69, 82, 66, 67, - 55, 56, 57, 83, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 81, 82, 0, 71, 63, 82, 64, - 79, 79, 60, 74, 65, 80, 80, 81 + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 75, 76, 77, 78, 79, 80, 73, 70, 71, 84, + 68, 69, 57, 58, 59, 85, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 83, 84, 65, 65, 0, + 73, 65, 84, 66, 81, 81, 62, 76, 67, 82, + 82, 83 }; #define yyerrok (yyerrstatus = 0) @@ -1515,28 +1522,28 @@ yyreduce: case 4: /* Line 1464 of yacc.c */ -#line 159 "libmemcached/options/parser.yy" +#line 163 "libmemcached/options/parser.yy" { ;} break; case 5: /* Line 1464 of yacc.c */ -#line 161 "libmemcached/options/parser.yy" +#line 165 "libmemcached/options/parser.yy" { ;} break; case 6: /* Line 1464 of yacc.c */ -#line 163 "libmemcached/options/parser.yy" +#line 167 "libmemcached/options/parser.yy" { ;} break; case 7: /* Line 1464 of yacc.c */ -#line 165 "libmemcached/options/parser.yy" +#line 169 "libmemcached/options/parser.yy" { context->set_end(); YYACCEPT; @@ -1546,7 +1553,7 @@ yyreduce: case 8: /* Line 1464 of yacc.c */ -#line 170 "libmemcached/options/parser.yy" +#line 174 "libmemcached/options/parser.yy" { context->rc= MEMCACHED_PARSE_USER_ERROR; parser_abort(context, NULL); @@ -1556,7 +1563,7 @@ yyreduce: case 9: /* Line 1464 of yacc.c */ -#line 175 "libmemcached/options/parser.yy" +#line 179 "libmemcached/options/parser.yy" { memcached_reset(context->memc); ;} @@ -1565,7 +1572,7 @@ yyreduce: case 10: /* Line 1464 of yacc.c */ -#line 179 "libmemcached/options/parser.yy" +#line 183 "libmemcached/options/parser.yy" { yydebug= 1; ;} @@ -1574,7 +1581,7 @@ yyreduce: case 11: /* Line 1464 of yacc.c */ -#line 183 "libmemcached/options/parser.yy" +#line 187 "libmemcached/options/parser.yy" { if ((context->rc= memcached_parse_configure_file(context->memc, (yyvsp[(3) - (3)].string).c_str, (yyvsp[(3) - (3)].string).length)) != MEMCACHED_SUCCESS) { @@ -1586,7 +1593,7 @@ yyreduce: case 12: /* Line 1464 of yacc.c */ -#line 194 "libmemcached/options/parser.yy" +#line 198 "libmemcached/options/parser.yy" { if ((context->rc= memcached_server_add_with_weight(context->memc, (yyvsp[(2) - (4)].server).c_str, (yyvsp[(2) - (4)].server).port, (yyvsp[(2) - (4)].server).weight)) != MEMCACHED_SUCCESS) { @@ -1599,7 +1606,7 @@ yyreduce: case 13: /* Line 1464 of yacc.c */ -#line 202 "libmemcached/options/parser.yy" +#line 206 "libmemcached/options/parser.yy" { if ((context->rc= memcached_server_add_with_weight(context->memc, (yyvsp[(2) - (4)].server).c_str, (yyvsp[(2) - (4)].server).port, (yyvsp[(2) - (4)].server).weight)) != MEMCACHED_SUCCESS) { @@ -1612,16 +1619,34 @@ yyreduce: case 14: /* Line 1464 of yacc.c */ -#line 210 "libmemcached/options/parser.yy" +#line 214 "libmemcached/options/parser.yy" { memcached_set_configuration_file(context->memc, (yyvsp[(2) - (2)].string).c_str, (yyvsp[(2) - (2)].string).length); ;} break; - case 16: + case 15: /* Line 1464 of yacc.c */ #line 218 "libmemcached/options/parser.yy" + { + context->memc->configure.initial_pool_size= (yyvsp[(2) - (2)].number); + ;} + break; + + case 16: + +/* Line 1464 of yacc.c */ +#line 222 "libmemcached/options/parser.yy" + { + context->memc->configure.max_pool_size= (yyvsp[(2) - (2)].number); + ;} + break; + + case 18: + +/* Line 1464 of yacc.c */ +#line 230 "libmemcached/options/parser.yy" { if ((context->rc= memcached_set_prefix_key(context->memc, (yyvsp[(2) - (2)].string).c_str, (yyvsp[(2) - (2)].string).length)) != MEMCACHED_SUCCESS) { @@ -1630,10 +1655,10 @@ yyreduce: ;} break; - case 17: + case 19: /* Line 1464 of yacc.c */ -#line 225 "libmemcached/options/parser.yy" +#line 237 "libmemcached/options/parser.yy" { if ((context->rc= memcached_behavior_set(context->memc, MEMCACHED_BEHAVIOR_DISTRIBUTION, (yyvsp[(2) - (2)].distribution))) != MEMCACHED_SUCCESS) { @@ -1642,10 +1667,10 @@ yyreduce: ;} break; - case 18: + case 20: /* Line 1464 of yacc.c */ -#line 232 "libmemcached/options/parser.yy" +#line 244 "libmemcached/options/parser.yy" { if ((context->rc= memcached_behavior_set(context->memc, MEMCACHED_BEHAVIOR_DISTRIBUTION, (yyvsp[(2) - (4)].distribution))) != MEMCACHED_SUCCESS) { @@ -1658,10 +1683,10 @@ yyreduce: ;} break; - case 19: + case 21: /* Line 1464 of yacc.c */ -#line 243 "libmemcached/options/parser.yy" +#line 255 "libmemcached/options/parser.yy" { if ((context->rc= memcached_behavior_set(context->memc, MEMCACHED_BEHAVIOR_HASH, (yyvsp[(2) - (2)].hash))) != MEMCACHED_SUCCESS) { @@ -1670,10 +1695,10 @@ yyreduce: ;} break; - case 20: + case 22: /* Line 1464 of yacc.c */ -#line 250 "libmemcached/options/parser.yy" +#line 262 "libmemcached/options/parser.yy" { if ((context->rc= memcached_behavior_set(context->memc, (yyvsp[(1) - (2)].behavior), (yyvsp[(2) - (2)].number))) != MEMCACHED_SUCCESS) { @@ -1682,10 +1707,10 @@ yyreduce: ;} break; - case 21: + case 23: /* Line 1464 of yacc.c */ -#line 257 "libmemcached/options/parser.yy" +#line 269 "libmemcached/options/parser.yy" { if ((context->rc= memcached_behavior_set(context->memc, (yyvsp[(1) - (1)].behavior), true)) != MEMCACHED_SUCCESS) { @@ -1694,380 +1719,380 @@ yyreduce: ;} break; - case 22: + case 24: /* Line 1464 of yacc.c */ -#line 264 "libmemcached/options/parser.yy" +#line 276 "libmemcached/options/parser.yy" { ;} break; - case 23: + case 25: /* Line 1464 of yacc.c */ -#line 270 "libmemcached/options/parser.yy" +#line 282 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_REMOVE_FAILED_SERVERS; ;} break; - case 24: + case 26: /* Line 1464 of yacc.c */ -#line 274 "libmemcached/options/parser.yy" +#line 286 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT; ;} break; - case 25: + case 27: /* Line 1464 of yacc.c */ -#line 278 "libmemcached/options/parser.yy" +#line 290 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_IO_MSG_WATERMARK; ;} break; - case 26: + case 28: /* Line 1464 of yacc.c */ -#line 282 "libmemcached/options/parser.yy" +#line 294 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_IO_BYTES_WATERMARK; ;} break; - case 27: + case 29: /* Line 1464 of yacc.c */ -#line 286 "libmemcached/options/parser.yy" +#line 298 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_IO_KEY_PREFETCH; ;} break; - case 28: + case 30: /* Line 1464 of yacc.c */ -#line 290 "libmemcached/options/parser.yy" +#line 302 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS; ;} break; - case 29: + case 31: /* Line 1464 of yacc.c */ -#line 294 "libmemcached/options/parser.yy" +#line 306 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_POLL_TIMEOUT; ;} break; - case 30: + case 32: /* Line 1464 of yacc.c */ -#line 298 "libmemcached/options/parser.yy" +#line 310 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_RCV_TIMEOUT; ;} break; - case 31: + case 33: /* Line 1464 of yacc.c */ -#line 302 "libmemcached/options/parser.yy" +#line 314 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_RETRY_TIMEOUT; ;} break; - case 32: + case 34: /* Line 1464 of yacc.c */ -#line 306 "libmemcached/options/parser.yy" +#line 318 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_SND_TIMEOUT; ;} break; - case 33: + case 35: /* Line 1464 of yacc.c */ -#line 310 "libmemcached/options/parser.yy" +#line 322 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE; ;} break; - case 34: + case 36: /* Line 1464 of yacc.c */ -#line 314 "libmemcached/options/parser.yy" +#line 326 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE; ;} break; - case 35: + case 37: /* Line 1464 of yacc.c */ -#line 321 "libmemcached/options/parser.yy" +#line 333 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_BINARY_PROTOCOL; ;} break; - case 36: + case 38: /* Line 1464 of yacc.c */ -#line 325 "libmemcached/options/parser.yy" +#line 337 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_BUFFER_REQUESTS; ;} break; - case 37: + case 39: /* Line 1464 of yacc.c */ -#line 329 "libmemcached/options/parser.yy" +#line 341 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_HASH_WITH_PREFIX_KEY; ;} break; - case 38: + case 40: /* Line 1464 of yacc.c */ -#line 333 "libmemcached/options/parser.yy" +#line 345 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_NOREPLY; ;} break; - case 39: + case 41: /* Line 1464 of yacc.c */ -#line 337 "libmemcached/options/parser.yy" +#line 349 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_RANDOMIZE_REPLICA_READ; ;} break; - case 40: + case 42: /* Line 1464 of yacc.c */ -#line 341 "libmemcached/options/parser.yy" +#line 353 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_SORT_HOSTS; ;} break; - case 41: + case 43: /* Line 1464 of yacc.c */ -#line 345 "libmemcached/options/parser.yy" +#line 357 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_SUPPORT_CAS; ;} break; - case 42: + case 44: /* Line 1464 of yacc.c */ -#line 349 "libmemcached/options/parser.yy" +#line 361 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_TCP_NODELAY; ;} break; - case 43: + case 45: /* Line 1464 of yacc.c */ -#line 353 "libmemcached/options/parser.yy" +#line 365 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_TCP_KEEPALIVE; ;} break; - case 44: + case 46: /* Line 1464 of yacc.c */ -#line 357 "libmemcached/options/parser.yy" +#line 369 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_TCP_KEEPIDLE; ;} break; - case 45: + case 47: /* Line 1464 of yacc.c */ -#line 361 "libmemcached/options/parser.yy" +#line 373 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_USE_UDP; ;} break; - case 46: + case 48: /* Line 1464 of yacc.c */ -#line 365 "libmemcached/options/parser.yy" +#line 377 "libmemcached/options/parser.yy" { (yyval.behavior)= MEMCACHED_BEHAVIOR_VERIFY_KEY; ;} break; - case 47: + case 49: /* Line 1464 of yacc.c */ -#line 371 "libmemcached/options/parser.yy" +#line 383 "libmemcached/options/parser.yy" { ;} break; - case 48: + case 50: /* Line 1464 of yacc.c */ -#line 373 "libmemcached/options/parser.yy" +#line 385 "libmemcached/options/parser.yy" { ;} break; - case 49: + case 51: /* Line 1464 of yacc.c */ -#line 377 "libmemcached/options/parser.yy" +#line 389 "libmemcached/options/parser.yy" { ;} break; - case 50: + case 52: /* Line 1464 of yacc.c */ -#line 379 "libmemcached/options/parser.yy" +#line 391 "libmemcached/options/parser.yy" { ;} break; - case 51: + case 53: /* Line 1464 of yacc.c */ -#line 384 "libmemcached/options/parser.yy" +#line 396 "libmemcached/options/parser.yy" { (yyval.hash)= MEMCACHED_HASH_MD5; ;} break; - case 52: + case 54: /* Line 1464 of yacc.c */ -#line 388 "libmemcached/options/parser.yy" +#line 400 "libmemcached/options/parser.yy" { (yyval.hash)= MEMCACHED_HASH_CRC; ;} break; - case 53: + case 55: /* Line 1464 of yacc.c */ -#line 392 "libmemcached/options/parser.yy" +#line 404 "libmemcached/options/parser.yy" { (yyval.hash)= MEMCACHED_HASH_FNV1_64; ;} break; - case 54: + case 56: /* Line 1464 of yacc.c */ -#line 396 "libmemcached/options/parser.yy" +#line 408 "libmemcached/options/parser.yy" { (yyval.hash)= MEMCACHED_HASH_FNV1A_64; ;} break; - case 55: + case 57: /* Line 1464 of yacc.c */ -#line 400 "libmemcached/options/parser.yy" +#line 412 "libmemcached/options/parser.yy" { (yyval.hash)= MEMCACHED_HASH_FNV1_32; ;} break; - case 56: + case 58: /* Line 1464 of yacc.c */ -#line 404 "libmemcached/options/parser.yy" +#line 416 "libmemcached/options/parser.yy" { (yyval.hash)= MEMCACHED_HASH_FNV1A_32; ;} break; - case 57: + case 59: /* Line 1464 of yacc.c */ -#line 408 "libmemcached/options/parser.yy" +#line 420 "libmemcached/options/parser.yy" { (yyval.hash)= MEMCACHED_HASH_HSIEH; ;} break; - case 58: + case 60: /* Line 1464 of yacc.c */ -#line 412 "libmemcached/options/parser.yy" +#line 424 "libmemcached/options/parser.yy" { (yyval.hash)= MEMCACHED_HASH_MURMUR; ;} break; - case 59: + case 61: /* Line 1464 of yacc.c */ -#line 416 "libmemcached/options/parser.yy" +#line 428 "libmemcached/options/parser.yy" { (yyval.hash)= MEMCACHED_HASH_JENKINS; ;} break; - case 60: + case 62: /* Line 1464 of yacc.c */ -#line 423 "libmemcached/options/parser.yy" +#line 435 "libmemcached/options/parser.yy" { (yyval.string)= (yyvsp[(1) - (1)].string); ;} break; - case 61: + case 63: /* Line 1464 of yacc.c */ -#line 427 "libmemcached/options/parser.yy" +#line 439 "libmemcached/options/parser.yy" { (yyval.string).c_str= (yyvsp[(1) - (1)].string).c_str +1; // +1 to move use passed the initial quote (yyval.string).length= (yyvsp[(1) - (1)].string).length -1; // -1 removes the end quote ;} break; - case 62: + case 64: /* Line 1464 of yacc.c */ -#line 435 "libmemcached/options/parser.yy" +#line 447 "libmemcached/options/parser.yy" { (yyval.distribution)= MEMCACHED_DISTRIBUTION_CONSISTENT; ;} break; - case 63: + case 65: /* Line 1464 of yacc.c */ -#line 439 "libmemcached/options/parser.yy" +#line 451 "libmemcached/options/parser.yy" { (yyval.distribution)= MEMCACHED_DISTRIBUTION_MODULA; ;} break; - case 64: + case 66: /* Line 1464 of yacc.c */ -#line 443 "libmemcached/options/parser.yy" +#line 455 "libmemcached/options/parser.yy" { (yyval.distribution)= MEMCACHED_DISTRIBUTION_RANDOM; ;} @@ -2076,7 +2101,7 @@ yyreduce: /* Line 1464 of yacc.c */ -#line 2080 "libmemcached/options/parser.cc" +#line 2105 "libmemcached/options/parser.cc" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -2288,7 +2313,7 @@ yyreturn: /* Line 1684 of yacc.c */ -#line 448 "libmemcached/options/parser.yy" +#line 460 "libmemcached/options/parser.yy" void Context::start() diff --git a/libmemcached/options/parser.h b/libmemcached/options/parser.h index 09abf9c8..1f305e5c 100644 --- a/libmemcached/options/parser.h +++ b/libmemcached/options/parser.h @@ -56,7 +56,7 @@ CONNECT_TIMEOUT = 273, DISTRIBUTION = 274, HASH = 275, - HASH_WITH_PREFIX_KEY = 276, + HASH_WITH_NAMESPACE = 276, IO_BYTES_WATERMARK = 277, IO_KEY_PREFETCH = 278, IO_MSG_WATERMARK = 279, @@ -80,30 +80,32 @@ _TCP_KEEPALIVE = 297, _TCP_KEEPIDLE = 298, _TCP_NODELAY = 299, - PREFIX_KEY = 300, - MD5 = 301, - CRC = 302, - FNV1_64 = 303, - FNV1A_64 = 304, - FNV1_32 = 305, - FNV1A_32 = 306, - HSIEH = 307, - MURMUR = 308, - JENKINS = 309, - CONSISTENT = 310, - MODULA = 311, - RANDOM = 312, - TRUE = 313, - FALSE = 314, - FLOAT = 315, - NUMBER = 316, - PORT = 317, - WEIGHT_START = 318, - IPADDRESS = 319, - HOSTNAME = 320, - STRING = 321, - QUOTED_STRING = 322, - FILE_PATH = 323 + NAMESPACE = 300, + POOL_MIN = 301, + POOL_MAX = 302, + MD5 = 303, + CRC = 304, + FNV1_64 = 305, + FNV1A_64 = 306, + FNV1_32 = 307, + FNV1A_32 = 308, + HSIEH = 309, + MURMUR = 310, + JENKINS = 311, + CONSISTENT = 312, + MODULA = 313, + RANDOM = 314, + TRUE = 315, + FALSE = 316, + FLOAT = 317, + NUMBER = 318, + PORT = 319, + WEIGHT_START = 320, + IPADDRESS = 321, + HOSTNAME = 322, + STRING = 323, + QUOTED_STRING = 324, + FILE_PATH = 325 }; #endif diff --git a/libmemcached/options/scanner.cc b/libmemcached/options/scanner.cc index 9edffe13..b6143087 100644 --- a/libmemcached/options/scanner.cc +++ b/libmemcached/options/scanner.cc @@ -449,8 +449,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); yyg->yy_c_buf_p = yy_cp; /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ -#define YY_NUM_RULES 88 -#define YY_END_OF_BUFFER 89 +#define YY_NUM_RULES 64 +#define YY_END_OF_BUFFER 65 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -458,90 +458,65 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[747] = +static yyconst flex_int16_t yy_accept[514] = { 0, - 0, 0, 89, 87, 5, 5, 1, 87, 87, 87, - 2, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 0, 86, 71, 0, 0, + 0, 0, 65, 63, 5, 5, 1, 63, 63, 63, + 2, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 0, 62, 47, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 6, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 4, 85, 85, 2, 3, - 85, 76, 85, 67, 85, 85, 85, 85, 85, 85, - 75, 85, 85, 85, 85, 85, 85, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - - 71, 71, 71, 71, 71, 71, 71, 4, 0, 85, - 2, 3, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 69, 71, 71, 71, 71, - 71, 0, 0, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 4, - 85, 85, 3, 85, 65, 68, 70, 85, 0, 81, - 85, 85, 85, 85, 85, 64, 85, 71, 71, 71, - 71, 71, 71, 0, 0, 0, 0, 0, 0, 71, - 71, 71, 71, 71, 0, 0, 71, 71, 71, 0, - 0, 71, 71, 71, 0, 0, 0, 71, 0, 71, - - 4, 0, 85, 3, 85, 0, 85, 85, 85, 85, - 73, 82, 74, 85, 71, 71, 71, 71, 71, 0, - 19, 0, 0, 0, 0, 0, 0, 0, 71, 71, - 0, 0, 71, 71, 0, 0, 71, 71, 71, 0, - 0, 71, 0, 0, 71, 0, 0, 0, 0, 0, - 0, 0, 0, 71, 4, 84, 85, 85, 85, 85, - 79, 77, 63, 83, 66, 71, 71, 71, 71, 71, - 0, 0, 0, 0, 0, 0, 0, 0, 71, 71, - 0, 0, 71, 71, 0, 0, 71, 0, 0, 71, - 0, 0, 71, 0, 0, 71, 0, 0, 0, 0, - - 0, 0, 0, 0, 71, 84, 85, 80, 78, 0, - 0, 0, 0, 71, 71, 71, 0, 0, 0, 0, - 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, - 0, 71, 0, 0, 0, 0, 0, 0, 7, 0, - 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, - 60, 0, 0, 59, 0, 0, 84, 85, 0, 0, - 0, 0, 71, 0, 0, 71, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, - 71, 0, 0, 71, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 58, 57, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 48, 47, 0, 0, 0, 0, 0, 0, + 0, 6, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 4, 61, 61, 2, 3, + 61, 52, 61, 43, 61, 61, 61, 61, 61, 61, + 51, 61, 61, 61, 61, 61, 61, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + + 47, 47, 47, 47, 47, 47, 47, 4, 0, 61, + 2, 3, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 45, 47, 47, 47, 47, + 47, 0, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 4, + 61, 61, 3, 61, 41, 44, 46, 61, 0, 57, + 61, 61, 61, 61, 61, 40, 61, 47, 47, 47, + 47, 47, 47, 0, 0, 0, 47, 47, 47, 47, + 47, 47, 0, 47, 47, 47, 0, 47, 47, 47, + 0, 0, 47, 47, 4, 0, 61, 3, 61, 0, + + 61, 61, 61, 61, 49, 58, 50, 61, 47, 47, + 47, 47, 47, 0, 14, 0, 0, 0, 47, 47, + 47, 0, 0, 47, 0, 47, 47, 47, 0, 47, + 0, 47, 0, 0, 0, 0, 47, 4, 60, 61, + 61, 61, 61, 55, 53, 39, 59, 42, 47, 47, + 47, 47, 47, 0, 0, 0, 0, 47, 47, 47, + 0, 0, 47, 0, 47, 0, 47, 0, 47, 0, + 47, 0, 0, 0, 0, 47, 60, 61, 56, 54, + 0, 0, 47, 47, 47, 0, 0, 0, 0, 47, + 18, 0, 0, 0, 0, 47, 0, 0, 0, 7, + + 0, 0, 0, 47, 0, 0, 33, 0, 0, 60, + 61, 0, 0, 47, 0, 47, 0, 0, 0, 0, + 47, 0, 0, 0, 0, 47, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, + 0, 47, 0, 47, 0, 0, 0, 0, 47, 0, + 0, 37, 36, 47, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, + 0, 47, 0, 0, 0, 0, 38, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, + 0, 35, 0, 0, 0, 0, 47, 0, 0, 0, - 0, 0, 9, 8, 0, 0, 0, 0, 0, 0, - 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 61, 62, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 49, 0, 0, 52, 0, 0, 51, 0, - 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 36, 35, 0, 0, 0, 0, 40, 39, - 0, 0, 0, 0, 0, 56, 0, 55, 0, 0, - 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 32, 31, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, - 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 38, 37, 0, 0, 0, 0, 11, - 10, 13, 12, 15, 14, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 17, 16, 0, 0, 0, - 25, 0, 0, 24, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, - - 26, 0, 0, 0, 0, 0, 0, 44, 46, 43, - 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 23, 22, 30, 29, 0, 0, 0, - 0, 21, 20, 0, 0, 0, 0, 0, 0, 0, - 0, 34, 33, 42, 41, 0 + 29, 0, 0, 32, 0, 0, 0, 0, 47, 0, + 0, 0, 0, 0, 0, 0, 22, 0, 0, 25, + 0, 0, 0, 31, 0, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, + 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 24, 0, 0, 8, 9, 10, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, + 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 26, 27, 0, 0, 0, 0, + + 0, 13, 15, 19, 0, 0, 0, 0, 0, 0, + 21, 23, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -588,179 +563,129 @@ static yyconst flex_int32_t yy_meta[74] = 3, 3, 3 } ; -static yyconst flex_int16_t yy_base[751] = +static yyconst flex_int16_t yy_base[518] = { 0, - 0, 722, 724, 2044, 2044, 2044, 2044, 716, 712, 693, + 0, 641, 636, 1648, 1648, 1648, 1648, 629, 625, 604, 65, 72, 0, 55, 50, 57, 71, 55, 62, 72, - 74, 78, 75, 63, 709, 701, 675, 132, 195, 103, + 74, 78, 75, 63, 619, 616, 613, 132, 195, 103, 208, 251, 215, 235, 228, 230, 237, 245, 265, 281, 286, 294, 296, 311, 313, 327, 343, 354, 361, 370, - 672, 2044, 417, 305, 69, 77, 86, 75, 246, 291, - 362, 361, 90, 75, 127, 419, 416, 482, 525, 489, - 504, 502, 509, 511, 517, 539, 519, 560, 552, 566, - 554, 582, 584, 595, 601, 613, 627, 180, 223, 224, - 241, 272, 210, 275, 312, 317, 329, 321, 325, 404, - - 333, 356, 377, 353, 355, 418, 409, 650, 678, 721, - 764, 685, 625, 700, 702, 714, 736, 743, 750, 777, - 755, 784, 791, 796, 804, 668, 427, 423, 428, 410, - 424, 786, 799, 436, 443, 476, 520, 529, 292, 519, - 517, 525, 568, 567, 574, 580, 580, 802, 591, 857, - 870, 709, 877, 856, 891, 893, 899, 901, 906, 916, - 921, 923, 928, 942, 934, 950, 957, 613, 632, 629, - 679, 678, 808, 743, 770, 768, 775, 798, 800, 891, - 909, 641, 915, 917, 916, 920, 922, 924, 948, 934, - 938, 957, 695, 950, 959, 968, 945, 795, 947, 966, - - 1019, 1032, 1075, 2044, 1053, 1051, 1058, 1067, 1069, 1094, - 1099, 1101, 1110, 1119, 953, 973, 996, 1001, 998, 985, - 2044, 999, 1030, 1040, 1069, 1071, 1068, 1090, 1093, 1088, - 1089, 1092, 1090, 1102, 1107, 1108, 1117, 829, 1105, 1116, - 1118, 1109, 1122, 1123, 1116, 1130, 1130, 1142, 1133, 1147, - 1149, 1151, 1155, 1135, 2044, 1203, 1178, 1188, 1196, 1218, - 1223, 1229, 1236, 1243, 1248, 833, 850, 1162, 1182, 1214, - 1210, 1213, 1221, 663, 662, 1222, 622, 621, 1209, 869, - 1226, 1229, 969, 1230, 1227, 1228, 1006, 1222, 1224, 640, - 1234, 1238, 1010, 1237, 1240, 1237, 1253, 1255, 1255, 1260, - - 1256, 1272, 1275, 1261, 1182, 1320, 1304, 1309, 1334, 1264, - 1267, 1283, 1284, 1288, 1293, 1300, 1304, 1305, 1307, 1311, - 1307, 1313, 1319, 1314, 0, 1323, 1324, 1327, 1328, 1331, - 1332, 1318, 1341, 1344, 1344, 1349, 1347, 1349, 2044, 1355, - 1358, 1356, 1360, 1353, 1361, 1307, 1365, 1379, 1370, 1383, - 2044, 1369, 1371, 2044, 1381, 1382, 1409, 1415, 1377, 1378, - 1405, 1407, 1409, 1397, 1401, 1404, 1417, 1418, 648, 1409, - 1427, 598, 1411, 1429, 1425, 1426, 1428, 1429, 1433, 1435, - 1438, 1430, 1431, 1446, 1448, 1437, 1450, 1449, 1451, 1463, - 1464, 1466, 1470, 1458, 1459, 1477, 1478, 1483, 1470, 1485, - - 1471, 1484, 1486, 1483, 1484, 1512, 1484, 1488, 1487, 1500, - 1530, 1511, 1513, 1514, 632, 592, 1501, 1520, 1507, 1505, - 1524, 1512, 630, 590, 1518, 1519, 1510, 1511, 1549, 1517, - 1519, 1532, 1533, 1538, 1540, 1525, 1527, 1550, 1544, 1561, - 1552, 1552, 1555, 1576, 1577, 1567, 1577, 1581, 1571, 1580, - 1585, 2044, 2044, 1562, 1563, 1569, 1570, 1571, 1573, 1589, - 1590, 1584, 1586, 1585, 1586, 1587, 1606, 1606, 1613, 1619, - 1619, 1623, 1613, 1614, 1612, 1614, 609, 589, 1618, 1619, - 1618, 1620, 1629, 1630, 1628, 1629, 1626, 1628, 1627, 1646, - 1629, 1649, 2044, 2044, 1635, 1637, 1648, 1649, 1641, 1663, - - 1662, 1654, 2044, 2044, 1667, 1670, 1681, 1682, 1680, 1681, - 1686, 1687, 1680, 1677, 1678, 1677, 1693, 1682, 1682, 1698, - 1686, 1700, 1702, 1688, 1690, 2044, 2044, 1706, 1710, 583, - 577, 1715, 1721, 1707, 1712, 576, 564, 537, 524, 476, - 474, 2044, 2044, 1714, 1734, 2044, 1718, 1736, 2044, 1740, - 1741, 1726, 1727, 1736, 1737, 1735, 1736, 496, 1747, 1749, - 1751, 1737, 1745, 1754, 1741, 1749, 1748, 1749, 450, 441, - 1753, 1758, 2044, 2044, 1776, 1778, 1767, 1770, 2044, 2044, - 1774, 1775, 1776, 1778, 1793, 2044, 1794, 2044, 1785, 1787, - 1783, 1784, 1800, 1801, 1787, 1789, 2044, 1805, 1806, 1795, - - 1812, 1815, 1800, 1816, 1822, 1816, 1822, 2044, 2044, 1824, - 1829, 420, 372, 390, 387, 1835, 1838, 1839, 1840, 2044, - 2044, 1839, 1840, 1834, 1835, 386, 384, 1836, 1837, 1849, - 1850, 1847, 1854, 1846, 1852, 1858, 1849, 1860, 1861, 1863, - 1864, 1858, 1863, 2044, 2044, 1862, 1864, 1869, 1872, 2044, - 2044, 2044, 2044, 2044, 2044, 378, 369, 1877, 1878, 1902, - 365, 1894, 1905, 349, 1896, 1905, 1907, 1908, 1909, 1908, - 1909, 1911, 1913, 1914, 1915, 2044, 2044, 300, 284, 1903, - 2044, 306, 1905, 2044, 290, 1923, 1925, 1926, 1930, 1918, - 1924, 287, 274, 253, 252, 1933, 1938, 1941, 2044, 1944, - - 2044, 1937, 1938, 240, 200, 1937, 1938, 2044, 2044, 2044, - 2044, 1956, 1957, 215, 196, 132, 120, 1946, 1947, 1961, - 1962, 1943, 1945, 2044, 2044, 2044, 2044, 1967, 1968, 1956, - 1957, 2044, 2044, 1976, 1977, 1961, 1962, 1981, 1986, 119, - 116, 2044, 2044, 2044, 2044, 2044, 2037, 126, 2040, 113 + 610, 1648, 417, 305, 69, 77, 86, 75, 347, 78, + 362, 402, 91, 113, 189, 417, 397, 482, 525, 489, + 413, 466, 502, 507, 509, 514, 516, 542, 550, 557, + 569, 576, 578, 590, 621, 598, 623, 215, 232, 246, + 242, 248, 604, 278, 275, 293, 354, 295, 303, 402, + + 311, 330, 427, 331, 335, 355, 358, 638, 671, 714, + 757, 645, 634, 686, 669, 692, 694, 747, 738, 703, + 749, 775, 701, 781, 790, 783, 376, 423, 566, 421, + 453, 778, 521, 523, 530, 532, 537, 569, 602, 573, + 627, 624, 597, 638, 631, 688, 594, 759, 708, 838, + 851, 824, 861, 874, 876, 881, 883, 888, 894, 896, + 901, 910, 928, 942, 937, 951, 953, 711, 735, 749, + 768, 769, 501, 767, 788, 775, 778, 782, 794, 593, + 582, 796, 840, 845, 850, 875, 872, 901, 568, 903, + 932, 913, 560, 929, 997, 1014, 1057, 1648, 996, 969, + + 959, 987, 1012, 1036, 1030, 1041, 1043, 1048, 943, 995, + 1013, 1031, 1026, 1015, 1648, 1036, 1033, 1052, 1044, 1052, + 1048, 1049, 1058, 1059, 1064, 1069, 552, 1058, 1068, 1058, + 1071, 1062, 1076, 1073, 1085, 1086, 1067, 1648, 1135, 1124, + 1133, 1148, 1154, 1159, 1165, 1167, 1178, 1183, 549, 537, + 1113, 1126, 1155, 1149, 1159, 527, 524, 1168, 1145, 523, + 1165, 1178, 1167, 1164, 519, 1160, 507, 1169, 481, 1173, + 1169, 1185, 1189, 1179, 1197, 440, 1241, 1239, 1223, 1254, + 1197, 1200, 1201, 439, 1200, 1211, 1225, 1231, 1226, 1248, + 0, 1237, 1242, 1232, 1243, 1233, 1255, 1255, 1253, 1648, + + 1258, 1246, 1248, 417, 1253, 1265, 1648, 1252, 1262, 1313, + 1318, 1259, 1280, 1288, 1275, 1285, 1300, 411, 1291, 1309, + 1309, 1309, 1311, 384, 381, 1312, 1304, 1320, 1310, 1309, + 1320, 1321, 1307, 1325, 1330, 1317, 1329, 1328, 1374, 1319, + 1330, 383, 1340, 1355, 376, 1344, 1363, 1349, 336, 339, + 1355, 1648, 1648, 331, 1350, 1363, 1368, 1354, 1374, 1364, + 1360, 1379, 1369, 1378, 1382, 1648, 1359, 1365, 1365, 1381, + 1375, 1374, 1376, 1391, 1387, 1398, 1648, 1400, 1400, 1404, + 1403, 1412, 1410, 1406, 1405, 1424, 1648, 1410, 1422, 1420, + 1408, 1648, 1419, 1430, 1427, 1432, 1424, 1438, 1420, 1436, + + 1424, 1438, 1424, 1441, 312, 1442, 1436, 306, 301, 298, + 1648, 1450, 1470, 1648, 1473, 1458, 1466, 1464, 281, 1467, + 1476, 1462, 1470, 1469, 274, 1470, 1648, 1483, 1468, 1648, + 1470, 1471, 1486, 1648, 1477, 1473, 1489, 1474, 1648, 1491, + 1479, 1495, 1499, 1489, 1648, 1499, 264, 252, 1517, 1520, + 1648, 1518, 1512, 238, 1512, 1514, 1521, 1527, 1518, 1528, + 1530, 1521, 1648, 1515, 1516, 1648, 1648, 1648, 229, 1527, + 1543, 228, 1534, 1543, 1544, 1543, 1544, 1545, 1648, 1550, + 1534, 1648, 215, 1553, 1554, 1547, 199, 196, 1577, 1572, + 1648, 1565, 143, 1563, 1648, 1648, 1581, 120, 119, 1569, + + 1583, 1648, 1648, 1648, 1584, 1572, 1590, 1574, 1590, 116, + 1648, 1648, 1648, 1641, 126, 1644, 113 } ; -static yyconst flex_int16_t yy_def[751] = +static yyconst flex_int16_t yy_def[518] = { 0, - 746, 1, 746, 746, 746, 746, 746, 747, 746, 746, - 748, 746, 748, 748, 748, 748, 748, 748, 748, 748, - 748, 748, 748, 748, 749, 747, 747, 746, 746, 750, - 750, 750, 746, 750, 750, 750, 750, 750, 750, 750, - 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, - 749, 746, 28, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 746, 750, 750, 750, 746, - 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, - 750, 750, 750, 750, 750, 750, 750, 53, 53, 53, + 513, 1, 513, 513, 513, 513, 513, 514, 513, 513, + 515, 513, 515, 515, 515, 515, 515, 515, 515, 515, + 515, 515, 515, 515, 516, 514, 514, 513, 513, 517, + 517, 517, 513, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 516, 513, 28, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 513, 517, 517, 517, 513, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 746, 750, 750, - 750, 746, 750, 750, 750, 750, 750, 750, 750, 750, - 750, 750, 750, 750, 750, 750, 53, 53, 53, 53, - 53, 746, 746, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 746, - 750, 750, 746, 750, 750, 750, 750, 750, 750, 750, - 750, 750, 750, 750, 750, 750, 750, 53, 53, 53, - 53, 53, 53, 746, 746, 746, 746, 746, 746, 53, - 53, 53, 53, 53, 746, 746, 53, 53, 53, 746, - 746, 53, 53, 53, 746, 746, 746, 53, 746, 53, - - 746, 750, 750, 746, 750, 750, 750, 750, 750, 750, - 750, 750, 750, 750, 53, 53, 53, 53, 53, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 53, 53, - 746, 746, 53, 53, 746, 746, 53, 53, 53, 746, - 746, 53, 746, 746, 53, 746, 746, 746, 746, 746, - 746, 746, 746, 53, 746, 750, 750, 750, 750, 750, - 750, 750, 750, 750, 750, 53, 53, 53, 53, 53, - 746, 746, 746, 746, 746, 746, 746, 746, 53, 53, - 746, 746, 53, 53, 746, 746, 53, 746, 746, 53, - 746, 746, 53, 746, 746, 53, 746, 746, 746, 746, - - 746, 746, 746, 746, 53, 750, 750, 750, 750, 746, - 746, 746, 746, 53, 53, 53, 746, 746, 746, 746, - 746, 746, 746, 746, 53, 746, 746, 746, 746, 746, - 746, 53, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 53, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 750, 750, 746, 746, - 746, 746, 53, 746, 746, 53, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 53, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - - 746, 746, 746, 746, 746, 750, 746, 746, 746, 746, - 53, 746, 746, 53, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 53, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 53, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 53, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 53, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 0, 746, 746, 746, 746 + 53, 53, 53, 53, 53, 53, 53, 513, 517, 517, + 517, 513, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 53, 53, 53, 53, + 53, 513, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 513, + 517, 517, 513, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 53, 53, 53, + 53, 53, 53, 513, 513, 513, 53, 53, 53, 53, + 53, 53, 513, 53, 53, 53, 513, 53, 53, 53, + 513, 513, 53, 53, 513, 517, 517, 513, 517, 517, + + 517, 517, 517, 517, 517, 517, 517, 517, 53, 53, + 53, 53, 53, 513, 513, 513, 513, 513, 53, 53, + 53, 513, 513, 53, 513, 53, 53, 53, 513, 53, + 513, 53, 513, 513, 513, 513, 53, 513, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 53, 53, + 53, 53, 53, 513, 513, 513, 513, 53, 53, 53, + 513, 513, 53, 513, 53, 513, 53, 513, 53, 513, + 53, 513, 513, 513, 513, 53, 517, 517, 517, 517, + 513, 513, 53, 53, 53, 513, 513, 513, 513, 53, + 53, 513, 513, 513, 513, 53, 513, 513, 513, 513, + + 513, 513, 513, 53, 513, 513, 513, 513, 513, 517, + 517, 513, 513, 53, 513, 53, 513, 513, 513, 513, + 53, 513, 513, 513, 513, 53, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 517, 513, + 513, 53, 513, 53, 513, 513, 513, 513, 53, 513, + 513, 513, 513, 53, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 53, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 53, 513, 513, 513, + + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 53, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 0, 513, 513, 513, 513 } ; -static yyconst flex_int16_t yy_nxt[2118] = +static yyconst flex_int16_t yy_nxt[1722] = { 0, 4, 5, 6, 7, 8, 4, 7, 9, 4, 10, 11, 11, 11, 11, 11, 11, 11, 12, 7, 4, @@ -774,230 +699,187 @@ static yyconst flex_int16_t yy_nxt[2118] = 37, 39, 35, 41, 38, 42, 43, 44, 47, 49, 50, 36, 48, 90, 40, 91, 92, 30, 45, 93, - 30, 30, 105, 106, 46, 67, 34, 37, 39, 35, + 30, 30, 97, 105, 46, 67, 34, 37, 39, 35, 41, 38, 42, 43, 44, 47, 49, 50, 30, 48, - 90, 40, 91, 92, 745, 45, 93, 744, 727, 105, - 106, 46, 53, 53, 53, 53, 53, 53, 53, 30, - 726, 107, 53, 54, 55, 56, 53, 53, 53, 57, + 90, 40, 91, 92, 512, 45, 93, 504, 503, 97, + 105, 46, 53, 53, 53, 53, 53, 53, 53, 30, + 500, 106, 53, 54, 55, 56, 53, 53, 53, 57, 58, 53, 53, 53, 53, 59, 53, 60, 53, 61, - 62, 63, 64, 65, 53, 53, 53, 53, 107, 53, + 62, 63, 64, 65, 53, 53, 53, 53, 106, 53, 54, 55, 56, 53, 53, 53, 57, 58, 53, 53, 53, 53, 59, 53, 60, 53, 61, 62, 63, 64, 65, 53, 53, 53, 53, 66, 66, 66, 66, 66, - 66, 66, 30, 127, 725, 30, 30, 132, 68, 68, + 66, 66, 30, 107, 496, 30, 30, 495, 68, 68, 68, 68, 68, 68, 68, 70, 70, 70, 70, 70, - 70, 70, 30, 724, 30, 30, 30, 30, 30, 30, - 127, 30, 30, 30, 30, 30, 719, 718, 128, 30, - 72, 73, 30, 30, 30, 30, 133, 129, 30, 31, + 70, 70, 30, 491, 30, 30, 30, 30, 30, 30, + 107, 30, 30, 30, 30, 30, 482, 479, 127, 30, + 72, 73, 30, 30, 30, 30, 468, 128, 30, 31, 74, 69, 69, 69, 69, 69, 69, 69, 71, 30, - 711, 710, 30, 30, 30, 128, 30, 72, 73, 130, - 94, 30, 75, 30, 129, 30, 95, 74, 30, 30, - 30, 30, 709, 30, 30, 71, 76, 30, 30, 185, - - 30, 30, 30, 30, 30, 708, 130, 94, 701, 75, - 131, 30, 134, 95, 78, 30, 79, 30, 30, 30, - 30, 30, 77, 76, 699, 96, 81, 30, 97, 80, - 697, 30, 30, 88, 30, 30, 82, 131, 186, 134, - 30, 78, 30, 79, 135, 89, 696, 30, 136, 77, - 30, 30, 96, 137, 138, 97, 80, 30, 30, 30, - 88, 30, 30, 82, 83, 30, 139, 684, 30, 30, - 142, 135, 89, 30, 30, 136, 84, 30, 30, 143, - 137, 138, 98, 681, 99, 101, 100, 677, 146, 30, - 147, 83, 85, 139, 102, 103, 676, 142, 86, 144, - - 30, 104, 655, 84, 654, 645, 143, 30, 644, 98, - 87, 99, 101, 100, 145, 146, 30, 147, 643, 85, - 30, 102, 103, 30, 30, 86, 144, 642, 104, 108, - 108, 108, 108, 108, 108, 108, 140, 87, 53, 53, - 53, 145, 148, 141, 53, 53, 149, 168, 169, 172, - 53, 173, 53, 170, 53, 53, 53, 53, 53, 609, - 180, 171, 30, 140, 181, 53, 53, 53, 608, 148, - 141, 53, 53, 149, 168, 169, 172, 53, 173, 53, - 170, 53, 53, 53, 53, 53, 30, 180, 171, 30, - 109, 181, 110, 110, 110, 110, 110, 110, 110, 112, - - 112, 112, 112, 112, 112, 112, 30, 182, 30, 30, - 30, 30, 30, 30, 597, 30, 30, 30, 30, 30, - 584, 30, 583, 30, 30, 30, 30, 30, 30, 30, - 117, 582, 30, 31, 182, 111, 111, 111, 111, 111, - 111, 111, 113, 30, 581, 183, 30, 30, 30, 114, - 30, 115, 184, 187, 188, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 189, 30, 30, 113, - 30, 30, 183, 30, 30, 190, 114, 116, 115, 184, - 187, 188, 580, 119, 118, 30, 30, 195, 30, 30, - 30, 30, 30, 189, 579, 574, 120, 192, 30, 30, - - 30, 573, 30, 30, 116, 30, 30, 527, 30, 30, - 119, 118, 30, 193, 191, 194, 122, 30, 123, 200, - 30, 30, 121, 120, 192, 124, 196, 526, 30, 30, - 30, 30, 30, 30, 30, 30, 474, 473, 466, 465, - 193, 30, 194, 122, 420, 123, 200, 30, 231, 121, - 215, 126, 124, 154, 125, 417, 216, 217, 339, 30, - 150, 150, 150, 150, 150, 150, 150, 324, 323, 321, - 320, 30, 30, 30, 52, 30, 30, 215, 126, 27, - 154, 125, 30, 216, 217, 30, 30, 232, 151, 151, - 151, 151, 151, 151, 151, 153, 153, 153, 153, 153, - - 153, 153, 243, 218, 30, 27, 30, 30, 30, 30, - 30, 52, 29, 30, 30, 219, 30, 109, 30, 28, - 27, 30, 30, 746, 30, 30, 155, 25, 30, 109, - 218, 152, 152, 152, 152, 152, 152, 152, 157, 156, - 30, 244, 219, 30, 30, 746, 30, 30, 30, 746, - 30, 30, 746, 155, 30, 30, 158, 30, 30, 30, - 30, 746, 30, 30, 746, 157, 156, 30, 30, 746, - 160, 30, 30, 746, 111, 111, 111, 111, 111, 111, - 111, 30, 159, 158, 30, 30, 163, 223, 30, 30, - 161, 30, 30, 746, 224, 30, 30, 160, 30, 30, - - 30, 30, 251, 30, 30, 162, 225, 174, 30, 197, - 30, 30, 30, 163, 223, 220, 175, 161, 176, 226, - 177, 224, 227, 30, 164, 165, 221, 746, 167, 178, - 30, 179, 162, 225, 174, 166, 288, 30, 228, 198, - 310, 252, 30, 175, 746, 176, 226, 177, 199, 227, - 30, 164, 165, 746, 222, 167, 178, 312, 179, 746, - 30, 746, 166, 30, 30, 228, 198, 201, 201, 201, - 201, 201, 201, 201, 30, 289, 326, 30, 202, 311, - 203, 203, 203, 203, 203, 203, 203, 204, 204, 204, - 204, 204, 204, 204, 205, 30, 313, 30, 30, 30, - - 30, 30, 30, 30, 746, 30, 30, 30, 30, 30, - 30, 746, 746, 30, 30, 327, 30, 746, 746, 207, - 30, 205, 208, 30, 30, 30, 229, 30, 30, 30, - 30, 30, 30, 230, 746, 30, 30, 30, 30, 30, - 746, 30, 30, 233, 209, 30, 30, 206, 211, 30, - 30, 234, 30, 229, 30, 235, 210, 30, 30, 236, - 230, 30, 30, 237, 30, 30, 213, 30, 238, 30, - 233, 209, 239, 240, 30, 211, 330, 241, 234, 212, - 30, 242, 235, 210, 245, 250, 236, 253, 30, 246, - 237, 254, 247, 213, 214, 238, 30, 266, 248, 239, - - 240, 249, 746, 30, 241, 746, 212, 746, 242, 746, - 267, 245, 250, 335, 253, 331, 246, 342, 254, 247, - 746, 214, 268, 269, 266, 248, 270, 271, 249, 255, - 255, 255, 255, 255, 255, 255, 30, 267, 746, 30, - 30, 272, 256, 256, 256, 256, 256, 256, 256, 268, - 269, 746, 336, 270, 271, 30, 343, 30, 30, 30, - 30, 30, 30, 746, 259, 30, 30, 260, 272, 273, - 261, 30, 746, 30, 30, 30, 30, 30, 30, 30, - 746, 262, 30, 202, 274, 257, 257, 257, 257, 257, - 257, 257, 258, 263, 746, 275, 273, 30, 30, 30, - - 746, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 276, 274, 277, 30, 30, 30, 278, 30, 30, 258, - 263, 30, 275, 30, 279, 280, 30, 30, 281, 746, - 746, 282, 264, 283, 284, 285, 286, 276, 746, 277, - 30, 287, 290, 278, 291, 30, 292, 30, 293, 294, - 295, 279, 280, 296, 297, 281, 30, 265, 282, 264, - 283, 284, 285, 286, 298, 30, 299, 300, 287, 290, - 301, 291, 302, 292, 303, 293, 294, 295, 304, 305, - 296, 297, 30, 746, 265, 30, 202, 746, 746, 355, - 746, 298, 30, 299, 300, 30, 30, 301, 746, 302, - - 30, 303, 314, 30, 30, 304, 305, 30, 308, 746, - 30, 30, 307, 306, 306, 306, 306, 306, 306, 306, - 746, 315, 30, 746, 30, 30, 30, 30, 356, 314, - 30, 30, 309, 30, 30, 316, 30, 30, 317, 307, - 30, 318, 30, 30, 30, 319, 322, 30, 315, 30, - 30, 30, 30, 325, 328, 30, 30, 329, 332, 333, - 334, 337, 316, 338, 30, 317, 340, 746, 318, 30, - 341, 344, 319, 322, 345, 30, 346, 347, 348, 349, - 325, 328, 30, 350, 329, 332, 333, 334, 337, 30, - 338, 351, 352, 340, 30, 353, 354, 341, 344, 359, - - 364, 345, 360, 346, 347, 348, 349, 746, 30, 746, - 350, 30, 30, 30, 396, 746, 30, 30, 351, 352, - 361, 362, 353, 354, 30, 363, 359, 30, 30, 360, - 357, 357, 357, 357, 357, 357, 357, 358, 30, 365, - 366, 30, 30, 367, 368, 369, 370, 361, 362, 371, - 30, 372, 363, 397, 373, 30, 374, 375, 376, 377, - 378, 379, 380, 381, 358, 382, 30, 366, 383, 384, - 367, 368, 369, 370, 385, 386, 371, 387, 372, 388, - 30, 373, 389, 374, 375, 376, 377, 378, 379, 380, - 381, 394, 382, 390, 391, 383, 384, 392, 393, 395, - - 398, 385, 386, 399, 387, 400, 388, 401, 402, 389, - 403, 404, 405, 30, 407, 408, 30, 30, 394, 30, - 390, 391, 30, 30, 392, 393, 395, 398, 746, 409, - 399, 410, 400, 411, 401, 402, 412, 403, 404, 405, - 413, 407, 408, 414, 415, 416, 418, 419, 421, 422, - 423, 424, 425, 426, 406, 30, 409, 427, 410, 428, - 411, 30, 429, 412, 430, 431, 432, 413, 433, 434, - 414, 415, 416, 418, 419, 421, 422, 423, 424, 425, - 426, 406, 435, 436, 427, 437, 428, 438, 439, 429, - 440, 430, 431, 432, 441, 433, 434, 442, 443, 444, - - 445, 448, 451, 446, 452, 449, 453, 454, 455, 435, - 436, 447, 437, 450, 438, 439, 30, 440, 456, 30, - 30, 441, 457, 458, 442, 443, 444, 445, 448, 451, - 446, 452, 449, 453, 454, 455, 459, 460, 447, 462, - 450, 463, 464, 467, 468, 456, 469, 470, 471, 457, - 458, 472, 475, 476, 477, 478, 479, 481, 30, 482, - 483, 484, 485, 459, 486, 487, 462, 488, 463, 464, - 467, 468, 489, 469, 470, 471, 461, 490, 472, 475, - 476, 477, 478, 491, 481, 492, 482, 483, 484, 485, - 493, 486, 487, 494, 488, 480, 495, 496, 497, 489, - - 498, 499, 500, 501, 490, 502, 503, 504, 505, 506, - 491, 507, 492, 508, 509, 510, 511, 493, 512, 513, - 494, 514, 515, 495, 496, 497, 516, 498, 499, 500, - 501, 517, 502, 503, 504, 505, 506, 518, 507, 519, - 508, 509, 510, 511, 520, 512, 513, 521, 514, 515, - 522, 523, 524, 516, 525, 528, 529, 530, 517, 531, - 532, 533, 534, 535, 518, 536, 519, 537, 538, 539, - 540, 520, 541, 542, 521, 543, 544, 522, 523, 524, - 545, 525, 528, 529, 530, 546, 531, 532, 533, 534, - 535, 547, 536, 548, 537, 538, 539, 540, 549, 541, - - 542, 550, 543, 544, 551, 552, 553, 545, 554, 555, - 556, 557, 546, 558, 559, 560, 561, 562, 547, 563, - 548, 564, 565, 566, 567, 549, 568, 569, 550, 570, - 571, 551, 552, 553, 572, 554, 555, 556, 557, 575, - 558, 559, 560, 561, 562, 576, 563, 577, 564, 565, - 566, 567, 578, 568, 569, 585, 570, 571, 586, 587, - 588, 572, 589, 590, 591, 592, 575, 593, 594, 595, - 596, 598, 576, 599, 577, 600, 601, 602, 603, 578, - 604, 605, 585, 606, 607, 586, 587, 588, 610, 589, - 590, 591, 592, 611, 593, 594, 595, 596, 598, 612, - - 599, 613, 600, 601, 602, 603, 614, 604, 605, 615, - 606, 607, 616, 617, 618, 610, 619, 620, 621, 622, - 611, 623, 624, 625, 626, 627, 612, 628, 613, 629, - 630, 631, 632, 614, 633, 634, 615, 635, 636, 616, - 617, 618, 637, 619, 620, 621, 622, 638, 623, 624, - 625, 626, 627, 639, 628, 640, 629, 630, 631, 632, - 641, 633, 634, 646, 635, 636, 647, 648, 649, 637, - 650, 651, 652, 653, 638, 656, 657, 658, 659, 660, - 639, 661, 640, 662, 663, 664, 665, 641, 666, 667, - 646, 668, 669, 647, 648, 649, 670, 650, 651, 652, - - 653, 671, 656, 657, 658, 659, 660, 672, 661, 673, - 662, 663, 664, 665, 674, 666, 667, 675, 668, 669, - 678, 679, 680, 670, 682, 683, 685, 686, 671, 687, - 688, 689, 690, 691, 672, 692, 673, 693, 694, 695, - 698, 674, 700, 702, 675, 703, 704, 678, 679, 680, - 705, 682, 683, 685, 686, 706, 687, 688, 689, 690, - 691, 707, 692, 712, 693, 694, 695, 698, 713, 700, - 702, 714, 703, 704, 715, 716, 717, 705, 720, 721, - 722, 723, 706, 728, 729, 730, 731, 732, 707, 733, - 712, 734, 735, 736, 737, 713, 738, 739, 714, 740, - - 741, 715, 716, 717, 742, 720, 721, 722, 723, 743, - 728, 729, 730, 731, 732, 746, 733, 746, 734, 735, - 736, 737, 746, 738, 739, 746, 740, 741, 746, 746, - 746, 742, 746, 746, 746, 746, 743, 26, 746, 26, - 51, 51, 51, 3, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746 + 463, 462, 30, 30, 30, 127, 30, 72, 73, 129, + 130, 30, 75, 30, 128, 30, 131, 74, 30, 30, + 30, 30, 445, 30, 30, 71, 76, 30, 30, 439, + + 30, 30, 30, 30, 30, 432, 129, 130, 431, 75, + 133, 30, 134, 131, 78, 30, 79, 30, 30, 30, + 30, 30, 77, 76, 430, 135, 81, 30, 138, 80, + 427, 30, 30, 88, 30, 30, 82, 133, 380, 134, + 30, 78, 30, 79, 139, 89, 378, 30, 142, 77, + 30, 30, 135, 143, 377, 138, 80, 30, 30, 30, + 88, 30, 30, 82, 83, 30, 146, 94, 30, 30, + 147, 139, 89, 30, 30, 142, 84, 30, 30, 148, + 143, 95, 98, 373, 99, 136, 100, 96, 137, 30, + 370, 83, 85, 146, 94, 149, 168, 147, 86, 353, + + 30, 30, 352, 84, 30, 30, 148, 30, 95, 98, + 87, 99, 136, 100, 96, 137, 30, 30, 346, 85, + 30, 30, 149, 168, 334, 86, 101, 108, 108, 108, + 108, 108, 108, 108, 140, 102, 103, 87, 53, 53, + 53, 141, 104, 30, 53, 53, 315, 309, 169, 144, + 53, 113, 53, 101, 53, 53, 53, 53, 53, 30, + 172, 140, 102, 103, 145, 53, 53, 53, 141, 104, + 30, 53, 53, 30, 30, 169, 144, 53, 113, 53, + 173, 53, 53, 53, 53, 53, 30, 172, 302, 30, + 109, 145, 110, 110, 110, 110, 110, 110, 110, 112, + + 112, 112, 112, 112, 112, 112, 30, 173, 214, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 215, + 30, 30, 30, 30, 30, 300, 298, 117, 30, 30, + 292, 289, 30, 31, 288, 111, 111, 111, 111, 111, + 111, 111, 114, 115, 282, 177, 30, 178, 30, 30, + 30, 179, 116, 30, 30, 30, 281, 30, 30, 266, + 30, 30, 30, 180, 30, 30, 118, 236, 181, 114, + 115, 30, 177, 30, 178, 231, 30, 30, 179, 116, + 30, 119, 30, 30, 30, 30, 30, 120, 30, 223, + 180, 170, 182, 118, 30, 181, 30, 30, 30, 171, + + 222, 191, 30, 30, 187, 30, 30, 184, 119, 183, + 122, 132, 52, 123, 120, 30, 121, 27, 170, 182, + 27, 52, 30, 29, 30, 30, 171, 30, 30, 30, + 30, 30, 28, 27, 184, 513, 30, 122, 30, 125, + 123, 30, 30, 121, 30, 124, 25, 126, 150, 150, + 150, 150, 150, 150, 150, 153, 153, 153, 153, 153, + 153, 153, 154, 513, 185, 186, 125, 30, 188, 30, + 189, 513, 124, 30, 126, 30, 30, 30, 30, 30, + 30, 151, 151, 151, 151, 151, 151, 151, 513, 154, + 30, 185, 186, 30, 30, 188, 30, 189, 30, 30, + + 30, 30, 30, 513, 513, 30, 156, 30, 30, 30, + 30, 30, 155, 513, 158, 30, 157, 30, 30, 513, + 513, 30, 109, 190, 152, 152, 152, 152, 152, 152, + 152, 162, 30, 156, 513, 165, 194, 513, 30, 155, + 159, 158, 30, 157, 513, 30, 30, 30, 209, 30, + 190, 30, 513, 30, 30, 30, 30, 30, 162, 210, + 30, 30, 165, 194, 30, 30, 192, 111, 111, 111, + 111, 111, 111, 111, 160, 209, 513, 211, 161, 30, + 163, 513, 30, 30, 30, 30, 210, 30, 30, 30, + 30, 30, 212, 30, 30, 30, 193, 30, 30, 174, + + 513, 160, 513, 30, 211, 161, 213, 163, 175, 513, + 176, 216, 217, 218, 167, 164, 219, 220, 221, 212, + 166, 30, 513, 193, 513, 513, 174, 30, 30, 30, + 224, 30, 109, 213, 513, 175, 30, 176, 216, 217, + 218, 167, 164, 219, 220, 221, 513, 166, 195, 195, + 195, 195, 195, 195, 195, 30, 513, 224, 30, 196, + 513, 197, 197, 197, 197, 197, 197, 197, 513, 513, + 30, 198, 198, 198, 198, 198, 198, 198, 30, 225, + 30, 30, 30, 30, 30, 30, 226, 30, 30, 30, + 30, 30, 30, 513, 227, 30, 30, 30, 30, 228, + + 30, 30, 30, 30, 30, 30, 225, 201, 30, 30, + 202, 229, 199, 226, 30, 513, 513, 30, 30, 513, + 30, 227, 30, 513, 203, 230, 228, 30, 513, 30, + 513, 513, 30, 513, 200, 30, 30, 232, 229, 199, + 30, 30, 30, 204, 30, 30, 30, 30, 205, 30, + 30, 203, 230, 235, 237, 30, 30, 30, 30, 30, + 30, 30, 233, 30, 232, 234, 30, 30, 513, 207, + 204, 244, 513, 30, 30, 205, 30, 30, 513, 206, + 235, 237, 242, 30, 513, 243, 513, 249, 30, 233, + 208, 30, 234, 513, 30, 30, 207, 30, 513, 30, + + 30, 245, 513, 30, 30, 30, 206, 238, 238, 238, + 238, 238, 238, 238, 249, 30, 30, 208, 30, 30, + 30, 30, 30, 513, 239, 239, 239, 239, 239, 239, + 239, 513, 250, 30, 30, 241, 246, 30, 30, 251, + 30, 513, 30, 30, 30, 30, 513, 30, 30, 30, + 30, 30, 30, 252, 253, 30, 30, 254, 30, 250, + 30, 30, 241, 246, 30, 196, 251, 240, 240, 240, + 240, 240, 240, 240, 247, 255, 30, 256, 257, 258, + 252, 253, 30, 259, 254, 260, 248, 30, 261, 30, + 262, 263, 264, 265, 30, 267, 268, 269, 270, 271, + + 272, 247, 255, 30, 256, 257, 258, 273, 274, 275, + 259, 276, 260, 248, 513, 261, 513, 262, 263, 264, + 265, 513, 267, 268, 269, 270, 271, 272, 30, 513, + 513, 30, 196, 513, 273, 274, 275, 30, 276, 30, + 30, 30, 30, 30, 513, 277, 277, 277, 277, 277, + 277, 277, 30, 283, 513, 30, 30, 278, 30, 513, + 279, 30, 30, 30, 513, 284, 30, 30, 280, 30, + 30, 30, 30, 30, 30, 30, 285, 286, 513, 30, + 283, 30, 30, 287, 278, 30, 30, 30, 290, 291, + 30, 30, 284, 293, 30, 296, 297, 513, 294, 299, + + 30, 301, 513, 285, 286, 30, 295, 303, 304, 305, + 287, 30, 306, 30, 307, 290, 291, 308, 513, 513, + 293, 513, 296, 297, 30, 294, 299, 30, 301, 30, + 30, 30, 312, 295, 303, 304, 305, 313, 314, 306, + 316, 307, 513, 30, 308, 30, 30, 30, 30, 30, + 317, 310, 310, 310, 310, 310, 310, 310, 30, 312, + 513, 30, 30, 318, 313, 314, 319, 316, 320, 30, + 321, 322, 311, 513, 323, 324, 325, 317, 326, 327, + 328, 329, 330, 331, 332, 30, 333, 30, 335, 336, + 318, 337, 338, 319, 513, 320, 340, 321, 322, 311, + + 30, 323, 324, 325, 341, 326, 327, 328, 329, 330, + 331, 332, 342, 333, 343, 335, 336, 30, 337, 338, + 30, 30, 30, 340, 344, 30, 30, 345, 347, 348, + 513, 341, 513, 349, 350, 351, 354, 513, 355, 342, + 356, 343, 357, 358, 359, 360, 361, 362, 365, 366, + 363, 344, 367, 368, 345, 347, 348, 339, 364, 30, + 349, 350, 351, 354, 30, 355, 369, 356, 371, 357, + 358, 359, 360, 361, 362, 365, 366, 363, 30, 367, + 368, 30, 30, 372, 339, 364, 374, 375, 376, 379, + 381, 382, 383, 369, 384, 371, 385, 386, 387, 388, + + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 372, 399, 400, 374, 375, 376, 379, 381, 382, 383, + 30, 384, 401, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 402, 399, 400, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 401, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 402, 426, 428, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 429, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 433, 426, 428, 434, 435, 436, 437, 438, 440, + + 441, 442, 443, 429, 444, 446, 447, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 433, 459, + 460, 434, 435, 436, 437, 438, 440, 441, 442, 443, + 461, 444, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 464, 459, 460, 465, 466, + 467, 469, 470, 471, 472, 473, 474, 461, 475, 476, + 477, 478, 480, 481, 483, 484, 485, 486, 487, 488, + 489, 490, 464, 492, 493, 465, 466, 467, 469, 470, + 471, 472, 473, 474, 494, 475, 476, 477, 478, 480, + 481, 483, 484, 485, 486, 487, 488, 489, 490, 497, + + 492, 493, 498, 499, 501, 502, 505, 506, 507, 508, + 509, 494, 510, 511, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 497, 513, 513, 498, + 499, 501, 502, 505, 506, 507, 508, 509, 513, 510, + 511, 26, 513, 26, 51, 51, 51, 3, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513 } ; -static yyconst flex_int16_t yy_chk[2118] = +static yyconst flex_int16_t yy_chk[1722] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1011,240 +893,195 @@ static yyconst flex_int16_t yy_chk[2118] = 16, 17, 14, 18, 16, 19, 20, 21, 22, 23, 24, 15, 22, 55, 17, 56, 57, 30, 21, 58, - 30, 30, 63, 64, 21, 750, 14, 16, 17, 14, - 18, 16, 19, 20, 21, 22, 23, 24, 748, 22, - 55, 17, 56, 57, 741, 21, 58, 740, 717, 63, - 64, 21, 28, 28, 28, 28, 28, 28, 28, 30, - 716, 65, 28, 28, 28, 28, 28, 28, 28, 28, + 30, 30, 60, 63, 21, 517, 14, 16, 17, 14, + 18, 16, 19, 20, 21, 22, 23, 24, 515, 22, + 55, 17, 56, 57, 510, 21, 58, 499, 498, 60, + 63, 21, 28, 28, 28, 28, 28, 28, 28, 30, + 493, 64, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 65, 28, + 28, 28, 28, 28, 28, 28, 28, 28, 64, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, - 29, 29, 31, 88, 715, 31, 31, 93, 31, 31, + 29, 29, 31, 65, 488, 31, 31, 487, 31, 31, 31, 31, 31, 31, 31, 33, 33, 33, 33, 33, - 33, 33, 35, 714, 36, 35, 35, 36, 36, 34, - 88, 37, 34, 34, 37, 37, 705, 704, 89, 38, - 35, 36, 38, 38, 31, 32, 93, 90, 32, 32, + 33, 33, 35, 483, 36, 35, 35, 36, 36, 34, + 65, 37, 34, 34, 37, 37, 472, 469, 88, 38, + 35, 36, 38, 38, 31, 32, 454, 89, 32, 32, 37, 32, 32, 32, 32, 32, 32, 32, 34, 39, - 695, 694, 39, 39, 35, 89, 36, 35, 36, 91, - 59, 34, 38, 37, 90, 40, 59, 37, 40, 40, - 41, 38, 693, 41, 41, 34, 39, 32, 42, 139, - - 43, 42, 42, 43, 43, 692, 91, 59, 685, 38, - 92, 39, 94, 59, 41, 44, 42, 45, 44, 44, - 45, 45, 40, 39, 682, 60, 44, 40, 60, 43, - 679, 46, 41, 54, 46, 46, 45, 92, 139, 94, - 42, 41, 43, 42, 95, 54, 678, 47, 96, 40, - 47, 47, 60, 97, 98, 60, 43, 44, 48, 45, - 54, 48, 48, 45, 46, 49, 99, 664, 49, 49, - 101, 95, 54, 46, 50, 96, 47, 50, 50, 102, - 97, 98, 61, 661, 61, 62, 61, 657, 104, 47, - 105, 46, 48, 99, 62, 62, 656, 101, 49, 103, - - 48, 62, 627, 47, 626, 615, 102, 49, 614, 61, - 50, 61, 62, 61, 103, 104, 50, 105, 613, 48, - 67, 62, 62, 67, 67, 49, 103, 612, 62, 66, - 66, 66, 66, 66, 66, 66, 100, 50, 53, 53, - 53, 103, 106, 100, 53, 53, 107, 127, 128, 130, - 53, 131, 53, 129, 53, 53, 53, 53, 53, 570, - 134, 129, 67, 100, 135, 53, 53, 53, 569, 106, - 100, 53, 53, 107, 127, 128, 130, 53, 131, 53, - 129, 53, 53, 53, 53, 53, 68, 134, 129, 68, - 68, 135, 68, 68, 68, 68, 68, 68, 68, 70, - - 70, 70, 70, 70, 70, 70, 72, 136, 71, 72, - 72, 71, 71, 73, 558, 74, 73, 73, 74, 74, - 541, 75, 540, 77, 75, 75, 77, 77, 68, 69, - 77, 539, 69, 69, 136, 69, 69, 69, 69, 69, - 69, 69, 71, 76, 538, 137, 76, 76, 72, 73, - 71, 75, 138, 140, 141, 73, 79, 74, 81, 79, - 79, 81, 81, 75, 78, 77, 142, 78, 78, 71, - 80, 69, 137, 80, 80, 143, 73, 76, 75, 138, - 140, 141, 537, 79, 78, 76, 82, 147, 83, 82, - 82, 83, 83, 142, 536, 531, 80, 144, 79, 84, - - 81, 530, 84, 84, 76, 85, 78, 478, 85, 85, - 79, 78, 80, 145, 143, 146, 83, 86, 84, 149, - 86, 86, 82, 80, 144, 85, 147, 477, 82, 113, - 83, 87, 113, 113, 87, 87, 424, 423, 416, 415, - 145, 84, 146, 83, 372, 84, 149, 85, 182, 82, - 168, 87, 85, 113, 86, 369, 169, 170, 290, 86, - 108, 108, 108, 108, 108, 108, 108, 278, 277, 275, - 274, 113, 126, 87, 51, 126, 126, 168, 87, 27, - 113, 86, 109, 169, 170, 109, 109, 182, 109, 109, - 109, 109, 109, 109, 109, 112, 112, 112, 112, 112, - - 112, 112, 193, 171, 114, 26, 115, 114, 114, 115, - 115, 25, 10, 152, 126, 172, 152, 152, 116, 9, - 8, 116, 116, 3, 109, 110, 114, 2, 110, 110, - 171, 110, 110, 110, 110, 110, 110, 110, 116, 115, - 117, 193, 172, 117, 117, 0, 114, 118, 115, 0, - 118, 118, 0, 114, 119, 152, 117, 119, 119, 121, - 116, 0, 121, 121, 0, 116, 115, 110, 111, 0, - 118, 111, 111, 0, 111, 111, 111, 111, 111, 111, - 111, 120, 117, 117, 120, 120, 121, 174, 122, 118, - 119, 122, 122, 0, 175, 123, 119, 118, 123, 123, - - 124, 121, 198, 124, 124, 120, 176, 132, 125, 148, - 111, 125, 125, 121, 174, 173, 132, 119, 132, 177, - 133, 175, 178, 120, 122, 123, 173, 0, 125, 133, - 122, 133, 120, 176, 132, 124, 238, 123, 179, 148, - 266, 198, 124, 132, 0, 132, 177, 133, 148, 178, - 125, 122, 123, 0, 173, 125, 133, 267, 133, 0, - 154, 0, 124, 154, 154, 179, 148, 150, 150, 150, - 150, 150, 150, 150, 151, 238, 280, 151, 151, 266, - 151, 151, 151, 151, 151, 151, 151, 153, 153, 153, - 153, 153, 153, 153, 154, 155, 267, 156, 155, 155, - - 156, 156, 154, 157, 0, 158, 157, 157, 158, 158, - 159, 0, 0, 159, 159, 280, 151, 0, 0, 159, - 160, 154, 159, 160, 160, 161, 180, 162, 161, 161, - 162, 162, 163, 181, 0, 163, 163, 155, 165, 156, - 0, 165, 165, 183, 161, 157, 164, 158, 163, 164, - 164, 184, 159, 180, 166, 185, 162, 166, 166, 186, - 181, 167, 160, 187, 167, 167, 165, 161, 188, 162, - 183, 161, 189, 190, 163, 163, 283, 191, 184, 164, - 165, 192, 185, 162, 194, 197, 186, 199, 164, 195, - 187, 200, 195, 165, 167, 188, 166, 215, 196, 189, - - 190, 196, 0, 167, 191, 0, 164, 0, 192, 0, - 216, 194, 197, 287, 199, 283, 195, 293, 200, 195, - 0, 167, 217, 218, 215, 196, 219, 220, 196, 201, - 201, 201, 201, 201, 201, 201, 202, 216, 0, 202, - 202, 222, 202, 202, 202, 202, 202, 202, 202, 217, - 218, 0, 287, 219, 220, 206, 293, 205, 206, 206, - 205, 205, 207, 0, 206, 207, 207, 206, 222, 223, - 207, 208, 0, 209, 208, 208, 209, 209, 202, 203, - 0, 208, 203, 203, 224, 203, 203, 203, 203, 203, - 203, 203, 205, 209, 0, 225, 223, 206, 210, 205, - - 0, 210, 210, 211, 207, 212, 211, 211, 212, 212, - 226, 224, 227, 208, 213, 209, 228, 213, 213, 205, - 209, 203, 225, 214, 229, 230, 214, 214, 231, 0, - 0, 232, 210, 233, 234, 235, 236, 226, 0, 227, - 210, 237, 239, 228, 240, 211, 241, 212, 242, 243, - 244, 229, 230, 245, 246, 231, 213, 214, 232, 210, - 233, 234, 235, 236, 247, 214, 248, 249, 237, 239, - 250, 240, 251, 241, 252, 242, 243, 244, 253, 254, - 245, 246, 257, 0, 214, 257, 257, 0, 0, 305, - 0, 247, 258, 248, 249, 258, 258, 250, 0, 251, - - 259, 252, 268, 259, 259, 253, 254, 256, 259, 0, - 256, 256, 258, 256, 256, 256, 256, 256, 256, 256, - 0, 269, 260, 0, 257, 260, 260, 261, 305, 268, - 261, 261, 260, 262, 258, 270, 262, 262, 271, 258, - 263, 272, 259, 263, 263, 273, 276, 264, 269, 256, - 264, 264, 265, 279, 281, 265, 265, 282, 284, 285, - 286, 288, 270, 289, 260, 271, 291, 0, 272, 261, - 292, 294, 273, 276, 295, 262, 296, 297, 298, 299, - 279, 281, 263, 300, 282, 284, 285, 286, 288, 264, - 289, 301, 302, 291, 265, 303, 304, 292, 294, 310, - - 315, 295, 311, 296, 297, 298, 299, 0, 307, 0, - 300, 307, 307, 308, 346, 0, 308, 308, 301, 302, - 312, 313, 303, 304, 306, 314, 310, 306, 306, 311, - 306, 306, 306, 306, 306, 306, 306, 307, 309, 315, - 316, 309, 309, 317, 318, 319, 320, 312, 313, 321, - 307, 322, 314, 346, 323, 308, 324, 326, 327, 328, - 329, 330, 331, 332, 307, 333, 306, 316, 334, 335, - 317, 318, 319, 320, 336, 337, 321, 338, 322, 340, - 309, 323, 341, 324, 326, 327, 328, 329, 330, 331, - 332, 344, 333, 342, 342, 334, 335, 343, 343, 345, - - 347, 336, 337, 348, 338, 349, 340, 350, 352, 341, - 353, 355, 356, 357, 359, 360, 357, 357, 344, 358, - 342, 342, 358, 358, 343, 343, 345, 347, 0, 361, - 348, 362, 349, 363, 350, 352, 364, 353, 355, 356, - 365, 359, 360, 366, 367, 368, 370, 371, 373, 374, - 375, 376, 377, 378, 358, 357, 361, 379, 362, 380, - 363, 358, 381, 364, 382, 383, 384, 365, 385, 386, - 366, 367, 368, 370, 371, 373, 374, 375, 376, 377, - 378, 358, 387, 388, 379, 389, 380, 390, 391, 381, - 392, 382, 383, 384, 393, 385, 386, 394, 395, 396, - - 397, 399, 401, 398, 402, 400, 403, 404, 405, 387, - 388, 398, 389, 400, 390, 391, 406, 392, 407, 406, - 406, 393, 408, 409, 394, 395, 396, 397, 399, 401, - 398, 402, 400, 403, 404, 405, 410, 411, 398, 412, - 400, 413, 414, 417, 418, 407, 419, 420, 421, 408, - 409, 422, 425, 426, 427, 428, 429, 430, 406, 431, - 432, 433, 434, 410, 435, 436, 412, 437, 413, 414, - 417, 418, 438, 419, 420, 421, 411, 439, 422, 425, - 426, 427, 428, 440, 430, 441, 431, 432, 433, 434, - 442, 435, 436, 443, 437, 429, 444, 445, 446, 438, - - 447, 448, 449, 450, 439, 451, 454, 455, 456, 457, - 440, 458, 441, 459, 460, 461, 462, 442, 463, 464, - 443, 465, 466, 444, 445, 446, 467, 447, 448, 449, - 450, 468, 451, 454, 455, 456, 457, 469, 458, 470, - 459, 460, 461, 462, 471, 463, 464, 472, 465, 466, - 473, 474, 475, 467, 476, 479, 480, 481, 468, 482, - 483, 484, 485, 486, 469, 487, 470, 488, 489, 490, - 491, 471, 492, 495, 472, 496, 497, 473, 474, 475, - 498, 476, 479, 480, 481, 499, 482, 483, 484, 485, - 486, 500, 487, 501, 488, 489, 490, 491, 502, 492, - - 495, 505, 496, 497, 506, 507, 508, 498, 509, 510, - 511, 512, 499, 513, 514, 515, 516, 517, 500, 518, - 501, 519, 520, 521, 522, 502, 523, 524, 505, 525, - 528, 506, 507, 508, 529, 509, 510, 511, 512, 532, - 513, 514, 515, 516, 517, 533, 518, 534, 519, 520, - 521, 522, 535, 523, 524, 544, 525, 528, 545, 547, - 548, 529, 550, 551, 552, 553, 532, 554, 555, 556, - 557, 559, 533, 560, 534, 561, 562, 563, 564, 535, - 565, 566, 544, 567, 568, 545, 547, 548, 571, 550, - 551, 552, 553, 572, 554, 555, 556, 557, 559, 575, - - 560, 576, 561, 562, 563, 564, 577, 565, 566, 578, - 567, 568, 581, 582, 583, 571, 584, 585, 587, 589, - 572, 590, 591, 592, 593, 594, 575, 595, 576, 596, - 598, 599, 600, 577, 601, 602, 578, 603, 604, 581, - 582, 583, 605, 584, 585, 587, 589, 606, 590, 591, - 592, 593, 594, 607, 595, 610, 596, 598, 599, 600, - 611, 601, 602, 616, 603, 604, 617, 618, 619, 605, - 622, 623, 624, 625, 606, 628, 629, 630, 631, 632, - 607, 633, 610, 634, 635, 636, 637, 611, 638, 639, - 616, 640, 641, 617, 618, 619, 642, 622, 623, 624, - - 625, 643, 628, 629, 630, 631, 632, 646, 633, 647, - 634, 635, 636, 637, 648, 638, 639, 649, 640, 641, - 658, 659, 660, 642, 662, 663, 665, 666, 643, 667, - 668, 669, 670, 671, 646, 672, 647, 673, 674, 675, - 680, 648, 683, 686, 649, 687, 688, 658, 659, 660, - 689, 662, 663, 665, 666, 690, 667, 668, 669, 670, - 671, 691, 672, 696, 673, 674, 675, 680, 697, 683, - 686, 698, 687, 688, 700, 702, 703, 689, 706, 707, - 712, 713, 690, 718, 719, 720, 721, 722, 691, 723, - 696, 728, 729, 730, 731, 697, 734, 735, 698, 736, - - 737, 700, 702, 703, 738, 706, 707, 712, 713, 739, - 718, 719, 720, 721, 722, 0, 723, 0, 728, 729, - 730, 731, 0, 734, 735, 0, 736, 737, 0, 0, - 0, 738, 0, 0, 0, 0, 739, 747, 0, 747, - 749, 749, 749, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - - 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, - 746, 746, 746, 746, 746, 746, 746 + 448, 447, 39, 39, 35, 88, 36, 35, 36, 90, + 91, 34, 38, 37, 89, 40, 92, 37, 40, 40, + 41, 38, 425, 41, 41, 34, 39, 32, 42, 419, + + 43, 42, 42, 43, 43, 410, 90, 91, 409, 38, + 94, 39, 95, 92, 41, 44, 42, 45, 44, 44, + 45, 45, 40, 39, 408, 96, 44, 40, 98, 43, + 405, 46, 41, 54, 46, 46, 45, 94, 354, 95, + 42, 41, 43, 42, 99, 54, 350, 47, 101, 40, + 47, 47, 96, 102, 349, 98, 43, 44, 48, 45, + 54, 48, 48, 45, 46, 49, 104, 59, 49, 49, + 105, 99, 54, 46, 50, 101, 47, 50, 50, 106, + 102, 59, 61, 345, 61, 97, 61, 59, 97, 47, + 342, 46, 48, 104, 59, 107, 127, 105, 49, 325, + + 48, 67, 324, 47, 67, 67, 106, 49, 59, 61, + 50, 61, 97, 61, 59, 97, 50, 71, 318, 48, + 71, 71, 107, 127, 304, 49, 62, 66, 66, 66, + 66, 66, 66, 66, 100, 62, 62, 50, 53, 53, + 53, 100, 62, 67, 53, 53, 284, 276, 128, 103, + 53, 71, 53, 62, 53, 53, 53, 53, 53, 71, + 130, 100, 62, 62, 103, 53, 53, 53, 100, 62, + 72, 53, 53, 72, 72, 128, 103, 53, 71, 53, + 131, 53, 53, 53, 53, 53, 68, 130, 269, 68, + 68, 103, 68, 68, 68, 68, 68, 68, 68, 70, + + 70, 70, 70, 70, 70, 70, 73, 131, 173, 73, + 73, 74, 72, 75, 74, 74, 75, 75, 76, 173, + 77, 76, 76, 77, 77, 267, 265, 77, 68, 69, + 260, 257, 69, 69, 256, 69, 69, 69, 69, 69, + 69, 69, 73, 75, 250, 133, 78, 134, 73, 78, + 78, 135, 76, 74, 79, 75, 249, 79, 79, 227, + 76, 80, 77, 136, 80, 80, 78, 193, 137, 73, + 75, 69, 133, 81, 134, 189, 81, 81, 135, 76, + 82, 79, 83, 82, 82, 83, 83, 80, 78, 181, + 136, 129, 138, 78, 84, 137, 79, 84, 84, 129, + + 180, 147, 86, 80, 143, 86, 86, 140, 79, 139, + 83, 93, 51, 84, 80, 81, 82, 27, 129, 138, + 26, 25, 82, 10, 83, 85, 129, 87, 85, 85, + 87, 87, 9, 8, 140, 3, 84, 83, 113, 86, + 84, 113, 113, 82, 86, 85, 2, 87, 108, 108, + 108, 108, 108, 108, 108, 112, 112, 112, 112, 112, + 112, 112, 113, 0, 141, 142, 86, 85, 144, 87, + 145, 0, 85, 115, 87, 109, 115, 115, 109, 109, + 113, 109, 109, 109, 109, 109, 109, 109, 0, 113, + 114, 141, 142, 114, 114, 144, 116, 145, 117, 116, + + 116, 117, 117, 0, 0, 123, 115, 120, 123, 123, + 120, 120, 114, 0, 117, 115, 116, 109, 110, 0, + 0, 110, 110, 146, 110, 110, 110, 110, 110, 110, + 110, 120, 114, 115, 0, 123, 149, 0, 116, 114, + 117, 117, 119, 116, 0, 119, 119, 123, 168, 120, + 146, 118, 0, 121, 118, 118, 121, 121, 120, 169, + 110, 111, 123, 149, 111, 111, 148, 111, 111, 111, + 111, 111, 111, 111, 118, 168, 0, 170, 119, 122, + 121, 0, 122, 122, 119, 124, 169, 126, 124, 124, + 126, 126, 171, 118, 125, 121, 148, 125, 125, 132, + + 0, 118, 0, 111, 170, 119, 172, 121, 132, 0, + 132, 174, 175, 176, 125, 122, 177, 178, 179, 171, + 124, 122, 0, 148, 0, 0, 132, 124, 152, 126, + 182, 152, 152, 172, 0, 132, 125, 132, 174, 175, + 176, 125, 122, 177, 178, 179, 0, 124, 150, 150, + 150, 150, 150, 150, 150, 151, 0, 182, 151, 151, + 0, 151, 151, 151, 151, 151, 151, 151, 0, 0, + 152, 153, 153, 153, 153, 153, 153, 153, 154, 183, + 155, 154, 154, 155, 155, 156, 184, 157, 156, 156, + 157, 157, 158, 0, 185, 158, 158, 151, 159, 186, + + 160, 159, 159, 160, 160, 161, 183, 159, 161, 161, + 159, 187, 154, 184, 162, 0, 0, 162, 162, 0, + 154, 185, 155, 0, 161, 188, 186, 156, 0, 157, + 0, 0, 163, 0, 158, 163, 163, 190, 187, 154, + 159, 165, 160, 162, 165, 165, 164, 161, 163, 164, + 164, 161, 188, 192, 194, 166, 162, 167, 166, 166, + 167, 167, 191, 201, 190, 191, 201, 201, 0, 165, + 162, 201, 0, 200, 163, 163, 200, 200, 0, 164, + 192, 194, 200, 165, 0, 200, 0, 209, 164, 191, + 167, 202, 191, 0, 202, 202, 165, 166, 0, 167, + + 199, 202, 0, 199, 199, 201, 164, 195, 195, 195, + 195, 195, 195, 195, 209, 200, 203, 167, 196, 203, + 203, 196, 196, 0, 196, 196, 196, 196, 196, 196, + 196, 0, 210, 202, 205, 199, 203, 205, 205, 211, + 204, 0, 199, 204, 204, 206, 0, 207, 206, 206, + 207, 207, 208, 212, 213, 208, 208, 214, 203, 210, + 196, 197, 199, 203, 197, 197, 211, 197, 197, 197, + 197, 197, 197, 197, 204, 216, 205, 217, 218, 219, + 212, 213, 204, 220, 214, 221, 208, 206, 222, 207, + 223, 224, 225, 226, 208, 228, 229, 230, 231, 232, + + 233, 204, 216, 197, 217, 218, 219, 234, 235, 236, + 220, 237, 221, 208, 0, 222, 0, 223, 224, 225, + 226, 0, 228, 229, 230, 231, 232, 233, 240, 0, + 0, 240, 240, 0, 234, 235, 236, 241, 237, 239, + 241, 241, 239, 239, 0, 239, 239, 239, 239, 239, + 239, 239, 242, 251, 0, 242, 242, 241, 243, 0, + 242, 243, 243, 244, 0, 252, 244, 244, 243, 245, + 240, 246, 245, 245, 246, 246, 253, 254, 0, 241, + 251, 239, 247, 255, 241, 247, 247, 248, 258, 259, + 248, 248, 252, 261, 242, 263, 264, 0, 262, 266, + + 243, 268, 0, 253, 254, 244, 262, 270, 271, 272, + 255, 245, 273, 246, 274, 258, 259, 275, 0, 0, + 261, 0, 263, 264, 247, 262, 266, 279, 268, 248, + 279, 279, 281, 262, 270, 271, 272, 282, 283, 273, + 285, 274, 0, 278, 275, 277, 278, 278, 277, 277, + 286, 277, 277, 277, 277, 277, 277, 277, 280, 281, + 0, 280, 280, 287, 282, 283, 288, 285, 289, 279, + 290, 292, 278, 0, 293, 294, 295, 286, 296, 297, + 298, 299, 301, 302, 302, 278, 303, 277, 305, 306, + 287, 308, 309, 288, 0, 289, 312, 290, 292, 278, + + 280, 293, 294, 295, 313, 296, 297, 298, 299, 301, + 302, 302, 314, 303, 315, 305, 306, 310, 308, 309, + 310, 310, 311, 312, 316, 311, 311, 317, 319, 320, + 0, 313, 0, 321, 322, 323, 326, 0, 327, 314, + 328, 315, 329, 330, 331, 332, 333, 334, 336, 337, + 335, 316, 338, 340, 317, 319, 320, 311, 335, 310, + 321, 322, 323, 326, 311, 327, 341, 328, 343, 329, + 330, 331, 332, 333, 334, 336, 337, 335, 339, 338, + 340, 339, 339, 344, 311, 335, 346, 347, 348, 351, + 355, 356, 357, 341, 358, 343, 359, 360, 361, 362, + + 363, 364, 365, 367, 368, 369, 370, 371, 372, 373, + 344, 374, 375, 346, 347, 348, 351, 355, 356, 357, + 339, 358, 376, 359, 360, 361, 362, 363, 364, 365, + 367, 368, 369, 370, 371, 372, 373, 378, 374, 375, + 379, 380, 381, 382, 383, 384, 385, 386, 388, 376, + 389, 390, 391, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 378, 404, 406, 379, 380, 381, + 382, 383, 384, 385, 386, 388, 407, 389, 390, 391, + 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 412, 404, 406, 413, 415, 416, 417, 418, 420, + + 421, 422, 423, 407, 424, 426, 428, 429, 431, 432, + 433, 435, 436, 437, 438, 440, 441, 442, 412, 443, + 444, 413, 415, 416, 417, 418, 420, 421, 422, 423, + 446, 424, 426, 428, 429, 431, 432, 433, 435, 436, + 437, 438, 440, 441, 442, 449, 443, 444, 450, 452, + 453, 455, 456, 457, 458, 459, 460, 446, 461, 462, + 464, 465, 470, 471, 473, 474, 475, 476, 477, 478, + 480, 481, 449, 484, 485, 450, 452, 453, 455, 456, + 457, 458, 459, 460, 486, 461, 462, 464, 465, 470, + 471, 473, 474, 475, 476, 477, 478, 480, 481, 489, + + 484, 485, 490, 492, 494, 497, 500, 501, 505, 506, + 507, 486, 508, 509, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 489, 0, 0, 490, + 492, 494, 497, 500, 501, 505, 506, 507, 0, 508, + 509, 514, 0, 514, 516, 516, 516, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513 } ; -static yyconst flex_int16_t yy_rule_linenum[88] = +static yyconst flex_int16_t yy_rule_linenum[64] = { 0, 77, 79, 81, 83, 85, 88, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 148, 149, 151, 152, 153, 154, 155, 156, 158, 159, - 162, 167, 168, 169, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 181, 190, 208, 214 + 117, 118, 119, 120, 121, 123, 124, 126, 128, 129, + 130, 131, 132, 133, 135, 136, 139, 144, 145, 146, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 158, + 167, 185, 191 } ; /* The intent behind this definition is that it'll catch @@ -1299,7 +1136,7 @@ static yyconst flex_int16_t yy_rule_linenum[88] = #define YY_INPUT(buffer, result, max_size) get_lex_chars(buffer, result, max_size, PARAM) -#line 1303 "libmemcached/options/scanner.cc" +#line 1140 "libmemcached/options/scanner.cc" #define INITIAL 0 @@ -1606,7 +1443,7 @@ YY_DECL -#line 1610 "libmemcached/options/scanner.cc" +#line 1447 "libmemcached/options/scanner.cc" yylval = yylval_param; @@ -1672,13 +1509,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 747 ) + if ( yy_current_state >= 514 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 2044 ); + while ( yy_base[yy_current_state] != 1648 ); yy_find_action: /* %% [10.0] code to find the action number goes here */ @@ -1701,13 +1538,13 @@ do_action: /* This label is used only to access EOF actions. */ { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 88 ) + else if ( yy_act < 64 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 88 ) + else if ( yy_act == 64 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 89 ) + else if ( yy_act == 65 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -1767,389 +1604,269 @@ YY_RULE_SETUP case 8: YY_RULE_SETUP #line 94 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return VERIFY_KEY; } +{ yyextra->begin= yytext; return BINARY_PROTOCOL; } YY_BREAK case 9: YY_RULE_SETUP #line 95 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return VERIFY_KEY; } +{ yyextra->begin= yytext; return BUFFER_REQUESTS; } YY_BREAK case 10: YY_RULE_SETUP #line 96 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return BINARY_PROTOCOL; } +{ yyextra->begin= yytext; return CONFIGURE_FILE; } YY_BREAK case 11: YY_RULE_SETUP #line 97 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return BINARY_PROTOCOL; } +{ yyextra->begin= yytext; return CONNECT_TIMEOUT; } YY_BREAK case 12: YY_RULE_SETUP #line 98 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return BUFFER_REQUESTS; } +{ yyextra->begin= yytext; return DISTRIBUTION; } YY_BREAK case 13: YY_RULE_SETUP #line 99 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return BUFFER_REQUESTS; } +{ yyextra->begin= yytext; return HASH_WITH_NAMESPACE; } YY_BREAK case 14: YY_RULE_SETUP #line 100 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return CONFIGURE_FILE; } +{ yyextra->begin= yytext; return HASH; } YY_BREAK case 15: YY_RULE_SETUP #line 101 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return CONFIGURE_FILE; } +{ yyextra->begin= yytext; return IO_BYTES_WATERMARK; } YY_BREAK case 16: YY_RULE_SETUP #line 102 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return CONNECT_TIMEOUT; } +{ yyextra->begin= yytext; return IO_KEY_PREFETCH; } YY_BREAK case 17: YY_RULE_SETUP #line 103 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return CONNECT_TIMEOUT; } +{ yyextra->begin= yytext; return IO_MSG_WATERMARK; } YY_BREAK case 18: YY_RULE_SETUP #line 104 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return DISTRIBUTION; } +{ yyextra->begin= yytext; return NOREPLY; } YY_BREAK case 19: YY_RULE_SETUP #line 105 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return HASH; } +{ yyextra->begin= yytext; return NUMBER_OF_REPLICAS; } YY_BREAK case 20: YY_RULE_SETUP #line 106 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return HASH_WITH_PREFIX_KEY; } +{ yyextra->begin= yytext; return POLL_TIMEOUT; } YY_BREAK case 21: YY_RULE_SETUP #line 107 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return HASH_WITH_PREFIX_KEY; } +{ yyextra->begin= yytext; return RANDOMIZE_REPLICA_READ; } YY_BREAK case 22: YY_RULE_SETUP #line 108 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return IO_BYTES_WATERMARK; } +{ yyextra->begin= yytext; return RCV_TIMEOUT; } YY_BREAK case 23: YY_RULE_SETUP #line 109 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return IO_BYTES_WATERMARK; } +{ yyextra->begin= yytext; return REMOVE_FAILED_SERVERS; } YY_BREAK case 24: YY_RULE_SETUP #line 110 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return IO_KEY_PREFETCH; } +{ yyextra->begin= yytext; return RETRY_TIMEOUT; } YY_BREAK case 25: YY_RULE_SETUP #line 111 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return IO_KEY_PREFETCH; } +{ yyextra->begin= yytext; return SND_TIMEOUT; } YY_BREAK case 26: YY_RULE_SETUP #line 112 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return IO_MSG_WATERMARK; } +{ yyextra->begin= yytext; return SOCKET_RECV_SIZE; } YY_BREAK case 27: YY_RULE_SETUP #line 113 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return IO_MSG_WATERMARK; } +{ yyextra->begin= yytext; return SOCKET_SEND_SIZE; } YY_BREAK case 28: YY_RULE_SETUP #line 114 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return NOREPLY; } +{ yyextra->begin= yytext; return SORT_HOSTS; } YY_BREAK case 29: YY_RULE_SETUP #line 115 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return NUMBER_OF_REPLICAS; } +{ yyextra->begin= yytext; return SUPPORT_CAS; } YY_BREAK case 30: YY_RULE_SETUP #line 116 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return NUMBER_OF_REPLICAS; } +{ yyextra->begin= yytext; return _TCP_KEEPALIVE; } YY_BREAK case 31: YY_RULE_SETUP #line 117 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return POLL_TIMEOUT; } +{ yyextra->begin= yytext; return _TCP_KEEPIDLE; } YY_BREAK case 32: YY_RULE_SETUP #line 118 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return POLL_TIMEOUT; } +{ yyextra->begin= yytext; return _TCP_NODELAY; } YY_BREAK case 33: YY_RULE_SETUP #line 119 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return RANDOMIZE_REPLICA_READ; } +{ yyextra->begin= yytext; return USE_UDP; } YY_BREAK case 34: YY_RULE_SETUP #line 120 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return RANDOMIZE_REPLICA_READ; } +{ yyextra->begin= yytext; return USER_DATA; } YY_BREAK case 35: YY_RULE_SETUP #line 121 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return RCV_TIMEOUT; } +{ yyextra->begin= yytext; return VERIFY_KEY; } YY_BREAK case 36: YY_RULE_SETUP -#line 122 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return RCV_TIMEOUT; } - YY_BREAK -case 37: -YY_RULE_SETUP #line 123 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return RETRY_TIMEOUT; } +{ yyextra->begin= yytext; return POOL_MIN; } YY_BREAK -case 38: +case 37: YY_RULE_SETUP #line 124 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return RETRY_TIMEOUT; } - YY_BREAK -case 39: -YY_RULE_SETUP -#line 125 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return SND_TIMEOUT; } +{ yyextra->begin= yytext; return POOL_MAX; } YY_BREAK -case 40: +case 38: YY_RULE_SETUP #line 126 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return SND_TIMEOUT; } +{ yyextra->begin= yytext; return NAMESPACE; } YY_BREAK -case 41: -YY_RULE_SETUP -#line 127 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return REMOVE_FAILED_SERVERS; } - YY_BREAK -case 42: +case 39: YY_RULE_SETUP #line 128 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return REMOVE_FAILED_SERVERS; } - YY_BREAK -case 43: -YY_RULE_SETUP -#line 129 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return SOCKET_RECV_SIZE; } - YY_BREAK -case 44: -YY_RULE_SETUP -#line 130 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return SOCKET_RECV_SIZE; } - YY_BREAK -case 45: -YY_RULE_SETUP -#line 131 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return SOCKET_SEND_SIZE; } - YY_BREAK -case 46: -YY_RULE_SETUP -#line 132 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return SOCKET_SEND_SIZE; } - YY_BREAK -case 47: -YY_RULE_SETUP -#line 133 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return SORT_HOSTS; } - YY_BREAK -case 48: -YY_RULE_SETUP -#line 134 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return SORT_HOSTS; } - YY_BREAK -case 49: -YY_RULE_SETUP -#line 135 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return SUPPORT_CAS; } - YY_BREAK -case 50: -YY_RULE_SETUP -#line 136 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return SUPPORT_CAS; } - YY_BREAK -case 51: -YY_RULE_SETUP -#line 137 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return _TCP_NODELAY; } - YY_BREAK -case 52: -YY_RULE_SETUP -#line 138 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return _TCP_NODELAY; } - YY_BREAK -case 53: -YY_RULE_SETUP -#line 139 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return _TCP_KEEPALIVE; } - YY_BREAK -case 54: -YY_RULE_SETUP -#line 140 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return _TCP_KEEPALIVE; } - YY_BREAK -case 55: -YY_RULE_SETUP -#line 141 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return _TCP_KEEPIDLE; } - YY_BREAK -case 56: -YY_RULE_SETUP -#line 142 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return _TCP_KEEPIDLE; } - YY_BREAK -case 57: -YY_RULE_SETUP -#line 143 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return USER_DATA; } - YY_BREAK -case 58: -YY_RULE_SETUP -#line 144 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return USER_DATA; } - YY_BREAK -case 59: -YY_RULE_SETUP -#line 145 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return USE_UDP; } - YY_BREAK -case 60: -YY_RULE_SETUP -#line 146 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return USE_UDP; } - YY_BREAK -case 61: -YY_RULE_SETUP -#line 148 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return PREFIX_KEY; } - YY_BREAK -case 62: -YY_RULE_SETUP -#line 149 "libmemcached/options/scanner.l" -{ yyextra->begin= yytext; return PREFIX_KEY; } - YY_BREAK -case 63: -YY_RULE_SETUP -#line 151 "libmemcached/options/scanner.l" { yyextra->begin= yytext; return INCLUDE; } YY_BREAK -case 64: +case 40: YY_RULE_SETUP -#line 152 "libmemcached/options/scanner.l" +#line 129 "libmemcached/options/scanner.l" { yyextra->begin= yytext; return RESET; } YY_BREAK -case 65: +case 41: YY_RULE_SETUP -#line 153 "libmemcached/options/scanner.l" +#line 130 "libmemcached/options/scanner.l" { yyextra->begin= yytext; return PARSER_DEBUG; } YY_BREAK -case 66: +case 42: YY_RULE_SETUP -#line 154 "libmemcached/options/scanner.l" +#line 131 "libmemcached/options/scanner.l" { yyextra->begin= yytext; return SERVERS; } YY_BREAK -case 67: +case 43: YY_RULE_SETUP -#line 155 "libmemcached/options/scanner.l" +#line 132 "libmemcached/options/scanner.l" { yyextra->begin= yytext; return END; } YY_BREAK -case 68: +case 44: YY_RULE_SETUP -#line 156 "libmemcached/options/scanner.l" +#line 133 "libmemcached/options/scanner.l" { yyextra->begin= yytext; return ERROR; } YY_BREAK -case 69: +case 45: YY_RULE_SETUP -#line 158 "libmemcached/options/scanner.l" +#line 135 "libmemcached/options/scanner.l" { return TRUE; } YY_BREAK -case 70: +case 46: YY_RULE_SETUP -#line 159 "libmemcached/options/scanner.l" +#line 136 "libmemcached/options/scanner.l" { return FALSE; } YY_BREAK -case 71: +case 47: YY_RULE_SETUP -#line 162 "libmemcached/options/scanner.l" +#line 139 "libmemcached/options/scanner.l" { yyextra->begin= yytext; return UNKNOWN_OPTION; } YY_BREAK -case 72: +case 48: YY_RULE_SETUP -#line 167 "libmemcached/options/scanner.l" +#line 144 "libmemcached/options/scanner.l" { return CONSISTENT; } YY_BREAK -case 73: +case 49: YY_RULE_SETUP -#line 168 "libmemcached/options/scanner.l" +#line 145 "libmemcached/options/scanner.l" { return MODULA; } YY_BREAK -case 74: +case 50: YY_RULE_SETUP -#line 169 "libmemcached/options/scanner.l" +#line 146 "libmemcached/options/scanner.l" { return RANDOM; } YY_BREAK -case 75: +case 51: YY_RULE_SETUP -#line 171 "libmemcached/options/scanner.l" +#line 148 "libmemcached/options/scanner.l" { return MD5; } YY_BREAK -case 76: +case 52: YY_RULE_SETUP -#line 172 "libmemcached/options/scanner.l" +#line 149 "libmemcached/options/scanner.l" { return CRC; } YY_BREAK -case 77: +case 53: YY_RULE_SETUP -#line 173 "libmemcached/options/scanner.l" +#line 150 "libmemcached/options/scanner.l" { return FNV1_64; } YY_BREAK -case 78: +case 54: YY_RULE_SETUP -#line 174 "libmemcached/options/scanner.l" +#line 151 "libmemcached/options/scanner.l" { return FNV1A_64; } YY_BREAK -case 79: +case 55: YY_RULE_SETUP -#line 175 "libmemcached/options/scanner.l" +#line 152 "libmemcached/options/scanner.l" { return FNV1_32; } YY_BREAK -case 80: +case 56: YY_RULE_SETUP -#line 176 "libmemcached/options/scanner.l" +#line 153 "libmemcached/options/scanner.l" { return FNV1A_32; } YY_BREAK -case 81: +case 57: YY_RULE_SETUP -#line 177 "libmemcached/options/scanner.l" +#line 154 "libmemcached/options/scanner.l" { return HSIEH; } YY_BREAK -case 82: +case 58: YY_RULE_SETUP -#line 178 "libmemcached/options/scanner.l" +#line 155 "libmemcached/options/scanner.l" { return MURMUR; } YY_BREAK -case 83: +case 59: YY_RULE_SETUP -#line 179 "libmemcached/options/scanner.l" +#line 156 "libmemcached/options/scanner.l" { return JENKINS; } YY_BREAK -case 84: +case 60: YY_RULE_SETUP -#line 181 "libmemcached/options/scanner.l" +#line 158 "libmemcached/options/scanner.l" { yylval->server.port= MEMCACHED_DEFAULT_PORT; yylval->server.weight= 1; @@ -2159,9 +1876,9 @@ YY_RULE_SETUP return IPADDRESS; } YY_BREAK -case 85: +case 61: YY_RULE_SETUP -#line 190 "libmemcached/options/scanner.l" +#line 167 "libmemcached/options/scanner.l" { if (yyextra->is_server()) { @@ -2180,29 +1897,29 @@ YY_RULE_SETUP return STRING; } YY_BREAK -case 86: +case 62: YY_RULE_SETUP -#line 208 "libmemcached/options/scanner.l" +#line 185 "libmemcached/options/scanner.l" { yylval->string.c_str = yytext; yylval->string.length = yyleng; return QUOTED_STRING; } YY_BREAK -case 87: +case 63: YY_RULE_SETUP -#line 214 "libmemcached/options/scanner.l" +#line 191 "libmemcached/options/scanner.l" { yyextra->begin= yytext; return UNKNOWN; } YY_BREAK -case 88: +case 64: YY_RULE_SETUP -#line 219 "libmemcached/options/scanner.l" +#line 196 "libmemcached/options/scanner.l" ECHO; YY_BREAK -#line 2206 "libmemcached/options/scanner.cc" +#line 1923 "libmemcached/options/scanner.cc" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2518,7 +2235,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 747 ) + if ( yy_current_state >= 514 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2552,11 +2269,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 747 ) + if ( yy_current_state >= 514 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 746); + yy_is_jam = (yy_current_state == 513); return yy_is_jam ? 0 : yy_current_state; } @@ -3468,7 +3185,7 @@ void config_free (void * ptr , yyscan_t yyscanner) /* %ok-for-header */ -#line 219 "libmemcached/options/scanner.l" +#line 196 "libmemcached/options/scanner.l" diff --git a/libmemcached/options/scanner.h b/libmemcached/options/scanner.h index 8e15027c..b5bddde3 100644 --- a/libmemcached/options/scanner.h +++ b/libmemcached/options/scanner.h @@ -471,7 +471,7 @@ extern int config_lex \ #undef YY_DECL #endif -#line 219 "libmemcached/options/scanner.l" +#line 196 "libmemcached/options/scanner.l" #line 478 "libmemcached/options/scanner.h" diff --git a/libmemcached/storage.c b/libmemcached/storage.c index 331c7fae..135def30 100644 --- a/libmemcached/storage.c +++ b/libmemcached/storage.c @@ -57,7 +57,7 @@ static memcached_return_t memcached_send_binary(memcached_st *ptr, memcached_storage_action_t verb); static inline memcached_return_t memcached_send(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, @@ -86,7 +86,7 @@ static inline memcached_return_t memcached_send(memcached_st *ptr, if (ptr->flags.verify_key && (memcached_key_test((const char **)&key, &key_length, 1) == MEMCACHED_BAD_KEY_PROVIDED)) return MEMCACHED_BAD_KEY_PROVIDED; - server_key= memcached_generate_hash_with_redistribution(ptr, master_key, master_key_length); + server_key= memcached_generate_hash_with_redistribution(ptr, group_key, group_key_length); instance= memcached_server_instance_fetch(ptr, server_key); WATCHPOINT_SET(instance->io_wait_count.read= 0); @@ -311,8 +311,8 @@ memcached_return_t memcached_cas(memcached_st *ptr, } memcached_return_t memcached_set_by_key(memcached_st *ptr, - const char *master_key, - size_t master_key_length, + const char *group_key, + size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, @@ -320,7 +320,7 @@ memcached_return_t memcached_set_by_key(memcached_st *ptr, { memcached_return_t rc; LIBMEMCACHED_MEMCACHED_SET_START(); - rc= memcached_send(ptr, master_key, master_key_length, + rc= memcached_send(ptr, group_key, group_key_length, key, key_length, value, value_length, expiration, flags, 0, SET_OP); LIBMEMCACHED_MEMCACHED_SET_END(); @@ -328,7 +328,7 @@ memcached_return_t memcached_set_by_key(memcached_st *ptr, } memcached_return_t memcached_add_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, @@ -336,7 +336,7 @@ memcached_return_t memcached_add_by_key(memcached_st *ptr, { memcached_return_t rc; LIBMEMCACHED_MEMCACHED_ADD_START(); - rc= memcached_send(ptr, master_key, master_key_length, + rc= memcached_send(ptr, group_key, group_key_length, key, key_length, value, value_length, expiration, flags, 0, ADD_OP); LIBMEMCACHED_MEMCACHED_ADD_END(); @@ -344,7 +344,7 @@ memcached_return_t memcached_add_by_key(memcached_st *ptr, } memcached_return_t memcached_replace_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, @@ -352,7 +352,7 @@ memcached_return_t memcached_replace_by_key(memcached_st *ptr, { memcached_return_t rc; LIBMEMCACHED_MEMCACHED_REPLACE_START(); - rc= memcached_send(ptr, master_key, master_key_length, + rc= memcached_send(ptr, group_key, group_key_length, key, key_length, value, value_length, expiration, flags, 0, REPLACE_OP); LIBMEMCACHED_MEMCACHED_REPLACE_END(); @@ -360,35 +360,35 @@ memcached_return_t memcached_replace_by_key(memcached_st *ptr, } memcached_return_t memcached_prepend_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags) { memcached_return_t rc; - rc= memcached_send(ptr, master_key, master_key_length, + rc= memcached_send(ptr, group_key, group_key_length, key, key_length, value, value_length, expiration, flags, 0, PREPEND_OP); return rc; } memcached_return_t memcached_append_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags) { memcached_return_t rc; - rc= memcached_send(ptr, master_key, master_key_length, + rc= memcached_send(ptr, group_key, group_key_length, key, key_length, value, value_length, expiration, flags, 0, APPEND_OP); return rc; } memcached_return_t memcached_cas_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, @@ -396,7 +396,7 @@ memcached_return_t memcached_cas_by_key(memcached_st *ptr, uint64_t cas) { memcached_return_t rc; - rc= memcached_send(ptr, master_key, master_key_length, + rc= memcached_send(ptr, group_key, group_key_length, key, key_length, value, value_length, expiration, flags, cas, CAS_OP); return rc; diff --git a/libmemcached/storage.h b/libmemcached/storage.h index 58edb479..48e544c0 100644 --- a/libmemcached/storage.h +++ b/libmemcached/storage.h @@ -56,7 +56,7 @@ memcached_return_t memcached_cas(memcached_st *ptr, LIBMEMCACHED_API memcached_return_t memcached_set_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, @@ -64,7 +64,7 @@ memcached_return_t memcached_set_by_key(memcached_st *ptr, LIBMEMCACHED_API memcached_return_t memcached_add_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, @@ -72,7 +72,7 @@ memcached_return_t memcached_add_by_key(memcached_st *ptr, LIBMEMCACHED_API memcached_return_t memcached_replace_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, @@ -80,7 +80,7 @@ memcached_return_t memcached_replace_by_key(memcached_st *ptr, LIBMEMCACHED_API memcached_return_t memcached_prepend_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, @@ -88,7 +88,7 @@ memcached_return_t memcached_prepend_by_key(memcached_st *ptr, LIBMEMCACHED_API memcached_return_t memcached_append_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, @@ -96,7 +96,7 @@ memcached_return_t memcached_append_by_key(memcached_st *ptr, LIBMEMCACHED_API memcached_return_t memcached_cas_by_key(memcached_st *ptr, - const char *master_key, size_t master_key_length, + const char *group_key, size_t group_key_length, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, diff --git a/libmemcached/util/pool.c b/libmemcached/util/pool.c index 7879cc23..fd3f6ffe 100644 --- a/libmemcached/util/pool.c +++ b/libmemcached/util/pool.c @@ -25,6 +25,7 @@ struct memcached_pool_st int firstfree; uint32_t size; uint32_t current_size; + bool _owns_master; char *version; }; @@ -71,28 +72,36 @@ static int grow_pool(memcached_pool_st* pool) return EXIT_SUCCESS; } -memcached_pool_st *memcached_pool_create(memcached_st* mmc, - uint32_t initial, uint32_t max) +static inline memcached_pool_st *_pool_create(memcached_st* mmc, uint32_t initial, uint32_t max) { - memcached_pool_st* ret = NULL; - memcached_pool_st object = { .mutex = PTHREAD_MUTEX_INITIALIZER, - .cond = PTHREAD_COND_INITIALIZER, - .master = mmc, - .mmc = calloc(max, sizeof(memcached_st*)), - .firstfree = -1, - .size = max, - .current_size = 0 }; + memcached_pool_st* ret= NULL; + + if (! initial || ! max || initial > max) + { + errno= EINVAL; + return NULL; + } + + memcached_pool_st object= { .mutex = PTHREAD_MUTEX_INITIALIZER, + .cond= PTHREAD_COND_INITIALIZER, + .master= mmc, + .mmc= calloc(max, sizeof(memcached_st*)), + .firstfree= -1, + .size= max, + .current_size= 0, + ._owns_master= false}; if (object.mmc != NULL) { - ret= calloc(1, sizeof(*ret)); + ret= (memcached_pool_st*)calloc(1, sizeof(memcached_pool_st)); if (ret == NULL) { free(object.mmc); + errno= ENOMEM; // Set this for the failed calloc return NULL; } - *ret = object; + *ret= object; /* Try to create the initial size of the pool. An allocation failure at @@ -108,9 +117,39 @@ memcached_pool_st *memcached_pool_create(memcached_st* mmc, return ret; } +memcached_pool_st *memcached_pool_create(memcached_st* mmc, uint32_t initial, uint32_t max) +{ + return _pool_create(mmc, initial, max); +} + +memcached_pool_st * memcached_pool(const char *option_string, size_t option_string_length) +{ + memcached_pool_st *self; + memcached_st *memc= memcached_create_with_options(option_string, option_string_length); + + if (! memc) + return NULL; + + self= memcached_pool_create(memc, memc->configure.initial_pool_size, memc->configure.max_pool_size); + if (! self) + { + memcached_free(memc); + errno= ENOMEM; + return NULL; + } + errno= 0; + + self->_owns_master= true; + + return self; +} + memcached_st* memcached_pool_destroy(memcached_pool_st* pool) { - memcached_st *ret = pool->master; + if (! pool) + return NULL; + + memcached_st *ret= pool->master; for (int xx= 0; xx <= pool->firstfree; ++xx) { @@ -122,6 +161,11 @@ memcached_st* memcached_pool_destroy(memcached_pool_st* pool) pthread_mutex_destroy(&pool->mutex); pthread_cond_destroy(&pool->cond); free(pool->mmc); + if (pool->_owns_master) + { + memcached_free(pool->master); + ret= NULL; + } free(pool); return ret; @@ -131,14 +175,24 @@ memcached_st* memcached_pool_pop(memcached_pool_st* pool, bool block, memcached_return_t *rc) { + if (! pool || ! rc) + { + errno= EINVAL; + return NULL; + } + memcached_st *ret= NULL; if ((*rc= mutex_enter(&pool->mutex)) != MEMCACHED_SUCCESS) + { return NULL; + } do { if (pool->firstfree > -1) + { ret= pool->mmc[pool->firstfree--]; + } else if (pool->current_size == pool->size) { if (!block) @@ -149,9 +203,9 @@ memcached_st* memcached_pool_pop(memcached_pool_st* pool, if (pthread_cond_wait(&pool->cond, &pool->mutex) == -1) { - int err = errno; + int err= errno; mutex_exit(&pool->mutex); - errno = err; + errno= err; *rc= MEMCACHED_ERRNO; return NULL; } @@ -172,6 +226,9 @@ memcached_st* memcached_pool_pop(memcached_pool_st* pool, memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc) { + if (! pool) + return MEMCACHED_INVALID_ARGUMENTS; + memcached_return_t rc= mutex_enter(&pool->mutex); if (rc != MEMCACHED_SUCCESS) @@ -209,6 +266,8 @@ memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data) { + if (! pool) + return MEMCACHED_INVALID_ARGUMENTS; memcached_return_t rc= mutex_enter(&pool->mutex); if (rc != MEMCACHED_SUCCESS) @@ -229,11 +288,14 @@ memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, { rc= memcached_behavior_set(pool->mmc[xx], flag, data); if (rc == MEMCACHED_SUCCESS) + { memcached_set_user_data(pool->mmc[xx], pool->version); + } else { memcached_free(pool->mmc[xx]); memset(pool->mmc[xx], 0, sizeof(*pool->mmc[xx])); + if (memcached_clone(pool->mmc[xx], pool->master) == NULL) { /* I'm not sure what to do in this case.. this would happen @@ -255,8 +317,10 @@ memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value) { - memcached_return_t rc= mutex_enter(&pool->mutex); + if (! pool) + return MEMCACHED_INVALID_ARGUMENTS; + memcached_return_t rc= mutex_enter(&pool->mutex); if (rc != MEMCACHED_SUCCESS) { return rc; diff --git a/libmemcached/util/pool.h b/libmemcached/util/pool.h index f2e71a2a..f00966aa 100644 --- a/libmemcached/util/pool.h +++ b/libmemcached/util/pool.h @@ -23,10 +23,14 @@ struct memcached_pool_st; typedef struct memcached_pool_st memcached_pool_st; LIBMEMCACHED_API -memcached_pool_st *memcached_pool_create(memcached_st* mmc, uint32_t initial, - uint32_t max); +memcached_pool_st *memcached_pool_create(memcached_st* mmc, uint32_t initial, uint32_t max); + +LIBMEMCACHED_API +memcached_pool_st *memcached_pool(const char *option_string, size_t option_string_length); + LIBMEMCACHED_API memcached_st* memcached_pool_destroy(memcached_pool_st* pool); + LIBMEMCACHED_API memcached_st* memcached_pool_pop(memcached_pool_st* pool, bool block, diff --git a/support/example.cnf b/support/example.cnf index 3ccb796f..70efaf13 100644 --- a/support/example.cnf +++ b/support/example.cnf @@ -3,8 +3,7 @@ # Store one additional copy on each node. --number-of-replicas=2 ---prefix-key="my_foo" ---prefix-key="my_prefix" +--namespace="my_foo" --server=localhost:11211 --server=localhost:11212 --server=localhost:11213 diff --git a/support/libmemcached.spec.in b/support/libmemcached.spec.in index f689742a..2e93ffb9 100644 --- a/support/libmemcached.spec.in +++ b/support/libmemcached.spec.in @@ -213,6 +213,7 @@ you will need to install %{name}-devel. %{_mandir}/man3/memcached_fetch_result.3.gz %{_mandir}/man3/memcached_flush_buffers.3.gz %{_mandir}/man3/memcached_free.3.gz +%{_mandir}/man3/memcached_generate_hash.3.gz %{_mandir}/man3/memcached_generate_hash_value.3.gz %{_mandir}/man3/memcached_get.3.gz %{_mandir}/man3/memcached_get_by_key.3.gz @@ -232,6 +233,7 @@ you will need to install %{name}-devel. %{_mandir}/man3/memcached_pool_destroy.3.gz %{_mandir}/man3/memcached_pool_pop.3.gz %{_mandir}/man3/memcached_pool_push.3.gz +%{_mandir}/man3/memcached_pool_st.3.gz %{_mandir}/man3/memcached_prepend.3.gz %{_mandir}/man3/memcached_prepend_by_key.3.gz %{_mandir}/man3/memcached_quit.3.gz diff --git a/tests/include.am b/tests/include.am index 990c772d..420435d5 100644 --- a/tests/include.am +++ b/tests/include.am @@ -35,6 +35,7 @@ noinst_HEADERS+= \ tests/ketama_test_cases_spy.h \ tests/libmemcached_world.h \ tests/parser.h \ + tests/pool.h \ tests/print.h \ tests/replication.h \ tests/string.h \ @@ -56,6 +57,7 @@ tests_testapp_SOURCES= \ tests/error_conditions.cc \ tests/mem_functions.c \ tests/parser.cc \ + tests/pool.cc \ tests/print.cc \ tests/replication.cc \ tests/string.cc \ diff --git a/tests/mem_functions.c b/tests/mem_functions.c index 014c9bba..72b3b193 100644 --- a/tests/mem_functions.c +++ b/tests/mem_functions.c @@ -35,6 +35,7 @@ #include #include "tests/parser.h" +#include "tests/pool.h" #include "tests/string.h" #include "tests/replication.h" #include "tests/basic.h" @@ -5980,10 +5981,9 @@ test_st tests[] ={ {"delete_through", 1, (test_callback_fn)delete_through }, {"noreply", 1, (test_callback_fn)noreply_test}, {"analyzer", 1, (test_callback_fn)analyzer_test}, -#ifdef HAVE_LIBMEMCACHEDUTIL {"connectionpool", 1, (test_callback_fn)connection_pool_test }, + {"memcached_pool_test", 1, (test_callback_fn)memcached_pool_test }, {"ping", 1, (test_callback_fn)ping_test }, -#endif {"test_get_last_disconnect", 1, (test_callback_fn)test_get_last_disconnect}, {"verbosity", 1, (test_callback_fn)test_verbosity}, {"test_server_failure", 1, (test_callback_fn)test_server_failure}, diff --git a/tests/parser.cc b/tests/parser.cc index 900e89a7..118c5f93 100644 --- a/tests/parser.cc +++ b/tests/parser.cc @@ -44,6 +44,7 @@ #define BUILDING_LIBMEMCACHED #include +#include #include "tests/parser.h" #include "tests/print.h" @@ -172,41 +173,41 @@ scanner_variable_t bad_test_strings[]= { }; scanner_variable_t test_number_options[]= { - { ARRAY, make_scanner_string("--CONNECT_TIMEOUT=456"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--IO_BYTES_WATERMARK=456"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--IO_KEY_PREFETCH=456"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--IO_MSG_WATERMARK=456"), make_scanner_string("456"), __check_IO_MSG_WATERMARK }, - { ARRAY, make_scanner_string("--NUMBER_OF_REPLICAS=456"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--POLL_TIMEOUT=456"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--RCV_TIMEOUT=456"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--CONNECT-TIMEOUT=456"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--IO-BYTES-WATERMARK=456"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--IO-KEY-PREFETCH=456"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--IO-MSG-WATERMARK=456"), make_scanner_string("456"), __check_IO_MSG_WATERMARK }, + { ARRAY, make_scanner_string("--NUMBER-OF-REPLICAS=456"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--POLL-TIMEOUT=456"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--RCV-TIMEOUT=456"), scanner_string_null, NULL }, { ARRAY, make_scanner_string("--REMOVE-FAILED-SERVERS=3"), scanner_string_null, __check_REMOVE_FAILED_SERVERS }, - { ARRAY, make_scanner_string("--RETRY_TIMEOUT=456"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--SND_TIMEOUT=456"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--SOCKET_RECV_SIZE=456"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--SOCKET_SEND_SIZE=456"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--RETRY-TIMEOUT=456"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--SND-TIMEOUT=456"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--SOCKET-RECV-SIZE=456"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--SOCKET-SEND-SIZE=456"), scanner_string_null, NULL }, { NIL, scanner_string_null, scanner_string_null, NULL} }; scanner_variable_t test_boolean_options[]= { - { ARRAY, make_scanner_string("--BINARY_PROTOCOL"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--BUFFER_REQUESTS"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--HASH_WITH_PREFIX_KEY"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--BINARY-PROTOCOL"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--BUFFER-REQUESTS"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--HASH-WITH-NAMESPACE"), scanner_string_null, NULL }, { ARRAY, make_scanner_string("--NOREPLY"), scanner_string_null, __check_NOREPLY }, - { ARRAY, make_scanner_string("--RANDOMIZE_REPLICA_READ"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--SORT_HOSTS"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--SUPPORT_CAS"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--TCP_NODELAY"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--TCP_KEEPALIVE"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--TCP_KEEPIDLE"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--USE_UDP"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--VERIFY_KEY"), scanner_string_null, __check_VERIFY_KEY }, + { ARRAY, make_scanner_string("--RANDOMIZE-REPLICA-READ"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--SORT-HOSTS"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--SUPPORT-CAS"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--TCP-NODELAY"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--TCP-KEEPALIVE"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--TCP-KEEPIDLE"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--USE-UDP"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--VERIFY-KEY"), scanner_string_null, __check_VERIFY_KEY }, { NIL, scanner_string_null, scanner_string_null, NULL} }; scanner_variable_t prefix_key_strings[]= { - { ARRAY, make_scanner_string("--PREFIX_KEY=foo"), make_scanner_string("foo"), __check_prefix_key }, - { ARRAY, make_scanner_string("--PREFIX-KEY=\"foo\""), make_scanner_string("foo"), __check_prefix_key }, - { ARRAY, make_scanner_string("--PREFIX-KEY=\"This_is_a_very_long_key\""), make_scanner_string("This_is_a_very_long_key"), __check_prefix_key }, + { ARRAY, make_scanner_string("--NAMESPACE=foo"), make_scanner_string("foo"), __check_prefix_key }, + { ARRAY, make_scanner_string("--NAMESPACE=\"foo\""), make_scanner_string("foo"), __check_prefix_key }, + { ARRAY, make_scanner_string("--NAMESPACE=\"This_is_a_very_long_key\""), make_scanner_string("This_is_a_very_long_key"), __check_prefix_key }, { NIL, scanner_string_null, scanner_string_null, NULL} }; @@ -483,9 +484,11 @@ test_return_t random_statement_build_test(memcached_st*) break; case ENOMEM: std::cerr << "Failed to allocate memory for memcached_create_with_options()" << std::endl; + memcached_free(memc_ptr); return TEST_FAILURE; default: std::cerr << "Unknown error from memcached_create_with_options?!!" << std::endl; + memcached_free(memc_ptr); return TEST_FAILURE; } } diff --git a/tests/parser.h b/tests/parser.h index c50b3789..c53f0e41 100644 --- a/tests/parser.h +++ b/tests/parser.h @@ -1,6 +1,6 @@ /* vim:expandtab:shiftwidth=2:tabstop=2:smarttab: * - * Gearmand client and server library. + * Libmemcached * * Copyright (C) 2011 Data Differential, http://datadifferential.com/ * All rights reserved. diff --git a/tests/pool.cc b/tests/pool.cc new file mode 100644 index 00000000..ed5016f0 --- /dev/null +++ b/tests/pool.cc @@ -0,0 +1,78 @@ +/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab: + * + * Libmemcached Client and Server + * + * Copyright (C) 2011 Data Differential, http://datadifferential.com/ + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * + * * The names of its contributors may not be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include + +#include +#include +#include +#include + +#include +#include +#include + +test_return_t memcached_pool_test(memcached_st *) +{ + memcached_return_t rc; + const char *config_string= "--SERVER=host10.example.com --SERVER=host11.example.com --SERVER=host10.example.com --POOL-MIN=10 --POOL-MAX=32"; + + char buffer[2048]; + rc= libmemcached_check_configuration(config_string, sizeof(config_string) -1, buffer, sizeof(buffer)); + + test_true_got(rc != MEMCACHED_SUCCESS, buffer); + + memcached_pool_st* pool= memcached_pool(config_string, strlen(config_string)); + test_true_got(pool, strerror(errno)); + + memcached_st *memc= memcached_pool_pop(pool, false, &rc); + + test_true(rc == MEMCACHED_SUCCESS); + test_true(memc); + + /* + Release the memc_ptr that was pulled from the pool + */ + memcached_pool_push(pool, memc); + + /* + Destroy the pool. + */ + memcached_pool_destroy(pool); + + return TEST_SUCCESS; +} diff --git a/tests/pool.h b/tests/pool.h new file mode 100644 index 00000000..45bb14da --- /dev/null +++ b/tests/pool.h @@ -0,0 +1,51 @@ +/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab: + * + * Libmemcached client and server library. + * + * Copyright (C) 2011 Data Differential, http://datadifferential.com/ + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * + * * The names of its contributors may not be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +LIBTEST_INTERNAL_API +test_return_t memcached_pool_test(memcached_st *); + +#ifdef __cplusplus +} +#endif