Merge lp:~mordred/libmemcached/pandora-build into lp:~tangent-org/libmemcached/trunk
- pandora-build
- Merge into trunk
Proposed by
Monty Taylor
Status: | Merged |
---|---|
Merged at revision: | not available |
Proposed branch: | lp:~mordred/libmemcached/pandora-build |
Merge into: | lp:~tangent-org/libmemcached/trunk |
Diff against target: |
3599 lines (+1124/-807) 73 files modified
.bzrignore (+107/-0) AUTHORS (+1/-1) ChangeLog (+11/-1) Makefile.am (+4/-3) clients/include.am (+1/-1) configure.ac (+17/-3) docs/Makefile.am (+514/-457) docs/libmemcached.pod (+1/-1) docs/libmemcached_examples.pod (+1/-1) docs/libmemcachedutil.pod (+2/-2) docs/make_index.pl (+30/-0) docs/memcached_analyze.pod (+1/-1) docs/memcached_auto.pod (+1/-1) docs/memcached_behavior.pod (+1/-1) docs/memcached_callback.pod (+1/-1) docs/memcached_create.pod (+7/-2) docs/memcached_delete.pod (+1/-1) docs/memcached_dump.pod (+1/-1) docs/memcached_flush.pod (+1/-1) docs/memcached_flush_buffers.pod (+2/-2) docs/memcached_generate_hash_value.pod (+1/-1) docs/memcached_get.pod (+1/-1) docs/memcached_memory_allocators.pod (+2/-2) docs/memcached_pool.pod (+2/-2) docs/memcached_quit.pod (+1/-1) docs/memcached_result_st.pod (+1/-1) docs/memcached_server_st.pod (+1/-1) docs/memcached_servers.pod (+16/-3) docs/memcached_set.pod (+1/-1) docs/memcached_stats.pod (+1/-1) docs/memcached_strerror.pod (+1/-1) docs/memcached_user_data.pod (+2/-2) docs/memcached_verbosity.pod (+1/-1) docs/memcached_version.pod (+1/-1) docs/memcapable.pod (+2/-2) docs/memcat.pod (+1/-1) docs/memcp.pod (+1/-1) docs/memdump.pod (+1/-1) docs/memerror.pod (+1/-1) docs/memflush.pod (+1/-1) docs/memrm.pod (+1/-1) docs/memslap.pod (+51/-54) docs/memstat.pod (+1/-1) libhashkit/Makefile.am (+0/-45) libhashkit/hsieh.c (+2/-2) libhashkit/include.am (+47/-0) libmemcached/analyze.c (+1/-1) libmemcached/auto.c (+2/-2) libmemcached/behavior.c (+1/-1) libmemcached/configure.h.in (+9/-6) libmemcached/delete.c (+2/-2) libmemcached/dump.c (+2/-2) libmemcached/flush.c (+5/-5) libmemcached/flush_buffers.c (+6/-6) libmemcached/get.c (+9/-10) libmemcached/hash.c (+7/-7) libmemcached/hosts.c (+23/-53) libmemcached/include.am (+30/-31) libmemcached/io.c (+11/-5) libmemcached/memcached.c (+32/-0) libmemcached/memcached.h (+8/-6) libmemcached/memcached/protocol_binary.h (+1/-1) libmemcached/quit.c (+3/-3) libmemcached/server.c (+19/-8) libmemcached/server.h (+11/-1) libmemcached/stats.c (+2/-2) libmemcached/storage.c (+2/-2) libmemcached/verbosity.c (+1/-1) libmemcached/version.c (+5/-3) m4/pandora_canonical.m4 (+1/-1) m4/pandora_have_libmemcached.m4 (+19/-0) support/libmemcached.spec.in (+40/-7) tests/function.c (+26/-31) |
To merge this branch: | bzr merge lp:~mordred/libmemcached/pandora-build |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Brian Aker | Pending | ||
Review via email: mp+17097@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Revision history for this message
Monty Taylor (mordred) wrote : | # |
- 698. By Brian Aker <brian@gaz>
-
Style cleanup.
- 699. By Brian Aker <brian@gaz>
-
Name correction for test system.
- 700. By Brian Aker <brian@gaz>
-
New stats output for collection information.
- 701. By Brian Aker <brian@gaz>
-
Absorb test bits into anonymous structure.
- 702. By Brian Aker <brian@gaz>
-
Fix structure of test.c where we call code before/after a collection runs.
- 703. By Brian Aker <brian@gaz>
-
Updated test framework.
- 704. By Brian Aker <brian@gaz>
-
Updated .spec file for release.
- 705. By Brian Aker <brian@gaz>
-
.pop now ignored.
- 706. By Brian Aker <brian@gaz>
-
Updates for version 0.37.
- 707. By Brian Aker <brian@gaz>
-
Spec fix.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file '.bzrignore' | |||
2 | --- .bzrignore 2009-12-19 00:22:26 +0000 | |||
3 | +++ .bzrignore 2010-01-12 00:36:12 +0000 | |||
4 | @@ -39,20 +39,127 @@ | |||
5 | 39 | config/plugin.ac | 39 | config/plugin.ac |
6 | 40 | configure | 40 | configure |
7 | 41 | docs/*.[13] | 41 | docs/*.[13] |
8 | 42 | docs/*.html | ||
9 | 43 | docs/pod2htmd.tmp | ||
10 | 44 | docs/pod2htmi.tmp | ||
11 | 42 | example/memcached_light | 45 | example/memcached_light |
12 | 46 | hashkit_clone.pop | ||
13 | 47 | hashkit_crc32.pop | ||
14 | 48 | hashkit_create.pop | ||
15 | 49 | hashkit_fnv1_32.pop | ||
16 | 50 | hashkit_fnv1_64.pop | ||
17 | 51 | hashkit_fnv1a_32.pop | ||
18 | 52 | hashkit_fnv1a_64.pop | ||
19 | 53 | hashkit_free.pop | ||
20 | 54 | hashkit_functions.pop | ||
21 | 55 | hashkit_hsieh.pop | ||
22 | 56 | hashkit_is_allocated.pop | ||
23 | 57 | hashkit_jenkins.pop | ||
24 | 58 | hashkit_md5.pop | ||
25 | 59 | hashkit_murmur.pop | ||
26 | 60 | hashkit_value.pop | ||
27 | 43 | libmemcached-*.tar.gz | 61 | libmemcached-*.tar.gz |
28 | 44 | libmemcached-0.30-1.src.rpm | 62 | libmemcached-0.30-1.src.rpm |
29 | 45 | libmemcached-0.30-1.x86_64.rpm | 63 | libmemcached-0.30-1.x86_64.rpm |
30 | 46 | libmemcached-0.31-1.src.rpm | 64 | libmemcached-0.31-1.src.rpm |
31 | 47 | libmemcached-0.31-1.x86_64.rpm | 65 | libmemcached-0.31-1.x86_64.rpm |
32 | 48 | libmemcached-?.??/ | 66 | libmemcached-?.??/ |
33 | 67 | libmemcached.pop | ||
34 | 68 | libmemcached/configure.h | ||
35 | 49 | libmemcached/memcached_configure.h | 69 | libmemcached/memcached_configure.h |
36 | 70 | libmemcached_examples.pop | ||
37 | 71 | libmemcachedutil.pop | ||
38 | 50 | libtool | 72 | libtool |
39 | 51 | libtool.m4 | 73 | libtool.m4 |
40 | 52 | ltoptions.m4 | 74 | ltoptions.m4 |
41 | 53 | ltsugar.m4 | 75 | ltsugar.m4 |
42 | 54 | ltversion.m4 | 76 | ltversion.m4 |
43 | 55 | lt~obsolete.m4 | 77 | lt~obsolete.m4 |
44 | 78 | memcached_add.pop | ||
45 | 79 | memcached_add_by_key.pop | ||
46 | 80 | memcached_analyze.pop | ||
47 | 81 | memcached_append.pop | ||
48 | 82 | memcached_append_by_key.pop | ||
49 | 83 | memcached_behavior_get.pop | ||
50 | 84 | memcached_behavior_set.pop | ||
51 | 85 | memcached_callback_get.pop | ||
52 | 86 | memcached_callback_set.pop | ||
53 | 87 | memcached_cas.pop | ||
54 | 88 | memcached_cas_by_key.pop | ||
55 | 89 | memcached_clone.pop | ||
56 | 90 | memcached_create.pop | ||
57 | 91 | memcached_decrement.pop | ||
58 | 92 | memcached_decrement_with_initial.pop | ||
59 | 93 | memcached_delete.pop | ||
60 | 94 | memcached_delete_by_key.pop | ||
61 | 95 | memcached_dump.pop | ||
62 | 96 | memcached_fetch.pop | ||
63 | 97 | memcached_fetch_execute.pop | ||
64 | 98 | memcached_fetch_result.pop | ||
65 | 99 | memcached_flush.pop | ||
66 | 100 | memcached_flush_buffers.pop | ||
67 | 101 | memcached_free.pop | ||
68 | 102 | memcached_generate_hash_value.pop | ||
69 | 103 | memcached_get.pop | ||
70 | 104 | memcached_get_by_key.pop | ||
71 | 105 | memcached_get_memory_allocators.pop | ||
72 | 106 | memcached_get_user_data.pop | ||
73 | 107 | memcached_increment.pop | ||
74 | 108 | memcached_increment_with_initial.pop | ||
75 | 109 | memcached_lib_version.pop | ||
76 | 110 | memcached_mget.pop | ||
77 | 111 | memcached_mget_by_key.pop | ||
78 | 112 | memcached_mget_execute.pop | ||
79 | 113 | memcached_mget_execute_by_key.pop | ||
80 | 114 | memcached_pool_behavior_get.pop | ||
81 | 115 | memcached_pool_behavior_set.pop | ||
82 | 116 | memcached_pool_create.pop | ||
83 | 117 | memcached_pool_destroy.pop | ||
84 | 118 | memcached_pool_pop.pop | ||
85 | 119 | memcached_pool_push.pop | ||
86 | 120 | memcached_prepend.pop | ||
87 | 121 | memcached_prepend_by_key.pop | ||
88 | 122 | memcached_quit.pop | ||
89 | 123 | memcached_replace.pop | ||
90 | 124 | memcached_replace_by_key.pop | ||
91 | 125 | memcached_result_cas.pop | ||
92 | 126 | memcached_result_create.pop | ||
93 | 127 | memcached_result_flags.pop | ||
94 | 128 | memcached_result_free.pop | ||
95 | 129 | memcached_result_key_length.pop | ||
96 | 130 | memcached_result_key_value.pop | ||
97 | 131 | memcached_result_length.pop | ||
98 | 132 | memcached_result_st.pop | ||
99 | 133 | memcached_result_value.pop | ||
100 | 134 | memcached_server_add.pop | ||
101 | 135 | memcached_server_add_unix_socket.pop | ||
102 | 136 | memcached_server_count.pop | ||
103 | 137 | memcached_server_list.pop | ||
104 | 138 | memcached_server_list_append.pop | ||
105 | 139 | memcached_server_list_count.pop | ||
106 | 140 | memcached_server_list_free.pop | ||
107 | 141 | memcached_server_push.pop | ||
108 | 142 | memcached_servers_parse.pop | ||
109 | 143 | memcached_set.pop | ||
110 | 144 | memcached_set_by_key.pop | ||
111 | 145 | memcached_set_memory_allocators.pop | ||
112 | 146 | memcached_set_user_data.pop | ||
113 | 147 | memcached_stat.pop | ||
114 | 148 | memcached_stat_get_keys.pop | ||
115 | 149 | memcached_stat_get_value.pop | ||
116 | 150 | memcached_stat_servername.pop | ||
117 | 151 | memcached_strerror.pop | ||
118 | 152 | memcached_verbosity.pop | ||
119 | 153 | memcached_version.pop | ||
120 | 154 | memcapable.pop | ||
121 | 155 | memcat.pop | ||
122 | 156 | memcp.pop | ||
123 | 157 | memdump.pop | ||
124 | 158 | memerror.pop | ||
125 | 159 | memflush.pop | ||
126 | 160 | memrm.pop | ||
127 | 161 | memslap.pop | ||
128 | 162 | memstat.pop | ||
129 | 56 | stamp-h1 | 163 | stamp-h1 |
130 | 57 | support/Makefile | 164 | support/Makefile |
131 | 58 | support/Makefile.in | 165 | support/Makefile.in |
132 | 59 | 166 | ||
133 | === modified file 'AUTHORS' | |||
134 | --- AUTHORS 2009-12-16 19:03:49 +0000 | |||
135 | +++ AUTHORS 2010-01-12 00:36:12 +0000 | |||
136 | @@ -3,7 +3,7 @@ | |||
137 | 3 | Patrick Galbraith, -- C++ Interface | 3 | Patrick Galbraith, -- C++ Interface |
138 | 4 | Padraig O'Sullivan, -- C++ Interface (current one) | 4 | Padraig O'Sullivan, -- C++ Interface (current one) |
139 | 5 | Tim Bunce, -- Docs | 5 | Tim Bunce, -- Docs |
141 | 6 | Trond Norbye, trond.norbye@sun.com -- Binary protocol, Misc | 6 | Trond Norbye, trond.norbye@gmail.com -- Binary protocol, Misc |
142 | 7 | Yin Chen, -- Ketama Work | 7 | Yin Chen, -- Ketama Work |
143 | 8 | Toru Maesaka, dev@torum.net -- Stats analysis | 8 | Toru Maesaka, dev@torum.net -- Stats analysis |
144 | 9 | Eric Lambert, -- UDP work | 9 | Eric Lambert, -- UDP work |
145 | 10 | 10 | ||
146 | === modified file 'ChangeLog' | |||
147 | --- ChangeLog 2010-01-06 17:22:43 +0000 | |||
148 | +++ ChangeLog 2010-01-12 00:36:12 +0000 | |||
149 | @@ -1,4 +1,14 @@ | |||
151 | 1 | 0.36 | 1 | 0.37 |
152 | 2 | * Fixed build for libhashkit. | ||
153 | 3 | * Fixed install path regression. | ||
154 | 4 | * Modified RPM to strict check install. | ||
155 | 5 | * Added documentation for memcached_server_cursor(); | ||
156 | 6 | |||
157 | 7 | * Added memcached_servers_reset(). | ||
158 | 8 | |||
159 | 9 | * Modified memcached_st to remove dead cursor_server member. | ||
160 | 10 | |||
161 | 11 | 0.36 Wed Jan 6 18:23:50 PST 2010 | ||
162 | 2 | * Merged in new memslap utility. | 12 | * Merged in new memslap utility. |
163 | 3 | * All of constants.h has been updated to match style (all old identifiers | 13 | * All of constants.h has been updated to match style (all old identifiers |
164 | 4 | continue to work). | 14 | continue to work). |
165 | 5 | 15 | ||
166 | === modified file 'Makefile.am' | |||
167 | --- Makefile.am 2009-12-20 21:29:01 +0000 | |||
168 | +++ Makefile.am 2010-01-12 00:36:12 +0000 | |||
169 | @@ -10,18 +10,19 @@ | |||
170 | 10 | lib_LTLIBRARIES = | 10 | lib_LTLIBRARIES = |
171 | 11 | noinst_LTLIBRARIES = | 11 | noinst_LTLIBRARIES = |
172 | 12 | noinst_PROGRAMS = | 12 | noinst_PROGRAMS = |
175 | 13 | pkginclude_HEADERS = | 13 | include_HEADERS = |
176 | 14 | nobase_pkginclude_HEADERS = | 14 | nobase_include_HEADERS = |
177 | 15 | EXTRA_HEADERS = | 15 | EXTRA_HEADERS = |
178 | 16 | BUILT_SOURCES= | 16 | BUILT_SOURCES= |
179 | 17 | EXTRA_DIST = README.FIRST | 17 | EXTRA_DIST = README.FIRST |
180 | 18 | 18 | ||
182 | 19 | SUBDIRS = docs libhashkit | 19 | SUBDIRS = docs |
183 | 20 | 20 | ||
184 | 21 | test-docs: | 21 | test-docs: |
185 | 22 | (cd docs && $(MAKE) test-docs) | 22 | (cd docs && $(MAKE) test-docs) |
186 | 23 | include libmemcached/include.am | 23 | include libmemcached/include.am |
187 | 24 | include clients/include.am | 24 | include clients/include.am |
188 | 25 | include libhashkit/include.am | ||
189 | 25 | include tests/include.am | 26 | include tests/include.am |
190 | 26 | include example/include.am | 27 | include example/include.am |
191 | 27 | include support/include.am | 28 | include support/include.am |
192 | 28 | 29 | ||
193 | === modified file 'clients/include.am' | |||
194 | --- clients/include.am 2009-12-17 21:24:01 +0000 | |||
195 | +++ clients/include.am 2010-01-12 00:36:12 +0000 | |||
196 | @@ -69,7 +69,7 @@ | |||
197 | 69 | clients/ms_stats.c \ | 69 | clients/ms_stats.c \ |
198 | 70 | clients/ms_task.c \ | 70 | clients/ms_task.c \ |
199 | 71 | clients/ms_thread.c | 71 | clients/ms_thread.c |
201 | 72 | clients_memslap_LDADD= $(LTLIBEVENT) clients/libgenexec.la $(CLIENTS_LDADDS) | 72 | clients_memslap_LDADD= $(LTLIBEVENT) clients/libgenexec.la $(CLIENTS_LDADDS) $(LIBM) |
202 | 73 | 73 | ||
203 | 74 | clients_memcapable_SOURCES= clients/memcapable.c | 74 | clients_memcapable_SOURCES= clients/memcapable.c |
204 | 75 | if BUILD_BYTEORDER | 75 | if BUILD_BYTEORDER |
205 | 76 | 76 | ||
206 | === modified file 'configure.ac' | |||
207 | --- configure.ac 2009-12-20 11:18:07 +0000 | |||
208 | +++ configure.ac 2010-01-12 00:36:12 +0000 | |||
209 | @@ -6,7 +6,7 @@ | |||
210 | 6 | # the COPYING file in this directory for full text. | 6 | # the COPYING file in this directory for full text. |
211 | 7 | 7 | ||
212 | 8 | AC_PREREQ(2.59) | 8 | AC_PREREQ(2.59) |
214 | 9 | AC_INIT([libmemcached],[0.35],[http://tangent.org/552/libmemcached.html]) | 9 | AC_INIT([libmemcached],[0.37],[http://tangent.org/552/libmemcached.html]) |
215 | 10 | AC_CONFIG_SRCDIR([libmemcached/memcached.c]) | 10 | AC_CONFIG_SRCDIR([libmemcached/memcached.c]) |
216 | 11 | AC_CONFIG_AUX_DIR(config) | 11 | AC_CONFIG_AUX_DIR(config) |
217 | 12 | AM_CONFIG_HEADER([config.h]) | 12 | AM_CONFIG_HEADER([config.h]) |
218 | @@ -14,6 +14,21 @@ | |||
219 | 14 | 14 | ||
220 | 15 | PANDORA_CANONICAL_TARGET | 15 | PANDORA_CANONICAL_TARGET |
221 | 16 | 16 | ||
222 | 17 | #shared library versioning | ||
223 | 18 | MEMCACHED_LIBRARY_VERSION=3:0:0 | ||
224 | 19 | # | | | | ||
225 | 20 | # +------+ | +---+ | ||
226 | 21 | # | | | | ||
227 | 22 | # current:revision:age | ||
228 | 23 | # | | | | ||
229 | 24 | # | | +- increment if interfaces have been added | ||
230 | 25 | # | | set to zero if interfaces have been removed or changed | ||
231 | 26 | # | +- increment if source code has changed | ||
232 | 27 | # | set to zero if current is incremented | ||
233 | 28 | # +- increment if interfaces have been added, removed or changed | ||
234 | 29 | AC_SUBST(MEMCACHED_LIBRARY_VERSION) | ||
235 | 30 | |||
236 | 31 | |||
237 | 17 | HASHKIT_LIBRARY_VERSION=0:0:0 | 32 | HASHKIT_LIBRARY_VERSION=0:0:0 |
238 | 18 | AC_SUBST(HASHKIT_LIBRARY_VERSION) | 33 | AC_SUBST(HASHKIT_LIBRARY_VERSION) |
239 | 19 | 34 | ||
240 | @@ -51,8 +66,7 @@ | |||
241 | 51 | AC_CONFIG_FILES([ | 66 | AC_CONFIG_FILES([ |
242 | 52 | Makefile | 67 | Makefile |
243 | 53 | docs/Makefile | 68 | docs/Makefile |
246 | 54 | libmemcached/memcached_configure.h | 69 | libmemcached/configure.h |
245 | 55 | libhashkit/Makefile | ||
247 | 56 | support/libmemcached.pc | 70 | support/libmemcached.pc |
248 | 57 | support/libmemcached.spec | 71 | support/libmemcached.spec |
249 | 58 | support/libmemcached-fc.spec | 72 | support/libmemcached-fc.spec |
250 | 59 | 73 | ||
251 | === modified file 'docs/Makefile.am' | |||
252 | --- docs/Makefile.am 2009-12-20 11:18:07 +0000 | |||
253 | +++ docs/Makefile.am 2010-01-12 00:36:12 +0000 | |||
254 | @@ -1,116 +1,419 @@ | |||
296 | 1 | CLEANFILES= *.1 *.3 | 1 | # This file generates all of man/html pages that we use for documentation. |
297 | 2 | 2 | # | |
298 | 3 | 3 | # When hacking this file you need to know that we take .pod files and turn | |
299 | 4 | EXTRA_DIST = \ | 4 | # them into .pop files. .pop files are 1=1 for man pages, but one .pod |
300 | 5 | hashkit_create.pod \ | 5 | # file may generate many .pop files. |
301 | 6 | hashkit_functions.pod \ | 6 | # |
302 | 7 | hashkit_value.pod \ | 7 | # -Brian |
303 | 8 | libmemcached.pod \ | 8 | # |
304 | 9 | libmemcached_examples.pod \ | 9 | # |
305 | 10 | libmemcachedutil.pod \ | 10 | CLEANFILES= *.1 *.3 *.html *.pop *.tmp |
306 | 11 | memcached_analyze.pod \ | 11 | |
307 | 12 | memcached_auto.pod \ | 12 | BUILT_SOURCES= |
308 | 13 | memcached_behavior.pod \ | 13 | |
309 | 14 | memcached_callback.pod \ | 14 | EXTRA_DIST= make_index.pl |
310 | 15 | memcached_create.pod \ | 15 | |
311 | 16 | memcached_delete.pod \ | 16 | AUTO_PAGES= \ |
312 | 17 | memcached_dump.pod \ | 17 | memcached_increment.pop \ |
313 | 18 | memcached_flush.pod \ | 18 | memcached_increment_with_initial.pop \ |
314 | 19 | memcached_flush_buffers.pod \ | 19 | memcached_decrement.pop \ |
315 | 20 | memcached_generate_hash_value.pod \ | 20 | memcached_decrement_with_initial.pop |
316 | 21 | memcached_get.pod \ | 21 | BUILT_SOURCES += ${AUTO_PAGES} |
317 | 22 | memcached_memory_allocators.pod \ | 22 | |
318 | 23 | memcached_pool.pod \ | 23 | BEHAVIOR_PAGES= \ |
319 | 24 | memcached_quit.pod \ | 24 | memcached_behavior_get.pop \ |
320 | 25 | memcached_server_st.pod \ | 25 | memcached_behavior_set.pop |
321 | 26 | memcached_servers.pod \ | 26 | BUILT_SOURCES += ${BEHAVIOR_PAGES} |
322 | 27 | memcached_set.pod \ | 27 | |
323 | 28 | memcached_stats.pod \ | 28 | CALLBACK_PAGES= \ |
324 | 29 | memcached_strerror.pod \ | 29 | memcached_callback_get.pop \ |
325 | 30 | memcached_user_data.pod \ | 30 | memcached_callback_set.pop |
326 | 31 | memcached_verbosity.pod \ | 31 | BUILT_SOURCES += ${CALLBACK_PAGES} |
327 | 32 | memcached_version.pod \ | 32 | |
328 | 33 | memcapable.pod \ | 33 | CREATE_PAGES= \ |
329 | 34 | memcat.pod \ | 34 | memcached_clone.pop \ |
330 | 35 | memcp.pod \ | 35 | memcached_create.pop \ |
331 | 36 | memdump.pod \ | 36 | memcached_free.pop \ |
332 | 37 | memerror.pod \ | 37 | memcached_servers_reset.pop |
333 | 38 | memflush.pod \ | 38 | BUILT_SOURCES += ${CREATE_PAGES} |
334 | 39 | memrm.pod \ | 39 | |
335 | 40 | memslap.pod \ | 40 | DELETE_PAGES= \ |
336 | 41 | memstat.pod | 41 | memcached_delete.pop \ |
337 | 42 | memcached_delete_by_key.pop | ||
338 | 43 | BUILT_SOURCES += ${DELETE_PAGES} | ||
339 | 44 | |||
340 | 45 | GENERIC_PAGES= \ | ||
341 | 46 | libmemcached.pop \ | ||
342 | 47 | libmemcached_examples.pop \ | ||
343 | 48 | libmemcachedutil.pop \ | ||
344 | 49 | memcached_analyze.pop \ | ||
345 | 50 | memcached_dump.pop \ | ||
346 | 51 | memcached_flush.pop \ | ||
347 | 52 | memcached_flush_buffers.pop \ | ||
348 | 53 | memcached_generate_hash_value.pop \ | ||
349 | 54 | memcached_quit.pop \ | ||
350 | 55 | memcached_strerror.pop \ | ||
351 | 56 | memcached_verbosity.pop \ | ||
352 | 57 | memcapable.pop \ | ||
353 | 58 | memcat.pop \ | ||
354 | 59 | memcp.pop \ | ||
355 | 60 | memdump.pop \ | ||
356 | 61 | memerror.pop \ | ||
357 | 62 | memflush.pop \ | ||
358 | 63 | memrm.pop \ | ||
359 | 64 | memslap.pop \ | ||
360 | 65 | memstat.pop | ||
361 | 66 | BUILT_SOURCES += ${GENERIC_PAGES} | ||
362 | 67 | |||
363 | 68 | GET_PAGES= \ | ||
364 | 69 | memcached_get.pop \ | ||
365 | 70 | memcached_get_by_key.pop \ | ||
366 | 71 | memcached_fetch_result.pop \ | ||
367 | 72 | memcached_fetch_execute.pop \ | ||
368 | 73 | memcached_mget.pop \ | ||
369 | 74 | memcached_mget_by_key.pop \ | ||
370 | 75 | memcached_mget_execute.pop \ | ||
371 | 76 | memcached_mget_execute_by_key.pop \ | ||
372 | 77 | memcached_fetch.pop | ||
373 | 78 | BUILT_SOURCES += ${GET_PAGES} | ||
374 | 79 | |||
375 | 80 | MEMORY_ALLOCATORS_PAGES= \ | ||
376 | 81 | memcached_get_memory_allocators.pop \ | ||
377 | 82 | memcached_set_memory_allocators.pop | ||
378 | 83 | BUILT_SOURCES += ${MEMORY_ALLOCATORS_PAGES} | ||
379 | 84 | |||
380 | 85 | POOL_PAGES= \ | ||
381 | 86 | memcached_pool_behavior_get.pop \ | ||
382 | 87 | memcached_pool_behavior_set.pop \ | ||
383 | 88 | memcached_pool_create.pop \ | ||
384 | 89 | memcached_pool_destroy.pop \ | ||
385 | 90 | memcached_pool_pop.pop \ | ||
386 | 91 | memcached_pool_push.pop | ||
387 | 92 | BUILT_SOURCES += ${POOL_PAGES} | ||
388 | 93 | |||
389 | 94 | RESULT_PAGES= \ | ||
390 | 95 | memcached_result_cas.pop \ | ||
391 | 96 | memcached_result_create.pop \ | ||
392 | 97 | memcached_result_flags.pop \ | ||
393 | 98 | memcached_result_free.pop \ | ||
394 | 99 | memcached_result_key_length.pop \ | ||
395 | 100 | memcached_result_key_value.pop \ | ||
396 | 101 | memcached_result_length.pop \ | ||
397 | 102 | memcached_result_st.pop \ | ||
398 | 103 | memcached_result_value.pop | ||
399 | 104 | BUILT_SOURCES += ${RESULT_PAGES} | ||
400 | 105 | |||
401 | 106 | |||
402 | 107 | SERVER_PAGES= \ | ||
403 | 108 | memcached_server_count.pop \ | ||
404 | 109 | memcached_server_cursor.pop \ | ||
405 | 110 | memcached_server_list.pop \ | ||
406 | 111 | memcached_server_add.pop \ | ||
407 | 112 | memcached_server_add_unix_socket.pop \ | ||
408 | 113 | memcached_server_push.pop | ||
409 | 114 | BUILT_SOURCES += ${SERVER_PAGES} | ||
410 | 115 | |||
411 | 116 | SERVER_ST_PAGES= \ | ||
412 | 117 | memcached_server_list_free.pop \ | ||
413 | 118 | memcached_server_list_count.pop \ | ||
414 | 119 | memcached_server_list_append.pop \ | ||
415 | 120 | memcached_servers_parse.pop | ||
416 | 121 | BUILT_SOURCES += ${SERVER_ST_PAGES} | ||
417 | 122 | |||
418 | 123 | SET_PAGES= \ | ||
419 | 124 | memcached_set.pop \ | ||
420 | 125 | memcached_set_by_key.pop \ | ||
421 | 126 | memcached_cas.pop \ | ||
422 | 127 | memcached_cas_by_key.pop \ | ||
423 | 128 | memcached_replace.pop \ | ||
424 | 129 | memcached_replace_by_key.pop \ | ||
425 | 130 | memcached_add.pop \ | ||
426 | 131 | memcached_add_by_key.pop \ | ||
427 | 132 | memcached_prepend.pop \ | ||
428 | 133 | memcached_prepend_by_key.pop \ | ||
429 | 134 | memcached_append.pop \ | ||
430 | 135 | memcached_append_by_key.pop | ||
431 | 136 | BUILT_SOURCES += ${SET_PAGES} | ||
432 | 137 | |||
433 | 138 | STATS_PAGES= \ | ||
434 | 139 | memcached_stat.pop \ | ||
435 | 140 | memcached_stat_get_keys.pop .pop\ | ||
436 | 141 | memcached_stat_get_value.pop \ | ||
437 | 142 | memcached_stat_servername.pop | ||
438 | 143 | BUILT_SOURCES += ${STATS_PAGES} | ||
439 | 144 | |||
440 | 145 | USER_DATA_PAGES= \ | ||
441 | 146 | memcached_get_user_data.pop \ | ||
442 | 147 | memcached_set_user_data.pop | ||
443 | 148 | BUILT_SOURCES += ${USER_DATA_PAGES} | ||
444 | 149 | |||
445 | 150 | VERSION_PAGES= \ | ||
446 | 151 | memcached_version.pop \ | ||
447 | 152 | memcached_lib_version.pop | ||
448 | 153 | BUILT_SOURCES += ${VERSION_PAGES} | ||
449 | 154 | |||
450 | 155 | |||
451 | 156 | # | ||
452 | 157 | # These are for libhashkit | ||
453 | 158 | # | ||
454 | 159 | HASHKIT_CREATE_PAGES= \ | ||
455 | 160 | hashkit_is_allocated.pop \ | ||
456 | 161 | hashkit_create.pop \ | ||
457 | 162 | hashkit_clone.pop \ | ||
458 | 163 | hashkit_free.pop | ||
459 | 164 | BUILT_SOURCES += ${HASHKIT_CREATE_PAGES} | ||
460 | 165 | |||
461 | 166 | HASHKIT_FUNCTIONS_PAGES= \ | ||
462 | 167 | hashkit_crc32.pop \ | ||
463 | 168 | hashkit_fnv1_32.pop \ | ||
464 | 169 | hashkit_fnv1_64.pop \ | ||
465 | 170 | hashkit_fnv1a_32.pop \ | ||
466 | 171 | hashkit_fnv1a_64.pop \ | ||
467 | 172 | hashkit_functions.pop \ | ||
468 | 173 | hashkit_hsieh.pop \ | ||
469 | 174 | hashkit_jenkins.pop \ | ||
470 | 175 | hashkit_md5.pop \ | ||
471 | 176 | hashkit_murmur.pop | ||
472 | 177 | BUILT_SOURCES += ${HASHKIT_FUNCTIONS_PAGES} | ||
473 | 178 | |||
474 | 179 | HASHKIT_ST_PAGES= \ | ||
475 | 180 | hashkit_value.pop | ||
476 | 181 | BUILT_SOURCES += ${HASHKIT_ST_PAGES} | ||
477 | 182 | |||
478 | 183 | |||
479 | 184 | HTML_FILES= \ | ||
480 | 185 | hashkit_clone.html \ | ||
481 | 186 | hashkit_crc32.html \ | ||
482 | 187 | hashkit_create.html \ | ||
483 | 188 | hashkit_fnv1_32.html \ | ||
484 | 189 | hashkit_fnv1_64.html \ | ||
485 | 190 | hashkit_fnv1a_32.html \ | ||
486 | 191 | hashkit_fnv1a_64.html \ | ||
487 | 192 | hashkit_free.html \ | ||
488 | 193 | hashkit_functions.html \ | ||
489 | 194 | hashkit_hsieh.html \ | ||
490 | 195 | hashkit_is_allocated.html \ | ||
491 | 196 | hashkit_jenkins.html \ | ||
492 | 197 | hashkit_md5.html \ | ||
493 | 198 | hashkit_murmur.html \ | ||
494 | 199 | hashkit_value.html \ | ||
495 | 200 | libmemcached_examples.html \ | ||
496 | 201 | libmemcached.html \ | ||
497 | 202 | libmemcachedutil.html \ | ||
498 | 203 | memcached_add_by_key.html \ | ||
499 | 204 | memcached_add.html \ | ||
500 | 205 | memcached_analyze.html \ | ||
501 | 206 | memcached_append_by_key.html \ | ||
502 | 207 | memcached_append.html \ | ||
503 | 208 | memcached_behavior_get.html \ | ||
504 | 209 | memcached_behavior_set.html \ | ||
505 | 210 | memcached_callback_get.html \ | ||
506 | 211 | memcached_callback_set.html \ | ||
507 | 212 | memcached_cas_by_key.html \ | ||
508 | 213 | memcached_cas.html \ | ||
509 | 214 | memcached_clone.html \ | ||
510 | 215 | memcached_create.html \ | ||
511 | 216 | memcached_decrement.html \ | ||
512 | 217 | memcached_decrement_with_initial.html \ | ||
513 | 218 | memcached_delete_by_key.html \ | ||
514 | 219 | memcached_delete.html \ | ||
515 | 220 | memcached_dump.html \ | ||
516 | 221 | memcached_fetch_execute.html \ | ||
517 | 222 | memcached_fetch.html \ | ||
518 | 223 | memcached_fetch_result.html \ | ||
519 | 224 | memcached_flush_buffers.html \ | ||
520 | 225 | memcached_flush.html \ | ||
521 | 226 | memcached_free.html \ | ||
522 | 227 | memcached_generate_hash_value.html \ | ||
523 | 228 | memcached_get_by_key.html \ | ||
524 | 229 | memcached_get_memory_allocators.html \ | ||
525 | 230 | memcached_get.html \ | ||
526 | 231 | memcached_get_user_data.html \ | ||
527 | 232 | memcached_increment.html \ | ||
528 | 233 | memcached_increment_with_initial.html \ | ||
529 | 234 | memcached_lib_version.html \ | ||
530 | 235 | memcached_mget_by_key.html \ | ||
531 | 236 | memcached_mget_execute_by_key.html \ | ||
532 | 237 | memcached_mget_execute.html \ | ||
533 | 238 | memcached_mget.html \ | ||
534 | 239 | memcached_pool_behavior_get.html \ | ||
535 | 240 | memcached_pool_behavior_set.html \ | ||
536 | 241 | memcached_pool_create.html \ | ||
537 | 242 | memcached_pool_destroy.html \ | ||
538 | 243 | memcached_pool_pop.html \ | ||
539 | 244 | memcached_pool_push.html \ | ||
540 | 245 | memcached_prepend_by_key.html \ | ||
541 | 246 | memcached_prepend.html \ | ||
542 | 247 | memcached_quit.html \ | ||
543 | 248 | memcached_replace_by_key.html \ | ||
544 | 249 | memcached_replace.html \ | ||
545 | 250 | memcached_result_cas.html \ | ||
546 | 251 | memcached_result_create.html \ | ||
547 | 252 | memcached_result_flags.html \ | ||
548 | 253 | memcached_result_free.html \ | ||
549 | 254 | memcached_result_key_length.html \ | ||
550 | 255 | memcached_result_key_value.html \ | ||
551 | 256 | memcached_result_length.html \ | ||
552 | 257 | memcached_result_st.html \ | ||
553 | 258 | memcached_result_value.html \ | ||
554 | 259 | memcached_server_add.html \ | ||
555 | 260 | memcached_server_add_unix_socket.html \ | ||
556 | 261 | memcached_server_count.html \ | ||
557 | 262 | memcached_server_cursor.html \ | ||
558 | 263 | memcached_server_list_append.html \ | ||
559 | 264 | memcached_server_list_count.html \ | ||
560 | 265 | memcached_server_list_free.html \ | ||
561 | 266 | memcached_server_list.html \ | ||
562 | 267 | memcached_server_push.html \ | ||
563 | 268 | memcached_servers_parse.html \ | ||
564 | 269 | memcached_set_by_key.html \ | ||
565 | 270 | memcached_set_memory_allocators.html \ | ||
566 | 271 | memcached_set.html \ | ||
567 | 272 | memcached_set_user_data.html \ | ||
568 | 273 | memcached_stat_get_keys.html \ | ||
569 | 274 | memcached_stat_get_value.html \ | ||
570 | 275 | memcached_stat.html \ | ||
571 | 276 | memcached_stat_servername.html \ | ||
572 | 277 | memcached_strerror.html \ | ||
573 | 278 | memcached_verbosity.html \ | ||
574 | 279 | memcached_version.html \ | ||
575 | 280 | memcapable.html \ | ||
576 | 281 | memcat.html \ | ||
577 | 282 | memcp.html \ | ||
578 | 283 | memdump.html \ | ||
579 | 284 | memerror.html \ | ||
580 | 285 | memflush.html \ | ||
581 | 286 | memrm.html \ | ||
582 | 287 | memslap.html \ | ||
583 | 288 | memstat.html | ||
584 | 289 | |||
585 | 290 | POD_FILES= \ | ||
586 | 291 | hashkit_create.pod \ | ||
587 | 292 | hashkit_functions.pod \ | ||
588 | 293 | hashkit_value.pod \ | ||
589 | 294 | libmemcached.pod \ | ||
590 | 295 | libmemcached_examples.pod \ | ||
591 | 296 | libmemcachedutil.pod \ | ||
592 | 297 | memcached_analyze.pod \ | ||
593 | 298 | memcached_auto.pod \ | ||
594 | 299 | memcached_behavior.pod \ | ||
595 | 300 | memcached_callback.pod \ | ||
596 | 301 | memcached_create.pod \ | ||
597 | 302 | memcached_delete.pod \ | ||
598 | 303 | memcached_dump.pod \ | ||
599 | 304 | memcached_flush.pod \ | ||
600 | 305 | memcached_flush_buffers.pod \ | ||
601 | 306 | memcached_generate_hash_value.pod \ | ||
602 | 307 | memcached_get.pod \ | ||
603 | 308 | memcached_memory_allocators.pod \ | ||
604 | 309 | memcached_pool.pod \ | ||
605 | 310 | memcached_quit.pod \ | ||
606 | 311 | memcached_server_st.pod \ | ||
607 | 312 | memcached_servers.pod \ | ||
608 | 313 | memcached_set.pod \ | ||
609 | 314 | memcached_stats.pod \ | ||
610 | 315 | memcached_strerror.pod \ | ||
611 | 316 | memcached_user_data.pod \ | ||
612 | 317 | memcached_verbosity.pod \ | ||
613 | 318 | memcached_version.pod \ | ||
614 | 319 | memcapable.pod \ | ||
615 | 320 | memcat.pod \ | ||
616 | 321 | memcp.pod \ | ||
617 | 322 | memdump.pod \ | ||
618 | 323 | memerror.pod \ | ||
619 | 324 | memflush.pod \ | ||
620 | 325 | memrm.pod \ | ||
621 | 326 | memslap.pod \ | ||
622 | 327 | memstat.pod | ||
623 | 328 | EXTRA_DIST+= $(POD_FILES) | ||
624 | 42 | 329 | ||
625 | 43 | man_MANS = \ | 330 | man_MANS = \ |
696 | 44 | libmemcached.3 \ | 331 | hashkit_clone.3 \ |
697 | 45 | libmemcached_examples.3 \ | 332 | hashkit_crc32.3 \ |
698 | 46 | memcached_add.3 \ | 333 | hashkit_create.3 \ |
699 | 47 | memcached_add_by_key.3 \ | 334 | hashkit_fnv1_32.3 \ |
700 | 48 | memcached_analyze.3 \ | 335 | hashkit_fnv1_64.3 \ |
701 | 49 | memcached_append.3 \ | 336 | hashkit_fnv1a_32.3 \ |
702 | 50 | memcached_append_by_key.3 \ | 337 | hashkit_fnv1a_64.3 \ |
703 | 51 | memcached_behavior_get.3 \ | 338 | hashkit_free.3 \ |
704 | 52 | memcached_behavior_set.3 \ | 339 | hashkit_functions.3 \ |
705 | 53 | memcached_callback_get.3 \ | 340 | hashkit_hsieh.3 \ |
706 | 54 | memcached_callback_set.3 \ | 341 | hashkit_is_allocated.3 \ |
707 | 55 | memcached_cas.3 \ | 342 | hashkit_jenkins.3 \ |
708 | 56 | memcached_cas_by_key.3 \ | 343 | hashkit_md5.3 \ |
709 | 57 | memcached_clone.3 \ | 344 | hashkit_murmur.3 \ |
710 | 58 | memcached_create.3 \ | 345 | hashkit_value.3 \ |
711 | 59 | memcached_decrement.3 \ | 346 | libmemcached.3 \ |
712 | 60 | memcached_decrement_with_initial.3 \ | 347 | libmemcached_examples.3 \ |
713 | 61 | memcached_delete.3 \ | 348 | memcached_add.3 \ |
714 | 62 | memcached_delete_by_key.3 \ | 349 | memcached_add_by_key.3 \ |
715 | 63 | memcached_dump.3 \ | 350 | memcached_analyze.3 \ |
716 | 64 | memcached_fetch.3 \ | 351 | memcached_append.3 \ |
717 | 65 | memcached_fetch_execute.3 \ | 352 | memcached_append_by_key.3 \ |
718 | 66 | memcached_fetch_result.3 \ | 353 | memcached_behavior_get.3 \ |
719 | 67 | memcached_flush_buffers.3 \ | 354 | memcached_behavior_set.3 \ |
720 | 68 | memcached_free.3 \ | 355 | memcached_callback_get.3 \ |
721 | 69 | memcached_generate_hash_value.3 \ | 356 | memcached_callback_set.3 \ |
722 | 70 | memcached_get.3 \ | 357 | memcached_cas.3 \ |
723 | 71 | memcached_get_by_key.3 \ | 358 | memcached_cas_by_key.3 \ |
724 | 72 | memcached_get_memory_allocators.3 \ | 359 | memcached_clone.3 \ |
725 | 73 | memcached_get_user_data.3 \ | 360 | memcached_create.3 \ |
726 | 74 | memcached_increment.3 \ | 361 | memcached_decrement.3 \ |
727 | 75 | memcached_increment_with_initial.3 \ | 362 | memcached_decrement_with_initial.3 \ |
728 | 76 | memcached_lib_version.3 \ | 363 | memcached_delete.3 \ |
729 | 77 | memcached_mget.3 \ | 364 | memcached_delete_by_key.3 \ |
730 | 78 | memcached_mget_by_key.3 \ | 365 | memcached_dump.3 \ |
731 | 79 | memcached_mget_execute.3 \ | 366 | memcached_fetch.3 \ |
732 | 80 | memcached_mget_execute_by_key.3 \ | 367 | memcached_fetch_execute.3 \ |
733 | 81 | memcached_prepend.3 \ | 368 | memcached_fetch_result.3 \ |
734 | 82 | memcached_prepend_by_key.3 \ | 369 | memcached_flush_buffers.3 \ |
735 | 83 | memcached_quit.3 \ | 370 | memcached_free.3 \ |
736 | 84 | memcached_replace.3 \ | 371 | memcached_generate_hash_value.3 \ |
737 | 85 | memcached_replace_by_key.3 \ | 372 | memcached_get.3 \ |
738 | 86 | memcached_server_add.3 \ | 373 | memcached_get_by_key.3 \ |
739 | 87 | memcached_server_count.3 \ | 374 | memcached_get_memory_allocators.3 \ |
740 | 88 | memcached_server_list.3 \ | 375 | memcached_get_user_data.3 \ |
741 | 89 | memcached_server_list_append.3 \ | 376 | memcached_increment.3 \ |
742 | 90 | memcached_server_list_count.3 \ | 377 | memcached_increment_with_initial.3 \ |
743 | 91 | memcached_server_list_free.3 \ | 378 | memcached_lib_version.3 \ |
744 | 92 | memcached_server_push.3 \ | 379 | memcached_mget.3 \ |
745 | 93 | memcached_servers_parse.3 \ | 380 | memcached_mget_by_key.3 \ |
746 | 94 | memcached_set.3 \ | 381 | memcached_mget_execute.3 \ |
747 | 95 | memcached_set_by_key.3 \ | 382 | memcached_mget_execute_by_key.3 \ |
748 | 96 | memcached_set_memory_allocators.3 \ | 383 | memcached_prepend.3 \ |
749 | 97 | memcached_set_user_data.3 \ | 384 | memcached_prepend_by_key.3 \ |
750 | 98 | memcached_stat.3 \ | 385 | memcached_quit.3 \ |
751 | 99 | memcached_stat_get_keys.3 \ | 386 | memcached_replace.3 \ |
752 | 100 | memcached_stat_get_value.3 \ | 387 | memcached_replace_by_key.3 \ |
753 | 101 | memcached_stat_servername.3 \ | 388 | memcached_server_add.3 \ |
754 | 102 | memcached_strerror.3 \ | 389 | memcached_server_count.3 \ |
755 | 103 | memcached_verbosity.3 \ | 390 | memcached_server_cursor.3 \ |
756 | 104 | memcached_version.3 \ | 391 | memcached_server_list.3 \ |
757 | 105 | memcapable.1 \ | 392 | memcached_server_list_append.3 \ |
758 | 106 | memcat.1 \ | 393 | memcached_server_list_count.3 \ |
759 | 107 | memcp.1 \ | 394 | memcached_server_list_free.3 \ |
760 | 108 | memdump.1 \ | 395 | memcached_server_push.3 \ |
761 | 109 | memerror.1 \ | 396 | memcached_servers_parse.3 \ |
762 | 110 | memflush.1 \ | 397 | memcached_set.3 \ |
763 | 111 | memrm.1 \ | 398 | memcached_set_by_key.3 \ |
764 | 112 | memslap.1 \ | 399 | memcached_set_memory_allocators.3 \ |
765 | 113 | memstat.1 | 400 | memcached_set_user_data.3 \ |
766 | 401 | memcached_stat.3 \ | ||
767 | 402 | memcached_stat_get_keys.3 \ | ||
768 | 403 | memcached_stat_get_value.3 \ | ||
769 | 404 | memcached_stat_servername.3 \ | ||
770 | 405 | memcached_strerror.3 \ | ||
771 | 406 | memcached_verbosity.3 \ | ||
772 | 407 | memcached_version.3 \ | ||
773 | 408 | memcapable.1 \ | ||
774 | 409 | memcat.1 \ | ||
775 | 410 | memcp.1 \ | ||
776 | 411 | memdump.1 \ | ||
777 | 412 | memerror.1 \ | ||
778 | 413 | memflush.1 \ | ||
779 | 414 | memrm.1 \ | ||
780 | 415 | memslap.1 \ | ||
781 | 416 | memstat.1 | ||
782 | 114 | 417 | ||
783 | 115 | if BUILD_LIBMEMCACHEDUTIL | 418 | if BUILD_LIBMEMCACHEDUTIL |
784 | 116 | man_MANS+= \ | 419 | man_MANS+= \ |
785 | @@ -124,349 +427,103 @@ | |||
786 | 124 | endif | 427 | endif |
787 | 125 | 428 | ||
788 | 126 | 429 | ||
1135 | 127 | libmemcached.3: libmemcached.pod | 430 | ${CREATE_PAGES}: |
1136 | 128 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/libmemcached.pod > libmemcached.3 | 431 | @rm -f $@ |
1137 | 129 | 432 | ln -s ${top_srcdir}/docs/memcached_create.pod ${top_builddir}/docs/$@ | |
1138 | 130 | libmemcachedutil.3: libmemcachedutil.pod | 433 | |
1139 | 131 | ${POD2MAN} -c "libmemcachedutil" -r "" -s 3 ${top_srcdir}/docs/libmemcachedutil.pod > libmemcachedutil.3 | 434 | ${SET_PAGES}: |
1140 | 132 | 435 | @rm -f $@ | |
1141 | 133 | libmemcached_examples.3: libmemcached_examples.pod | 436 | ln -s ${top_srcdir}/docs/memcached_set.pod ${top_builddir}/docs/$@ |
1142 | 134 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/libmemcached_examples.pod > libmemcached_examples.3 | 437 | |
1143 | 135 | 438 | ${DELETE_PAGES}: | |
1144 | 136 | memcached_create.3: memcached_create.pod | 439 | @rm -f $@ |
1145 | 137 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_create.pod > memcached_create.3 | 440 | ln -s ${top_srcdir}/docs/memcached_delete.pod ${top_builddir}/docs/$@ |
1146 | 138 | 441 | ||
1147 | 139 | memcached_free.3: memcached_create.pod | 442 | ${AUTO_PAGES}: |
1148 | 140 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_create.pod > memcached_free.3 | 443 | @rm -f $@ |
1149 | 141 | 444 | ln -s ${top_srcdir}/docs/memcached_auto.pod ${top_builddir}/docs/$@ | |
1150 | 142 | memcached_clone.3: memcached_create.pod | 445 | |
1151 | 143 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_create.pod > memcached_clone.3 | 446 | ${GET_PAGES}: |
1152 | 144 | 447 | @rm -f $@ | |
1153 | 145 | memcached_set.3: memcached_set.pod | 448 | ln -s ${top_srcdir}/docs/memcached_get.pod ${top_builddir}/docs/$@ |
1154 | 146 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_set.3 | 449 | |
1155 | 147 | 450 | ${SERVER_PAGES}: | |
1156 | 148 | memcached_set_by_key.3: memcached_set.pod | 451 | @rm -f $@ |
1157 | 149 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_set_by_key.3 | 452 | ln -s ${top_srcdir}/docs/memcached_servers.pod ${top_builddir}/docs/$@ |
1158 | 150 | 453 | ||
1159 | 151 | memcached_cas.3: memcached_set.pod | 454 | ${SERVER_ST_PAGES}: |
1160 | 152 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_cas.3 | 455 | @rm -f $@ |
1161 | 153 | 456 | ln -s ${top_srcdir}/docs/memcached_server_st.pod ${top_builddir}/docs/$@ | |
1162 | 154 | memcached_cas_by_key.3: memcached_set.pod | 457 | |
1163 | 155 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_cas_by_key.3 | 458 | ${GENERIC_PAGES}: |
1164 | 156 | 459 | @rm -f $@ | |
1165 | 157 | memcached_replace.3: memcached_set.pod | 460 | ln -s ${top_srcdir}/docs/$*.pod ${top_builddir}/docs/$@ |
1166 | 158 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_replace.3 | 461 | |
1167 | 159 | 462 | ${BEHAVIOR_PAGES}: | |
1168 | 160 | memcached_replace_by_key.3: memcached_set.pod | 463 | @rm -f $@ |
1169 | 161 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_replace_by_key.3 | 464 | ln -s ${top_srcdir}/docs/memcached_behavior.pod ${top_builddir}/docs/$@ |
1170 | 162 | 465 | ||
1171 | 163 | memcached_add.3: memcached_set.pod | 466 | ${CALLBACK_PAGES}: |
1172 | 164 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_add.3 | 467 | @rm -f $@ |
1173 | 165 | 468 | ln -s ${top_srcdir}/docs/memcached_callback.pod ${top_builddir}/docs/$@ | |
1174 | 166 | memcached_add_by_key.3: memcached_set.pod | 469 | |
1175 | 167 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_add_by_key.3 | 470 | ${STATS_PAGES}: |
1176 | 168 | 471 | @rm -f $@ | |
1177 | 169 | memcached_prepend.3: memcached_set.pod | 472 | ln -s ${top_srcdir}/docs/memcached_stats.pod ${top_builddir}/docs/$@ |
1178 | 170 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_prepend.3 | 473 | |
1179 | 171 | 474 | ${RESULT_PAGES}: | |
1180 | 172 | memcached_prepend_by_key.3: memcached_set.pod | 475 | @rm -f $@ |
1181 | 173 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_prepend_by_key.3 | 476 | ln -s ${top_srcdir}/docs/memcached_result_st.pod ${top_builddir}/docs/$@ |
1182 | 174 | 477 | ||
1183 | 175 | memcached_append.3: memcached_set.pod | 478 | ${VERSION_PAGES}: |
1184 | 176 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_append.3 | 479 | @rm -f $@ |
1185 | 177 | 480 | ln -s ${top_srcdir}/docs/memcached_version.pod ${top_builddir}/docs/$@ | |
1186 | 178 | memcached_append_by_key.3: memcached_set.pod | 481 | |
1187 | 179 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_append_by_key.3 | 482 | ${MEMORY_ALLOCATORS_PAGES}: |
1188 | 180 | 483 | @rm -f $@ | |
1189 | 181 | memcached_delete.3: memcached_delete.pod | 484 | ln -s ${top_srcdir}/docs/memcached_memory_allocators.pod ${top_builddir}/docs/$@ |
1190 | 182 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_delete.pod > memcached_delete.3 | 485 | |
1191 | 183 | 486 | ${USER_DATA_PAGES}: | |
1192 | 184 | memcached_delete_by_key.3: memcached_delete.pod | 487 | @rm -f $@ |
1193 | 185 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_delete.pod > memcached_delete_by_key.3 | 488 | ln -s ${top_srcdir}/docs/memcached_user_data.pod ${top_builddir}/docs/$@ |
1194 | 186 | 489 | ||
1195 | 187 | memcached_increment.3: | 490 | |
1196 | 188 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_auto.pod > memcached_increment.3 | 491 | ${POOL_PAGES}: |
1197 | 189 | 492 | @rm -f $@ | |
1198 | 190 | memcached_increment_with_initial.3: | 493 | ln -s ${top_srcdir}/docs/memcached_pool.pod ${top_builddir}/docs/$@ |
1199 | 191 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_auto.pod > memcached_increment_with_initial.3 | 494 | |
1200 | 192 | 495 | ${HASHKIT_CREATE_PAGES}: | |
1201 | 193 | memcached_decrement.3: | 496 | @rm -f $@ |
1202 | 194 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_auto.pod > memcached_decrement.3 | 497 | ln -s ${top_srcdir}/docs/hashkit_create.pod ${top_builddir}/docs/$@ |
1203 | 195 | 498 | ||
1204 | 196 | memcached_decrement_with_initial.3: | 499 | |
1205 | 197 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_auto.pod > memcached_decrement_with_initial.3 | 500 | ${HASHKIT_FUNCTIONS_PAGES}: |
1206 | 198 | 501 | @rm -f $@ | |
1207 | 199 | memcached_dump.3: memcached_dump.pod | 502 | ln -s ${top_srcdir}/docs/hashkit_functions.pod ${top_builddir}/docs/$@ |
1208 | 200 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_dump.pod > memcached_dump.3 | 503 | |
1209 | 201 | 504 | ${HASHKIT_ST_PAGES}: | |
1210 | 202 | memcached_flush.3: memcached_flush.pod | 505 | @rm -f $@ |
1211 | 203 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_flush.pod > memcached_flush.3 | 506 | ln -s ${top_srcdir}/docs/hashkit_value.pod ${top_builddir}/docs/$@ |
1212 | 204 | 507 | ||
1213 | 205 | memcached_get.3: memcached_get.pod | 508 | test-docs: $(POD_FILES) |
1214 | 206 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_get.3 | 509 | ${PODCHECKER} $(top_srcdir)/docs/$? |
1215 | 207 | 510 | ||
1216 | 208 | memcached_get_by_key.3: memcached_get.pod | 511 | html-local: html-pages html-index |
1217 | 209 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_get_by_key.3 | 512 | |
1218 | 210 | 513 | html-pages: $(HTML_FILES) | |
1219 | 211 | memcached_fetch_result.3: memcached_get.pod | 514 | |
1220 | 212 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_fetch_result.3 | 515 | html-index: html-pages |
1221 | 213 | 516 | perl make_index.pl *.html > index.html | |
1222 | 214 | memcached_fetch_execute.3: memcached_get.pod | 517 | |
1223 | 215 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_fetch_execute.3 | 518 | SUFFIXES= .pop .pod .html .1 .3 |
1224 | 216 | 519 | ||
1225 | 217 | memcached_mget.3: memcached_get.pod | 520 | .pop: ${_set} |
1226 | 218 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_mget.3 | 521 | |
1227 | 219 | 522 | .pop.html: | |
1228 | 220 | memcached_mget_by_key.3: memcached_get.pod | 523 | pod2html --infile=$< > $@ |
1229 | 221 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_mget_by_key.3 | 524 | |
1230 | 222 | 525 | .pop.1: | |
1231 | 223 | memcached_mget_execute.3: memcached_get.pod | 526 | ${POD2MAN} -c "$*" -r "" -s 1 $< > $@ |
1232 | 224 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_mget_execute.3 | 527 | |
1233 | 225 | 528 | .pop.3: | |
1234 | 226 | memcached_mget_execute_by_key.3: memcached_get.pod | 529 | ${POD2MAN} -c "$*" -r "" -s 3 $< > $@ |
889 | 227 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_mget_execute_by_key.3 | ||
890 | 228 | |||
891 | 229 | memcached_fetch.3: memcached_get.pod | ||
892 | 230 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_fetch.3 | ||
893 | 231 | |||
894 | 232 | memcached_quit.3: memcached_quit.pod | ||
895 | 233 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_quit.pod > memcached_quit.3 | ||
896 | 234 | |||
897 | 235 | memcached_strerror.3: memcached_strerror.pod | ||
898 | 236 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_strerror.pod > memcached_strerror.3 | ||
899 | 237 | |||
900 | 238 | memcached_server_count.3: memcached_servers.pod | ||
901 | 239 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_servers.pod > memcached_server_count.3 | ||
902 | 240 | |||
903 | 241 | memcached_server_list.3: memcached_servers.pod | ||
904 | 242 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_servers.pod > memcached_server_list.3 | ||
905 | 243 | |||
906 | 244 | memcached_server_add.3: memcached_servers.pod | ||
907 | 245 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_servers.pod > memcached_server_add.3 | ||
908 | 246 | |||
909 | 247 | memcached_server_add_unix_socket.3: memcached_servers.pod | ||
910 | 248 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_servers.pod > memcached_server_add_unix_socket.3 | ||
911 | 249 | |||
912 | 250 | memcached_server_push.3: memcached_servers.pod | ||
913 | 251 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_servers.pod > memcached_server_push.3 | ||
914 | 252 | |||
915 | 253 | memcached_server_list_free.3: memcached_server_st.pod | ||
916 | 254 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_server_st.pod > memcached_server_list_free.3 | ||
917 | 255 | |||
918 | 256 | memcached_server_list_count.3: memcached_server_st.pod | ||
919 | 257 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_server_st.pod > memcached_server_list_count.3 | ||
920 | 258 | |||
921 | 259 | memcached_server_list_append.3: memcached_server_st.pod | ||
922 | 260 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_server_st.pod > memcached_server_list_append.3 | ||
923 | 261 | |||
924 | 262 | memcached_servers_parse.3: memcached_server_st.pod | ||
925 | 263 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_server_st.pod > memcached_servers_parse.3 | ||
926 | 264 | |||
927 | 265 | memcached_verbosity.3: memcached_verbosity.pod | ||
928 | 266 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_verbosity.pod > memcached_verbosity.3 | ||
929 | 267 | |||
930 | 268 | memcached_behavior_get.3: memcached_behavior.pod | ||
931 | 269 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_behavior.pod > memcached_behavior_get.3 | ||
932 | 270 | |||
933 | 271 | memcached_behavior_set.3: memcached_behavior.pod | ||
934 | 272 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_behavior.pod > memcached_behavior_set.3 | ||
935 | 273 | |||
936 | 274 | memcached_callback_get.3: memcached_callback.pod | ||
937 | 275 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_callback.pod > memcached_callback_get.3 | ||
938 | 276 | |||
939 | 277 | memcached_callback_set.3: memcached_callback.pod | ||
940 | 278 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_callback.pod > memcached_callback_set.3 | ||
941 | 279 | |||
942 | 280 | memcached_stat.3: memcached_stats.pod | ||
943 | 281 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_stats.pod > memcached_stat.3 | ||
944 | 282 | |||
945 | 283 | memcached_stat_servername.3: memcached_stats.pod | ||
946 | 284 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_stats.pod > memcached_stat_servername.3 | ||
947 | 285 | |||
948 | 286 | memcached_stat_get_value.3: memcached_stats.pod | ||
949 | 287 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_stats.pod > memcached_stat_get_value.3 | ||
950 | 288 | |||
951 | 289 | memcached_stat_get_keys.3: memcached_stats.pod | ||
952 | 290 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_stats.pod > memcached_stat_get_keys.3 | ||
953 | 291 | |||
954 | 292 | memcached_result_st.3: memcached_result_st.pod | ||
955 | 293 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_st.3 | ||
956 | 294 | |||
957 | 295 | memcached_result_create.3: memcached_result_st.pod | ||
958 | 296 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_create.3 | ||
959 | 297 | |||
960 | 298 | memcached_result_free.3: memcached_result_st.pod | ||
961 | 299 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_free.3 | ||
962 | 300 | |||
963 | 301 | memcached_result_key_value.3: memcached_result_st.pod | ||
964 | 302 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_key_value.3 | ||
965 | 303 | |||
966 | 304 | memcached_result_key_length.3: memcached_result_st.pod | ||
967 | 305 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_key_length.3 | ||
968 | 306 | |||
969 | 307 | memcached_result_value.3: memcached_result_st.pod | ||
970 | 308 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_value.3 | ||
971 | 309 | |||
972 | 310 | memcached_result_length.3: memcached_result_st.pod | ||
973 | 311 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_length.3 | ||
974 | 312 | |||
975 | 313 | memcached_result_flags.3: memcached_result_st.pod | ||
976 | 314 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_flags.3 | ||
977 | 315 | |||
978 | 316 | memcached_result_cas.3: memcached_result_st.pod | ||
979 | 317 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_cas.3 | ||
980 | 318 | |||
981 | 319 | memcached_version.3: memcached_version.pod | ||
982 | 320 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_version.pod > memcached_version.3 | ||
983 | 321 | |||
984 | 322 | memcached_lib_version.3: memcached_version.pod | ||
985 | 323 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_version.pod > memcached_lib_version.3 | ||
986 | 324 | |||
987 | 325 | memcached_flush_buffers.3: memcached_flush_buffers.pod | ||
988 | 326 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_flush_buffers.pod > memcached_flush_buffers.3 | ||
989 | 327 | |||
990 | 328 | memcached_analyze.3: memcached_analyze.pod | ||
991 | 329 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_analyze.pod > memcached_analyze.3 | ||
992 | 330 | |||
993 | 331 | memcached_generate_hash_value.3: memcached_generate_hash_value.pod | ||
994 | 332 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_generate_hash_value.pod > memcached_generate_hash_value.3 | ||
995 | 333 | |||
996 | 334 | memcached_get_memory_allocators.3: memcached_memory_allocators.pod | ||
997 | 335 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_memory_allocators.pod > memcached_get_memory_allocators.3 | ||
998 | 336 | |||
999 | 337 | memcached_set_memory_allocators.3: memcached_memory_allocators.pod | ||
1000 | 338 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_memory_allocators.pod > memcached_set_memory_allocators.3 | ||
1001 | 339 | |||
1002 | 340 | memcached_get_user_data.3: memcached_user_data.pod | ||
1003 | 341 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_user_data.pod > memcached_get_user_data.3 | ||
1004 | 342 | |||
1005 | 343 | memcached_set_user_data.3: memcached_user_data.pod | ||
1006 | 344 | ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_user_data.pod > memcached_set_user_data.3 | ||
1007 | 345 | |||
1008 | 346 | memcached_pool_behavior_get.3: memcached_pool.pod | ||
1009 | 347 | ${POD2MAN} -c "libmemcachedutil" -r "" -s 3 ${top_srcdir}/docs/memcached_pool.pod > memcached_pool_behavior_get.3 | ||
1010 | 348 | |||
1011 | 349 | memcached_pool_behavior_set.3: memcached_pool.pod | ||
1012 | 350 | ${POD2MAN} -c "libmemcachedutil" -r "" -s 3 ${top_srcdir}/docs/memcached_pool.pod > memcached_pool_behavior_set.3 | ||
1013 | 351 | |||
1014 | 352 | memcached_pool_create.3: memcached_pool.pod | ||
1015 | 353 | ${POD2MAN} -c "libmemcachedutil" -r "" -s 3 ${top_srcdir}/docs/memcached_pool.pod > memcached_pool_create.3 | ||
1016 | 354 | |||
1017 | 355 | memcached_pool_destroy.3: memcached_pool.pod | ||
1018 | 356 | ${POD2MAN} -c "libmemcachedutil" -r "" -s 3 ${top_srcdir}/docs/memcached_pool.pod > memcached_pool_destroy.3 | ||
1019 | 357 | |||
1020 | 358 | memcached_pool_pop.3: memcached_pool.pod | ||
1021 | 359 | ${POD2MAN} -c "libmemcachedutil" -r "" -s 3 ${top_srcdir}/docs/memcached_pool.pod > memcached_pool_pop.3 | ||
1022 | 360 | |||
1023 | 361 | memcached_pool_push.3: memcached_pool.pod | ||
1024 | 362 | ${POD2MAN} -c "libmemcachedutil" -r "" -s 3 ${top_srcdir}/docs/memcached_pool.pod > memcached_pool_push.3 | ||
1025 | 363 | |||
1026 | 364 | memcp.1: memcp.pod | ||
1027 | 365 | ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memcp.pod > memcp.1 | ||
1028 | 366 | |||
1029 | 367 | memslap.1: memslap.pod | ||
1030 | 368 | ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memslap.pod > memslap.1 | ||
1031 | 369 | |||
1032 | 370 | memcapable.1: memcapable.pod | ||
1033 | 371 | ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memcapable.pod > memcapable.1 | ||
1034 | 372 | |||
1035 | 373 | memcat.1: memcat.pod | ||
1036 | 374 | ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memcat.pod > memcat.1 | ||
1037 | 375 | |||
1038 | 376 | memstat.1: memstat.pod | ||
1039 | 377 | ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memstat.pod > memstat.1 | ||
1040 | 378 | |||
1041 | 379 | memrm.1: memrm.pod | ||
1042 | 380 | ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memrm.pod > memrm.1 | ||
1043 | 381 | |||
1044 | 382 | memerror.1: memerror.pod | ||
1045 | 383 | ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memerror.pod > memerror.1 | ||
1046 | 384 | |||
1047 | 385 | memdump.1: memdump.pod | ||
1048 | 386 | ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memdump.pod > memdump.1 | ||
1049 | 387 | |||
1050 | 388 | memflush.1: memflush.pod | ||
1051 | 389 | ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memflush.pod > memflush.1 | ||
1052 | 390 | |||
1053 | 391 | hashkit_create.3: hashkit_create.pod | ||
1054 | 392 | ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_create.pod > hashkit_create.3 | ||
1055 | 393 | |||
1056 | 394 | hashkit_clone.3: hashkit_create.pod | ||
1057 | 395 | ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_create.pod > hashkit_clone.3 | ||
1058 | 396 | |||
1059 | 397 | hashkit_free.3: hashkit_create.pod | ||
1060 | 398 | ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_create.pod > hashkit_free.3 | ||
1061 | 399 | |||
1062 | 400 | hashkit_is_allocated.3: hashkit_create.pod | ||
1063 | 401 | ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_create.pod > hashkit_is_allocated.3 | ||
1064 | 402 | |||
1065 | 403 | hashkit_functions.3: hashkit_functions.pod | ||
1066 | 404 | ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_functions.3 | ||
1067 | 405 | |||
1068 | 406 | hashkit_fnv1_64.3: hashkit_functions.pod | ||
1069 | 407 | ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_fnv1_64.3 | ||
1070 | 408 | |||
1071 | 409 | hashkit_fnv1a_64.3: hashkit_functions.pod | ||
1072 | 410 | ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_fnv1a_64.3 | ||
1073 | 411 | |||
1074 | 412 | hashkit_fnv1_32.3: hashkit_functions.pod | ||
1075 | 413 | ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_fnv1_32.3 | ||
1076 | 414 | |||
1077 | 415 | hashkit_fnv1a_32.3: hashkit_functions.pod | ||
1078 | 416 | ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_fnv1a_32.3 | ||
1079 | 417 | |||
1080 | 418 | hashkit_crc32.3: hashkit_functions.pod | ||
1081 | 419 | ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_crc32.3 | ||
1082 | 420 | |||
1083 | 421 | hashkit_hsieh.3: hashkit_functions.pod | ||
1084 | 422 | ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_hsieh.3 | ||
1085 | 423 | |||
1086 | 424 | hashkit_murmur.3: hashkit_functions.pod | ||
1087 | 425 | ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_murmur.3 | ||
1088 | 426 | |||
1089 | 427 | hashkit_jenkins.3: hashkit_functions.pod | ||
1090 | 428 | ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_jenkins.3 | ||
1091 | 429 | |||
1092 | 430 | hashkit_md5.3: hashkit_functions.pod | ||
1093 | 431 | ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_md5.3 | ||
1094 | 432 | |||
1095 | 433 | hashkit_value.3: hashkit_value.pod | ||
1096 | 434 | ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_value.pod > hashkit_value.3 | ||
1097 | 435 | |||
1098 | 436 | test-docs: | ||
1099 | 437 | ${PODCHECKER} $(top_srcdir)/docs/hashkit_create.pod | ||
1100 | 438 | ${PODCHECKER} $(top_srcdir)/docs/hashkit_functions.pod | ||
1101 | 439 | ${PODCHECKER} $(top_srcdir)/docs/hashkit_value.pod | ||
1102 | 440 | ${PODCHECKER} $(top_srcdir)/docs/libmemcached.pod | ||
1103 | 441 | ${PODCHECKER} $(top_srcdir)/docs/libmemcached_examples.pod | ||
1104 | 442 | ${PODCHECKER} $(top_srcdir)/docs/memcached_auto.pod | ||
1105 | 443 | ${PODCHECKER} $(top_srcdir)/docs/memcached_behavior.pod | ||
1106 | 444 | ${PODCHECKER} $(top_srcdir)/docs/memcached_callback.pod | ||
1107 | 445 | ${PODCHECKER} $(top_srcdir)/docs/memcached_create.pod | ||
1108 | 446 | ${PODCHECKER} $(top_srcdir)/docs/memcached_delete.pod | ||
1109 | 447 | ${PODCHECKER} $(top_srcdir)/docs/memcached_flush.pod | ||
1110 | 448 | ${PODCHECKER} $(top_srcdir)/docs/memcached_flush_buffers.pod | ||
1111 | 449 | ${PODCHECKER} $(top_srcdir)/docs/memcached_get.pod | ||
1112 | 450 | ${PODCHECKER} $(top_srcdir)/docs/memcached_memory_allocators.pod | ||
1113 | 451 | ${PODCHECKER} $(top_srcdir)/docs/memcached_pool.pod | ||
1114 | 452 | ${PODCHECKER} $(top_srcdir)/docs/memcached_quit.pod | ||
1115 | 453 | ${PODCHECKER} $(top_srcdir)/docs/memcached_server_st.pod | ||
1116 | 454 | ${PODCHECKER} $(top_srcdir)/docs/memcached_servers.pod | ||
1117 | 455 | ${PODCHECKER} $(top_srcdir)/docs/memcached_set.pod | ||
1118 | 456 | ${PODCHECKER} $(top_srcdir)/docs/memcached_stats.pod | ||
1119 | 457 | ${PODCHECKER} $(top_srcdir)/docs/memcached_strerror.pod | ||
1120 | 458 | ${PODCHECKER} $(top_srcdir)/docs/memcached_user_data.pod | ||
1121 | 459 | ${PODCHECKER} $(top_srcdir)/docs/memcached_verbosity.pod | ||
1122 | 460 | ${PODCHECKER} $(top_srcdir)/docs/memcached_version.pod | ||
1123 | 461 | ${PODCHECKER} $(top_srcdir)/docs/memcapable.pod | ||
1124 | 462 | ${PODCHECKER} $(top_srcdir)/docs/memcat.pod | ||
1125 | 463 | ${PODCHECKER} $(top_srcdir)/docs/memcp.pod | ||
1126 | 464 | ${PODCHECKER} $(top_srcdir)/docs/memerror.pod | ||
1127 | 465 | ${PODCHECKER} $(top_srcdir)/docs/memflush.pod | ||
1128 | 466 | ${PODCHECKER} $(top_srcdir)/docs/memrm.pod | ||
1129 | 467 | ${PODCHECKER} $(top_srcdir)/docs/memslap.pod | ||
1130 | 468 | ${PODCHECKER} $(top_srcdir)/docs/memstat.pod | ||
1131 | 469 | |||
1132 | 470 | html-local: | ||
1133 | 471 | pod2htmltree "/libmemcached" . | ||
1134 | 472 | |||
1235 | 473 | 530 | ||
1236 | === modified file 'docs/libmemcached.pod' | |||
1237 | --- docs/libmemcached.pod 2009-12-16 18:53:44 +0000 | |||
1238 | +++ docs/libmemcached.pod 2010-01-12 00:36:12 +0000 | |||
1239 | @@ -113,7 +113,7 @@ | |||
1240 | 113 | =head1 HOME | 113 | =head1 HOME |
1241 | 114 | 114 | ||
1242 | 115 | To find out more information please check: | 115 | To find out more information please check: |
1244 | 116 | L<http://tangent.org/552/libmemcached.html> | 116 | L<https://launchpad.net/libmemcached> |
1245 | 117 | 117 | ||
1246 | 118 | =head1 AUTHOR | 118 | =head1 AUTHOR |
1247 | 119 | 119 | ||
1248 | 120 | 120 | ||
1249 | === modified file 'docs/libmemcached_examples.pod' | |||
1250 | --- docs/libmemcached_examples.pod 2009-12-16 18:53:44 +0000 | |||
1251 | +++ docs/libmemcached_examples.pod 2010-01-12 00:36:12 +0000 | |||
1252 | @@ -101,7 +101,7 @@ | |||
1253 | 101 | =head1 HOME | 101 | =head1 HOME |
1254 | 102 | 102 | ||
1255 | 103 | To find out more information please check: | 103 | To find out more information please check: |
1257 | 104 | L<http://tangent.org/552/libmemcached.html> | 104 | L<https://launchpad.net/libmemcached> |
1258 | 105 | 105 | ||
1259 | 106 | =head1 AUTHOR | 106 | =head1 AUTHOR |
1260 | 107 | 107 | ||
1261 | 108 | 108 | ||
1262 | === modified file 'docs/libmemcachedutil.pod' | |||
1263 | --- docs/libmemcachedutil.pod 2009-05-12 00:51:25 +0000 | |||
1264 | +++ docs/libmemcachedutil.pod 2010-01-12 00:36:12 +0000 | |||
1265 | @@ -27,11 +27,11 @@ | |||
1266 | 27 | =head1 HOME | 27 | =head1 HOME |
1267 | 28 | 28 | ||
1268 | 29 | To find out more information please check: | 29 | To find out more information please check: |
1270 | 30 | L<http://tangent.org/552/libmemcached.html> | 30 | L<https://launchpad.net/libmemcached> |
1271 | 31 | 31 | ||
1272 | 32 | =head1 AUTHOR | 32 | =head1 AUTHOR |
1273 | 33 | 33 | ||
1275 | 34 | Trond Norbye, E<lt>trond.norbye@sun.comE<gt> | 34 | Trond Norbye, E<lt>trond.norbye@gmail.comE<gt> |
1276 | 35 | 35 | ||
1277 | 36 | =head1 SEE ALSO | 36 | =head1 SEE ALSO |
1278 | 37 | 37 | ||
1279 | 38 | 38 | ||
1280 | === added file 'docs/make_index.pl' | |||
1281 | --- docs/make_index.pl 1970-01-01 00:00:00 +0000 | |||
1282 | +++ docs/make_index.pl 2010-01-12 00:36:12 +0000 | |||
1283 | @@ -0,0 +1,30 @@ | |||
1284 | 1 | #!/usr/bin/perl -w | ||
1285 | 2 | |||
1286 | 3 | use strict; | ||
1287 | 4 | use CGI; | ||
1288 | 5 | |||
1289 | 6 | sub main { | ||
1290 | 7 | my $cgi = new CGI; | ||
1291 | 8 | |||
1292 | 9 | print $cgi->start_html('Libmemcached Documentation') . "\n"; | ||
1293 | 10 | print $cgi->h1('Libmemcached Documentation') . "\n"; | ||
1294 | 11 | |||
1295 | 12 | print $cgi->a({ href => "libmemcached.html" }, "Introduction to Libmemcached") . $cgi->br() . "\n"; | ||
1296 | 13 | print $cgi->a({ href => "libmemcached_examples.html" }, "Libmemcached Examples") . $cgi->br() . "\n"; | ||
1297 | 14 | print $cgi->br() . "\n"; | ||
1298 | 15 | print $cgi->br() . "\n"; | ||
1299 | 16 | |||
1300 | 17 | foreach (@ARGV) | ||
1301 | 18 | { | ||
1302 | 19 | my $url= $_; | ||
1303 | 20 | my $name= $_; | ||
1304 | 21 | $name =~ s/\.html//g; | ||
1305 | 22 | next if $name eq 'index'; | ||
1306 | 23 | next if $name eq 'libmemcached'; | ||
1307 | 24 | next if $name eq 'libmemcached_examples'; | ||
1308 | 25 | print "<li\>" . $cgi->a({ href => $url }, $name) . $cgi->br() . "\n"; | ||
1309 | 26 | } | ||
1310 | 27 | print $cgi->end_html; | ||
1311 | 28 | } | ||
1312 | 29 | |||
1313 | 30 | main(); | ||
1314 | 0 | 31 | ||
1315 | === modified file 'docs/memcached_analyze.pod' | |||
1316 | --- docs/memcached_analyze.pod 2009-12-16 18:53:44 +0000 | |||
1317 | +++ docs/memcached_analyze.pod 2010-01-12 00:36:12 +0000 | |||
1318 | @@ -40,7 +40,7 @@ | |||
1319 | 40 | =head1 HOME | 40 | =head1 HOME |
1320 | 41 | 41 | ||
1321 | 42 | To find out more information please check: | 42 | To find out more information please check: |
1323 | 43 | L<http://tangent.org/552/libmemcached.html> | 43 | L<https://launchpad.net/libmemcached> |
1324 | 44 | 44 | ||
1325 | 45 | =head1 AUTHOR | 45 | =head1 AUTHOR |
1326 | 46 | 46 | ||
1327 | 47 | 47 | ||
1328 | === modified file 'docs/memcached_auto.pod' | |||
1329 | --- docs/memcached_auto.pod 2009-12-16 18:53:44 +0000 | |||
1330 | +++ docs/memcached_auto.pod 2010-01-12 00:36:12 +0000 | |||
1331 | @@ -124,7 +124,7 @@ | |||
1332 | 124 | =head1 HOME | 124 | =head1 HOME |
1333 | 125 | 125 | ||
1334 | 126 | To find out more information please check: | 126 | To find out more information please check: |
1336 | 127 | L<http://tangent.org/552/libmemcached.html> | 127 | L<https://launchpad.net/libmemcached> |
1337 | 128 | 128 | ||
1338 | 129 | =head1 AUTHOR | 129 | =head1 AUTHOR |
1339 | 130 | 130 | ||
1340 | 131 | 131 | ||
1341 | === modified file 'docs/memcached_behavior.pod' | |||
1342 | --- docs/memcached_behavior.pod 2010-01-02 04:50:19 +0000 | |||
1343 | +++ docs/memcached_behavior.pod 2010-01-12 00:36:12 +0000 | |||
1344 | @@ -234,7 +234,7 @@ | |||
1345 | 234 | =head1 HOME | 234 | =head1 HOME |
1346 | 235 | 235 | ||
1347 | 236 | To find out more information please check: | 236 | To find out more information please check: |
1349 | 237 | L<http://tangent.org/552/libmemcached.html> | 237 | L<https://launchpad.net/libmemcached> |
1350 | 238 | 238 | ||
1351 | 239 | =head1 AUTHOR | 239 | =head1 AUTHOR |
1352 | 240 | 240 | ||
1353 | 241 | 241 | ||
1354 | === modified file 'docs/memcached_callback.pod' | |||
1355 | --- docs/memcached_callback.pod 2009-12-16 18:53:44 +0000 | |||
1356 | +++ docs/memcached_callback.pod 2010-01-12 00:36:12 +0000 | |||
1357 | @@ -109,7 +109,7 @@ | |||
1358 | 109 | =head1 HOME | 109 | =head1 HOME |
1359 | 110 | 110 | ||
1360 | 111 | To find out more information please check: | 111 | To find out more information please check: |
1362 | 112 | L<http://tangent.org/552/libmemcached.html> | 112 | L<https://launchpad.net/libmemcached> |
1363 | 113 | 113 | ||
1364 | 114 | =head1 AUTHOR | 114 | =head1 AUTHOR |
1365 | 115 | 115 | ||
1366 | 116 | 116 | ||
1367 | === modified file 'docs/memcached_create.pod' | |||
1368 | --- docs/memcached_create.pod 2009-12-16 18:53:44 +0000 | |||
1369 | +++ docs/memcached_create.pod 2010-01-12 00:36:12 +0000 | |||
1370 | @@ -1,6 +1,6 @@ | |||
1371 | 1 | =head1 NAME | 1 | =head1 NAME |
1372 | 2 | 2 | ||
1374 | 3 | memcached_create, memcached_free - Create a memcached_st structure | 3 | memcached_create, memcached_free, memcached_clone, memcached_servers_reset- Create a memcached_st structure |
1375 | 4 | 4 | ||
1376 | 5 | =head1 LIBRARY | 5 | =head1 LIBRARY |
1377 | 6 | 6 | ||
1378 | @@ -16,6 +16,8 @@ | |||
1379 | 16 | 16 | ||
1380 | 17 | memcached_st *memcached_clone (memcached_st *destination, memcached_st *source); | 17 | memcached_st *memcached_clone (memcached_st *destination, memcached_st *source); |
1381 | 18 | 18 | ||
1382 | 19 | void memcached_servers_reset(memcached_st); | ||
1383 | 20 | |||
1384 | 19 | =head1 DESCRIPTION | 21 | =head1 DESCRIPTION |
1385 | 20 | 22 | ||
1386 | 21 | memcached_create() is used to create a C<memcached_st> structure that will then | 23 | memcached_create() is used to create a C<memcached_st> structure that will then |
1387 | @@ -28,6 +30,9 @@ | |||
1388 | 28 | the argument for the source to clone, it is the same as a call to memcached_create(). | 30 | the argument for the source to clone, it is the same as a call to memcached_create(). |
1389 | 29 | If the destination argument is NULL a C<memcached_st> will be allocated for you. | 31 | If the destination argument is NULL a C<memcached_st> will be allocated for you. |
1390 | 30 | 32 | ||
1391 | 33 | memcached_servers_reset() allows you to zero out the list of servers that | ||
1392 | 34 | the memcached_st has. | ||
1393 | 35 | |||
1394 | 31 | To clean up memory associated with a C<memcached_st> structure you should pass | 36 | To clean up memory associated with a C<memcached_st> structure you should pass |
1395 | 32 | it to memcached_free() when you are finished using it. memcached_free() is | 37 | it to memcached_free() when you are finished using it. memcached_free() is |
1396 | 33 | the only way to make sure all memory is deallocated when you finish using | 38 | the only way to make sure all memory is deallocated when you finish using |
1397 | @@ -48,7 +53,7 @@ | |||
1398 | 48 | =head1 HOME | 53 | =head1 HOME |
1399 | 49 | 54 | ||
1400 | 50 | To find out more information please check: | 55 | To find out more information please check: |
1402 | 51 | L<http://tangent.org/552/libmemcached.html> | 56 | L<https://launchpad.net/libmemcached> |
1403 | 52 | 57 | ||
1404 | 53 | =head1 AUTHOR | 58 | =head1 AUTHOR |
1405 | 54 | 59 | ||
1406 | 55 | 60 | ||
1407 | === modified file 'docs/memcached_delete.pod' | |||
1408 | --- docs/memcached_delete.pod 2009-12-16 18:53:44 +0000 | |||
1409 | +++ docs/memcached_delete.pod 2010-01-12 00:36:12 +0000 | |||
1410 | @@ -44,7 +44,7 @@ | |||
1411 | 44 | =head1 HOME | 44 | =head1 HOME |
1412 | 45 | 45 | ||
1413 | 46 | To find out more information please check: | 46 | To find out more information please check: |
1415 | 47 | L<http://tangent.org/552/libmemcached.html> | 47 | L<https://launchpad.net/libmemcached> |
1416 | 48 | 48 | ||
1417 | 49 | =head1 AUTHOR | 49 | =head1 AUTHOR |
1418 | 50 | 50 | ||
1419 | 51 | 51 | ||
1420 | === modified file 'docs/memcached_dump.pod' | |||
1421 | --- docs/memcached_dump.pod 2009-12-16 18:53:44 +0000 | |||
1422 | +++ docs/memcached_dump.pod 2010-01-12 00:36:12 +0000 | |||
1423 | @@ -39,7 +39,7 @@ | |||
1424 | 39 | =head1 HOME | 39 | =head1 HOME |
1425 | 40 | 40 | ||
1426 | 41 | To find out more information please check: | 41 | To find out more information please check: |
1428 | 42 | L<http://tangent.org/552/libmemcached.html> | 42 | L<https://launchpad.net/libmemcached> |
1429 | 43 | 43 | ||
1430 | 44 | =head1 AUTHOR | 44 | =head1 AUTHOR |
1431 | 45 | 45 | ||
1432 | 46 | 46 | ||
1433 | === modified file 'docs/memcached_flush.pod' | |||
1434 | --- docs/memcached_flush.pod 2009-12-16 18:53:44 +0000 | |||
1435 | +++ docs/memcached_flush.pod 2010-01-12 00:36:12 +0000 | |||
1436 | @@ -32,7 +32,7 @@ | |||
1437 | 32 | =head1 HOME | 32 | =head1 HOME |
1438 | 33 | 33 | ||
1439 | 34 | To find out more information please check: | 34 | To find out more information please check: |
1441 | 35 | L<http://tangent.org/552/libmemcached.html> | 35 | L<https://launchpad.net/libmemcached> |
1442 | 36 | 36 | ||
1443 | 37 | =head1 AUTHOR | 37 | =head1 AUTHOR |
1444 | 38 | 38 | ||
1445 | 39 | 39 | ||
1446 | === modified file 'docs/memcached_flush_buffers.pod' | |||
1447 | --- docs/memcached_flush_buffers.pod 2009-12-16 18:53:44 +0000 | |||
1448 | +++ docs/memcached_flush_buffers.pod 2010-01-12 00:36:12 +0000 | |||
1449 | @@ -28,11 +28,11 @@ | |||
1450 | 28 | =head1 HOME | 28 | =head1 HOME |
1451 | 29 | 29 | ||
1452 | 30 | To find out more information please check: | 30 | To find out more information please check: |
1454 | 31 | L<http://tangent.org/552/libmemcached.html> | 31 | L<https://launchpad.net/libmemcached> |
1455 | 32 | 32 | ||
1456 | 33 | =head1 AUTHOR | 33 | =head1 AUTHOR |
1457 | 34 | 34 | ||
1459 | 35 | Trond Norbye, E<lt>trond.norbye@sun.comE<gt> | 35 | Trond Norbye, E<lt>trond.norbye@gmail.comE<gt> |
1460 | 36 | 36 | ||
1461 | 37 | =head1 SEE ALSO | 37 | =head1 SEE ALSO |
1462 | 38 | 38 | ||
1463 | 39 | 39 | ||
1464 | === modified file 'docs/memcached_generate_hash_value.pod' | |||
1465 | --- docs/memcached_generate_hash_value.pod 2010-01-02 04:50:19 +0000 | |||
1466 | +++ docs/memcached_generate_hash_value.pod 2010-01-12 00:36:12 +0000 | |||
1467 | @@ -46,7 +46,7 @@ | |||
1468 | 46 | =head1 HOME | 46 | =head1 HOME |
1469 | 47 | 47 | ||
1470 | 48 | To find out more information please check: | 48 | To find out more information please check: |
1472 | 49 | L<http://tangent.org/552/libmemcached.html> | 49 | L<https://launchpad.net/libmemcached> |
1473 | 50 | 50 | ||
1474 | 51 | =head1 AUTHOR | 51 | =head1 AUTHOR |
1475 | 52 | 52 | ||
1476 | 53 | 53 | ||
1477 | === modified file 'docs/memcached_get.pod' | |||
1478 | --- docs/memcached_get.pod 2009-12-16 18:53:44 +0000 | |||
1479 | +++ docs/memcached_get.pod 2010-01-12 00:36:12 +0000 | |||
1480 | @@ -157,7 +157,7 @@ | |||
1481 | 157 | =head1 HOME | 157 | =head1 HOME |
1482 | 158 | 158 | ||
1483 | 159 | To find out more information please check: | 159 | To find out more information please check: |
1485 | 160 | L<http://tangent.org/552/libmemcached.html> | 160 | L<https://launchpad.net/libmemcached> |
1486 | 161 | 161 | ||
1487 | 162 | =head1 AUTHOR | 162 | =head1 AUTHOR |
1488 | 163 | 163 | ||
1489 | 164 | 164 | ||
1490 | === modified file 'docs/memcached_memory_allocators.pod' | |||
1491 | --- docs/memcached_memory_allocators.pod 2009-12-16 18:53:44 +0000 | |||
1492 | +++ docs/memcached_memory_allocators.pod 2010-01-12 00:36:12 +0000 | |||
1493 | @@ -67,11 +67,11 @@ | |||
1494 | 67 | =head1 HOME | 67 | =head1 HOME |
1495 | 68 | 68 | ||
1496 | 69 | To find out more information please check: | 69 | To find out more information please check: |
1498 | 70 | L<http://tangent.org/552/libmemcached.html> | 70 | L<https://launchpad.net/libmemcached> |
1499 | 71 | 71 | ||
1500 | 72 | =head1 AUTHOR | 72 | =head1 AUTHOR |
1501 | 73 | 73 | ||
1503 | 74 | Trond Norbye, E<lt>trond.norbye@sun.comE<gt> | 74 | Trond Norbye, E<lt>trond.norbye@gmail.comE<gt> |
1504 | 75 | 75 | ||
1505 | 76 | =head1 SEE ALSO | 76 | =head1 SEE ALSO |
1506 | 77 | 77 | ||
1507 | 78 | 78 | ||
1508 | === modified file 'docs/memcached_pool.pod' | |||
1509 | --- docs/memcached_pool.pod 2009-12-16 18:53:44 +0000 | |||
1510 | +++ docs/memcached_pool.pod 2010-01-12 00:36:12 +0000 | |||
1511 | @@ -86,11 +86,11 @@ | |||
1512 | 86 | =head1 HOME | 86 | =head1 HOME |
1513 | 87 | 87 | ||
1514 | 88 | To find out more information please check: | 88 | To find out more information please check: |
1516 | 89 | L<http://tangent.org/552/libmemcached.html> | 89 | L<https://launchpad.net/libmemcached> |
1517 | 90 | 90 | ||
1518 | 91 | =head1 AUTHOR | 91 | =head1 AUTHOR |
1519 | 92 | 92 | ||
1521 | 93 | Trond Norbye, E<lt>trond.norbye@sun.comE<gt> | 93 | Trond Norbye, E<lt>trond.norbye@gmail.comE<gt> |
1522 | 94 | 94 | ||
1523 | 95 | =head1 SEE ALSO | 95 | =head1 SEE ALSO |
1524 | 96 | 96 | ||
1525 | 97 | 97 | ||
1526 | === modified file 'docs/memcached_quit.pod' | |||
1527 | --- docs/memcached_quit.pod 2009-05-12 15:56:43 +0000 | |||
1528 | +++ docs/memcached_quit.pod 2010-01-12 00:36:12 +0000 | |||
1529 | @@ -33,7 +33,7 @@ | |||
1530 | 33 | =head1 HOME | 33 | =head1 HOME |
1531 | 34 | 34 | ||
1532 | 35 | To find out more information please check: | 35 | To find out more information please check: |
1534 | 36 | L<http://tangent.org/552/libmemcached.html> | 36 | L<https://launchpad.net/libmemcached> |
1535 | 37 | 37 | ||
1536 | 38 | =head1 AUTHOR | 38 | =head1 AUTHOR |
1537 | 39 | 39 | ||
1538 | 40 | 40 | ||
1539 | === modified file 'docs/memcached_result_st.pod' | |||
1540 | --- docs/memcached_result_st.pod 2009-12-16 18:53:44 +0000 | |||
1541 | +++ docs/memcached_result_st.pod 2010-01-12 00:36:12 +0000 | |||
1542 | @@ -101,7 +101,7 @@ | |||
1543 | 101 | =head1 HOME | 101 | =head1 HOME |
1544 | 102 | 102 | ||
1545 | 103 | To find out more information please check: | 103 | To find out more information please check: |
1547 | 104 | L<http://tangent.org/552/libmemcached.html> | 104 | L<https://launchpad.net/libmemcached> |
1548 | 105 | 105 | ||
1549 | 106 | =head1 AUTHOR | 106 | =head1 AUTHOR |
1550 | 107 | 107 | ||
1551 | 108 | 108 | ||
1552 | === modified file 'docs/memcached_server_st.pod' | |||
1553 | --- docs/memcached_server_st.pod 2009-12-16 18:53:44 +0000 | |||
1554 | +++ docs/memcached_server_st.pod 2010-01-12 00:36:12 +0000 | |||
1555 | @@ -61,7 +61,7 @@ | |||
1556 | 61 | =head1 HOME | 61 | =head1 HOME |
1557 | 62 | 62 | ||
1558 | 63 | To find out more information please check: | 63 | To find out more information please check: |
1560 | 64 | L<http://tangent.org/552/libmemcached.html> | 64 | L<https://launchpad.net/libmemcached> |
1561 | 65 | 65 | ||
1562 | 66 | =head1 AUTHOR | 66 | =head1 AUTHOR |
1563 | 67 | 67 | ||
1564 | 68 | 68 | ||
1565 | === modified file 'docs/memcached_servers.pod' | |||
1566 | --- docs/memcached_servers.pod 2009-12-19 01:28:01 +0000 | |||
1567 | +++ docs/memcached_servers.pod 2010-01-12 00:36:12 +0000 | |||
1568 | @@ -1,6 +1,6 @@ | |||
1569 | 1 | =head1 NAME | 1 | =head1 NAME |
1570 | 2 | 2 | ||
1572 | 3 | memcached_server_count, memcached_server_list, memcached_server_add, memcached_server_push, memcached_server_get_last_disconnect - Manage server list | 3 | memcached_server_count, memcached_server_list, memcached_server_add, memcached_server_push, memcached_server_get_last_disconnect, memcached_server_cursor - Manage server list |
1573 | 4 | 4 | ||
1574 | 5 | =head1 LIBRARY | 5 | =head1 LIBRARY |
1575 | 6 | 6 | ||
1576 | @@ -10,7 +10,7 @@ | |||
1577 | 10 | 10 | ||
1578 | 11 | #include <memcached.h> | 11 | #include <memcached.h> |
1579 | 12 | 12 | ||
1581 | 13 | unsigned int memcached_server_count (memcached_st *ptr); | 13 | uint32_t memcached_server_count (memcached_st *ptr); |
1582 | 14 | 14 | ||
1583 | 15 | memcached_server_st * | 15 | memcached_server_st * |
1584 | 16 | memcached_server_list (memcached_st *ptr); | 16 | memcached_server_list (memcached_st *ptr); |
1585 | @@ -41,6 +41,12 @@ | |||
1586 | 41 | memcached_server_st * | 41 | memcached_server_st * |
1587 | 42 | memcached_server_get_last_disconnect (memcached_st *ptr) | 42 | memcached_server_get_last_disconnect (memcached_st *ptr) |
1588 | 43 | 43 | ||
1589 | 44 | memcached_return_t | ||
1590 | 45 | memcached_server_cursor(memcached_st *ptr, | ||
1591 | 46 | memcached_server_fn *callback, | ||
1592 | 47 | void *context, | ||
1593 | 48 | uint32_t number_of_callbacks); | ||
1594 | 49 | |||
1595 | 44 | 50 | ||
1596 | 45 | =head1 DESCRIPTION | 51 | =head1 DESCRIPTION |
1597 | 46 | 52 | ||
1598 | @@ -90,6 +96,13 @@ | |||
1599 | 90 | server is currently dead but if the library is reporting a server is, | 96 | server is currently dead but if the library is reporting a server is, |
1600 | 91 | the returned server is a very good candidate. | 97 | the returned server is a very good candidate. |
1601 | 92 | 98 | ||
1602 | 99 | memcached_server_cursor() takes a memcached_st and loops through the | ||
1603 | 100 | list of hosts currently in the cursor calling the list of callback | ||
1604 | 101 | functions provided. You can optionally pass in a value via | ||
1605 | 102 | context which will be provided to each callback function. An error | ||
1606 | 103 | return from any callback will terminate the loop. memcached_server_cursor() | ||
1607 | 104 | is passed the original caller memcached_st in its current state. | ||
1608 | 105 | |||
1609 | 93 | =head1 RETURN | 106 | =head1 RETURN |
1610 | 94 | 107 | ||
1611 | 95 | Varies, see particular functions. | 108 | Varies, see particular functions. |
1612 | @@ -97,7 +110,7 @@ | |||
1613 | 97 | =head1 HOME | 110 | =head1 HOME |
1614 | 98 | 111 | ||
1615 | 99 | To find out more information please check: | 112 | To find out more information please check: |
1617 | 100 | L<http://tangent.org/552/libmemcached.html> | 113 | L<https://launchpad.net/libmemcached> |
1618 | 101 | 114 | ||
1619 | 102 | =head1 AUTHOR | 115 | =head1 AUTHOR |
1620 | 103 | 116 | ||
1621 | 104 | 117 | ||
1622 | === modified file 'docs/memcached_set.pod' | |||
1623 | --- docs/memcached_set.pod 2009-12-16 18:53:44 +0000 | |||
1624 | +++ docs/memcached_set.pod 2010-01-12 00:36:12 +0000 | |||
1625 | @@ -173,7 +173,7 @@ | |||
1626 | 173 | =head1 HOME | 173 | =head1 HOME |
1627 | 174 | 174 | ||
1628 | 175 | To find out more information please check: | 175 | To find out more information please check: |
1630 | 176 | L<http://tangent.org/552/libmemcached.html> | 176 | L<https://launchpad.net/libmemcached> |
1631 | 177 | 177 | ||
1632 | 178 | =head1 AUTHOR | 178 | =head1 AUTHOR |
1633 | 179 | 179 | ||
1634 | 180 | 180 | ||
1635 | === modified file 'docs/memcached_stats.pod' | |||
1636 | --- docs/memcached_stats.pod 2009-12-16 18:53:44 +0000 | |||
1637 | +++ docs/memcached_stats.pod 2010-01-12 00:36:12 +0000 | |||
1638 | @@ -70,7 +70,7 @@ | |||
1639 | 70 | =head1 HOME | 70 | =head1 HOME |
1640 | 71 | 71 | ||
1641 | 72 | To find out more information please check: | 72 | To find out more information please check: |
1643 | 73 | L<http://tangent.org/552/libmemcached.html> | 73 | L<https://launchpad.net/libmemcached> |
1644 | 74 | 74 | ||
1645 | 75 | =head1 AUTHOR | 75 | =head1 AUTHOR |
1646 | 76 | 76 | ||
1647 | 77 | 77 | ||
1648 | === modified file 'docs/memcached_strerror.pod' | |||
1649 | --- docs/memcached_strerror.pod 2009-12-19 01:28:01 +0000 | |||
1650 | +++ docs/memcached_strerror.pod 2010-01-12 00:36:12 +0000 | |||
1651 | @@ -33,7 +33,7 @@ | |||
1652 | 33 | =head1 HOME | 33 | =head1 HOME |
1653 | 34 | 34 | ||
1654 | 35 | To find out more information please check: | 35 | To find out more information please check: |
1656 | 36 | L<http://tangent.org/552/libmemcached.html> | 36 | L<https://launchpad.net/libmemcached> |
1657 | 37 | 37 | ||
1658 | 38 | =head1 AUTHOR | 38 | =head1 AUTHOR |
1659 | 39 | 39 | ||
1660 | 40 | 40 | ||
1661 | === modified file 'docs/memcached_user_data.pod' | |||
1662 | --- docs/memcached_user_data.pod 2009-12-16 18:53:44 +0000 | |||
1663 | +++ docs/memcached_user_data.pod 2010-01-12 00:36:12 +0000 | |||
1664 | @@ -36,11 +36,11 @@ | |||
1665 | 36 | =head1 HOME | 36 | =head1 HOME |
1666 | 37 | 37 | ||
1667 | 38 | To find out more information please check: | 38 | To find out more information please check: |
1669 | 39 | L<http://tangent.org/552/libmemcached.html> | 39 | L<https://launchpad.net/libmemcached> |
1670 | 40 | 40 | ||
1671 | 41 | =head1 AUTHOR | 41 | =head1 AUTHOR |
1672 | 42 | 42 | ||
1674 | 43 | Trond Norbye, E<lt>trond.norbye@sun.comE<gt> | 43 | Trond Norbye, E<lt>trond.norbye@gmail.comE<gt> |
1675 | 44 | 44 | ||
1676 | 45 | =head1 SEE ALSO | 45 | =head1 SEE ALSO |
1677 | 46 | 46 | ||
1678 | 47 | 47 | ||
1679 | === modified file 'docs/memcached_verbosity.pod' | |||
1680 | --- docs/memcached_verbosity.pod 2009-12-16 18:53:44 +0000 | |||
1681 | +++ docs/memcached_verbosity.pod 2010-01-12 00:36:12 +0000 | |||
1682 | @@ -28,7 +28,7 @@ | |||
1683 | 28 | =head1 HOME | 28 | =head1 HOME |
1684 | 29 | 29 | ||
1685 | 30 | To find out more information please check: | 30 | To find out more information please check: |
1687 | 31 | L<http://tangent.org/552/libmemcached.html> | 31 | L<https://launchpad.net/libmemcached> |
1688 | 32 | 32 | ||
1689 | 33 | =head1 AUTHOR | 33 | =head1 AUTHOR |
1690 | 34 | 34 | ||
1691 | 35 | 35 | ||
1692 | === modified file 'docs/memcached_version.pod' | |||
1693 | --- docs/memcached_version.pod 2009-12-16 18:53:44 +0000 | |||
1694 | +++ docs/memcached_version.pod 2010-01-12 00:36:12 +0000 | |||
1695 | @@ -42,7 +42,7 @@ | |||
1696 | 42 | =head1 HOME | 42 | =head1 HOME |
1697 | 43 | 43 | ||
1698 | 44 | To find out more information please check: | 44 | To find out more information please check: |
1700 | 45 | L<http://tangent.org/552/libmemcached.html> | 45 | L<https://launchpad.net/libmemcached> |
1701 | 46 | 46 | ||
1702 | 47 | =head1 AUTHOR | 47 | =head1 AUTHOR |
1703 | 48 | 48 | ||
1704 | 49 | 49 | ||
1705 | === modified file 'docs/memcapable.pod' | |||
1706 | --- docs/memcapable.pod 2010-01-02 04:50:19 +0000 | |||
1707 | +++ docs/memcapable.pod 2010-01-12 00:36:12 +0000 | |||
1708 | @@ -47,11 +47,11 @@ | |||
1709 | 47 | =head1 HOME | 47 | =head1 HOME |
1710 | 48 | 48 | ||
1711 | 49 | To find out more information please check: | 49 | To find out more information please check: |
1713 | 50 | L<http://tangent.org/552/libmemcached.html> | 50 | L<https://launchpad.net/libmemcached> |
1714 | 51 | 51 | ||
1715 | 52 | =head1 AUTHOR | 52 | =head1 AUTHOR |
1716 | 53 | 53 | ||
1718 | 54 | Trond Norbye, E<lt>trond.norbye@sun.comE<gt> | 54 | Trond Norbye, E<lt>trond.norbye@gmail.comE<gt> |
1719 | 55 | 55 | ||
1720 | 56 | =head1 SEE ALSO | 56 | =head1 SEE ALSO |
1721 | 57 | 57 | ||
1722 | 58 | 58 | ||
1723 | === modified file 'docs/memcat.pod' | |||
1724 | --- docs/memcat.pod 2009-05-11 12:07:17 +0000 | |||
1725 | +++ docs/memcat.pod 2010-01-12 00:36:12 +0000 | |||
1726 | @@ -21,7 +21,7 @@ | |||
1727 | 21 | =head1 HOME | 21 | =head1 HOME |
1728 | 22 | 22 | ||
1729 | 23 | To find out more information please check: | 23 | To find out more information please check: |
1731 | 24 | L<http://tangent.org/552/libmemcached.html> | 24 | L<https://launchpad.net/libmemcached> |
1732 | 25 | 25 | ||
1733 | 26 | =head1 AUTHOR | 26 | =head1 AUTHOR |
1734 | 27 | 27 | ||
1735 | 28 | 28 | ||
1736 | === modified file 'docs/memcp.pod' | |||
1737 | --- docs/memcp.pod 2009-05-11 12:07:17 +0000 | |||
1738 | +++ docs/memcp.pod 2010-01-12 00:36:12 +0000 | |||
1739 | @@ -24,7 +24,7 @@ | |||
1740 | 24 | =head1 HOME | 24 | =head1 HOME |
1741 | 25 | 25 | ||
1742 | 26 | To find out more information please check: | 26 | To find out more information please check: |
1744 | 27 | L<http://tangent.org/552/libmemcached.html> | 27 | L<https://launchpad.net/libmemcached> |
1745 | 28 | 28 | ||
1746 | 29 | =head1 AUTHOR | 29 | =head1 AUTHOR |
1747 | 30 | 30 | ||
1748 | 31 | 31 | ||
1749 | === modified file 'docs/memdump.pod' | |||
1750 | --- docs/memdump.pod 2009-05-19 20:32:02 +0000 | |||
1751 | +++ docs/memdump.pod 2010-01-12 00:36:12 +0000 | |||
1752 | @@ -17,7 +17,7 @@ | |||
1753 | 17 | =head1 HOME | 17 | =head1 HOME |
1754 | 18 | 18 | ||
1755 | 19 | To find out more information please check: | 19 | To find out more information please check: |
1757 | 20 | L<http://tangent.org/552/libmemcached.html> | 20 | L<https://launchpad.net/libmemcached> |
1758 | 21 | 21 | ||
1759 | 22 | =head1 AUTHOR | 22 | =head1 AUTHOR |
1760 | 23 | 23 | ||
1761 | 24 | 24 | ||
1762 | === modified file 'docs/memerror.pod' | |||
1763 | --- docs/memerror.pod 2009-05-11 12:07:17 +0000 | |||
1764 | +++ docs/memerror.pod 2010-01-12 00:36:12 +0000 | |||
1765 | @@ -16,7 +16,7 @@ | |||
1766 | 16 | =head1 HOME | 16 | =head1 HOME |
1767 | 17 | 17 | ||
1768 | 18 | To find out more infoerroration please check: | 18 | To find out more infoerroration please check: |
1770 | 19 | L<http://tangent.org/552/libmemcached.html> | 19 | L<https://launchpad.net/libmemcached> |
1771 | 20 | 20 | ||
1772 | 21 | =head1 AUTHOR | 21 | =head1 AUTHOR |
1773 | 22 | 22 | ||
1774 | 23 | 23 | ||
1775 | === modified file 'docs/memflush.pod' | |||
1776 | --- docs/memflush.pod 2009-05-11 12:07:17 +0000 | |||
1777 | +++ docs/memflush.pod 2010-01-12 00:36:12 +0000 | |||
1778 | @@ -19,7 +19,7 @@ | |||
1779 | 19 | =head1 HOME | 19 | =head1 HOME |
1780 | 20 | 20 | ||
1781 | 21 | To find out more information please check: | 21 | To find out more information please check: |
1783 | 22 | L<http://tangent.org/552/libmemcached.html> | 22 | L<https://launchpad.net/libmemcached> |
1784 | 23 | 23 | ||
1785 | 24 | =head1 AUTHOR | 24 | =head1 AUTHOR |
1786 | 25 | 25 | ||
1787 | 26 | 26 | ||
1788 | === modified file 'docs/memrm.pod' | |||
1789 | --- docs/memrm.pod 2009-05-11 12:07:17 +0000 | |||
1790 | +++ docs/memrm.pod 2010-01-12 00:36:12 +0000 | |||
1791 | @@ -18,7 +18,7 @@ | |||
1792 | 18 | =head1 HOME | 18 | =head1 HOME |
1793 | 19 | 19 | ||
1794 | 20 | To find out more information please check: | 20 | To find out more information please check: |
1796 | 21 | L<http://tangent.org/552/libmemcached.html> | 21 | L<https://launchpad.net/libmemcached> |
1797 | 22 | 22 | ||
1798 | 23 | =head1 AUTHOR | 23 | =head1 AUTHOR |
1799 | 24 | 24 | ||
1800 | 25 | 25 | ||
1801 | === modified file 'docs/memslap.pod' | |||
1802 | --- docs/memslap.pod 2010-01-05 22:55:54 +0000 | |||
1803 | +++ docs/memslap.pod 2010-01-12 00:36:12 +0000 | |||
1804 | @@ -88,14 +88,14 @@ | |||
1805 | 88 | 88 | ||
1806 | 89 | =head2 Effective implementation of generating key and value | 89 | =head2 Effective implementation of generating key and value |
1807 | 90 | 90 | ||
1809 | 91 | In order to improve time efficiency and space efficiency, asynchronous | 91 | In order to improve time efficiency and space efficiency, |
1810 | 92 | memslap creates a random characters table with 10M characters. All the | 92 | memslap creates a random characters table with 10M characters. All the |
1811 | 93 | suffixes of keys and values are generated from this random characters table. | 93 | suffixes of keys and values are generated from this random characters table. |
1812 | 94 | 94 | ||
1813 | 95 | Memslap uses the offset in the character table and the length | 95 | Memslap uses the offset in the character table and the length |
1814 | 96 | of the string to identify a string. It can save much memory. | 96 | of the string to identify a string. It can save much memory. |
1815 | 97 | Each key contains two parts, a prefix and a suffix. The prefix is an | 97 | Each key contains two parts, a prefix and a suffix. The prefix is an |
1817 | 98 | uint64_t, 8 bytes. In order to verify the data set before, asynchronous | 98 | uint64_t, 8 bytes. In order to verify the data set before, |
1818 | 99 | memslap need to ensure each key is unique, so it uses the prefix to identify | 99 | memslap need to ensure each key is unique, so it uses the prefix to identify |
1819 | 100 | a key. The prefix cannot include illegal characters, such as ‘\r’, ‘\n’, | 100 | a key. The prefix cannot include illegal characters, such as ‘\r’, ‘\n’, |
1820 | 101 | ‘\0’ and ‘ ‘. And memslap has an algorithm to ensure that. | 101 | ‘\0’ and ‘ ‘. And memslap has an algorithm to ensure that. |
1821 | @@ -188,7 +188,7 @@ | |||
1822 | 188 | 188 | ||
1823 | 189 | =back | 189 | =back |
1824 | 190 | 190 | ||
1826 | 191 | The user must specify one server at least to run asynchronous memslap. The | 191 | The user must specify one server at least to run memslap. The |
1827 | 192 | rest of the parameters have default values, as shown below: | 192 | rest of the parameters have default values, as shown below: |
1828 | 193 | 193 | ||
1829 | 194 | Thread number = 1 Concurrency = 16 | 194 | Thread number = 1 Concurrency = 16 |
1830 | @@ -221,7 +221,7 @@ | |||
1831 | 221 | 221 | ||
1832 | 222 | All the distributions are read from the configuration file specified by user | 222 | All the distributions are read from the configuration file specified by user |
1833 | 223 | with “—cfg_cmd” option. If the user does not specify a configuration file, | 223 | with “—cfg_cmd” option. If the user does not specify a configuration file, |
1835 | 224 | asynchronous memslap will run with the default distribution (key size = 64, | 224 | memslap will run with the default distribution (key size = 64, |
1836 | 225 | value size = 1024, get/set = 9:1). For information on how to edit the | 225 | value size = 1024, get/set = 9:1). For information on how to edit the |
1837 | 226 | configuration file, refer to the “Configuration File” section. | 226 | configuration file, refer to the “Configuration File” section. |
1838 | 227 | 227 | ||
1839 | @@ -232,22 +232,22 @@ | |||
1840 | 232 | The minimum value size is 1 bytes; the maximum value size is 1M bytes. The | 232 | The minimum value size is 1 bytes; the maximum value size is 1M bytes. The |
1841 | 233 | precision of proportion is 0.001. The proportion of distribution will be | 233 | precision of proportion is 0.001. The proportion of distribution will be |
1842 | 234 | rounded to 3 decimal places. | 234 | rounded to 3 decimal places. |
1844 | 235 | Currently, asynchronous memslap only supports set and get commands. And it | 235 | Currently, memslap only supports set and get commands. And it |
1845 | 236 | supports 100% set and 100% get. For 100% get, it will preset some objects to | 236 | supports 100% set and 100% get. For 100% get, it will preset some objects to |
1846 | 237 | the server. | 237 | the server. |
1847 | 238 | 238 | ||
1848 | 239 | =head2 Multi-thread and concurrency | 239 | =head2 Multi-thread and concurrency |
1849 | 240 | 240 | ||
1851 | 241 | The high performance of asynchronous memslap benefits from the special | 241 | The high performance of memslap benefits from the special |
1852 | 242 | schedule of thread and concurrency. It’s important to specify the proper | 242 | schedule of thread and concurrency. It’s important to specify the proper |
1853 | 243 | number of them. The default number of threads is 1; the default number of | 243 | number of them. The default number of threads is 1; the default number of |
1854 | 244 | concurrency is 16. The user can use “—threads” and “--concurrency” to | 244 | concurrency is 16. The user can use “—threads” and “--concurrency” to |
1855 | 245 | specify these variables. | 245 | specify these variables. |
1856 | 246 | 246 | ||
1857 | 247 | If the system supports setting CPU affinity and the number of threads | 247 | If the system supports setting CPU affinity and the number of threads |
1859 | 248 | specified by the user is greater than 1, asynchronous memslap will try to | 248 | specified by the user is greater than 1, memslap will try to |
1860 | 249 | bind each thread to a different CPU core. So if you want to get the best | 249 | bind each thread to a different CPU core. So if you want to get the best |
1862 | 250 | performance asynchronous memslap, it is better to specify the number of | 250 | performance memslap, it is better to specify the number of |
1863 | 251 | thread equal to the number of CPU cores. The number of threads specified by | 251 | thread equal to the number of CPU cores. The number of threads specified by |
1864 | 252 | the user can also be less or greater than the number of CPU cores. Because | 252 | the user can also be less or greater than the number of CPU cores. Because |
1865 | 253 | of the limitation of implementation, the number of concurrencies could be | 253 | of the limitation of implementation, the number of concurrencies could be |
1866 | @@ -277,15 +277,15 @@ | |||
1867 | 277 | 277 | ||
1868 | 278 | --threads=24 --concurrency=288 | 278 | --threads=24 --concurrency=288 |
1869 | 279 | 279 | ||
1871 | 280 | The asynchronous memslap performs very well, when | 280 | The memslap performs very well, when |
1872 | 281 | used to test the performance of memcached servers. | 281 | used to test the performance of memcached servers. |
1873 | 282 | Most of the time, the bottleneck is the network or | 282 | Most of the time, the bottleneck is the network or |
1874 | 283 | the server. If for some reason the user wants to | 283 | the server. If for some reason the user wants to |
1876 | 284 | limit the performance of asynchronous memslap, there | 284 | limit the performance of memslap, there |
1877 | 285 | are two ways to do this: | 285 | are two ways to do this: |
1878 | 286 | 286 | ||
1879 | 287 | Decrease the number of threads and concurrencies. | 287 | Decrease the number of threads and concurrencies. |
1881 | 288 | Use the option “--tps” that Asynchronous memslap | 288 | Use the option “--tps” that memslap |
1882 | 289 | provides to limit the throughput. This option allows | 289 | provides to limit the throughput. This option allows |
1883 | 290 | the user to get the expected throughput. For | 290 | the user to get the expected throughput. For |
1884 | 291 | example, assume that the maximum throughput is 50 | 291 | example, assume that the maximum throughput is 50 |
1885 | @@ -298,7 +298,7 @@ | |||
1886 | 298 | Most of the time, the user does not need to specify the window size. The | 298 | Most of the time, the user does not need to specify the window size. The |
1887 | 299 | default window size is 10k. For Schooner Memcached, the user can specify | 299 | default window size is 10k. For Schooner Memcached, the user can specify |
1888 | 300 | different window sizes to get different cache miss rates based on the test | 300 | different window sizes to get different cache miss rates based on the test |
1890 | 301 | case. Asynchronous memslap supports cache miss rate between 0% and 100%. | 301 | case. Memslap supports cache miss rate between 0% and 100%. |
1891 | 302 | If you use this utility to test the performance of Schooner Memcached, you | 302 | If you use this utility to test the performance of Schooner Memcached, you |
1892 | 303 | can specify a proper window size to get the expected cache miss rate. The | 303 | can specify a proper window size to get the expected cache miss rate. The |
1893 | 304 | formula for calculating window size is as follows: | 304 | formula for calculating window size is as follows: |
1894 | @@ -341,7 +341,7 @@ | |||
1895 | 341 | 341 | ||
1896 | 342 | =head2 Verification | 342 | =head2 Verification |
1897 | 343 | 343 | ||
1899 | 344 | Asynchronous memslap supports both data verification and expire-time | 344 | Memslap supports both data verification and expire-time |
1900 | 345 | verification. The user can use "--verify=" or "-v" to specify the proportion | 345 | verification. The user can use "--verify=" or "-v" to specify the proportion |
1901 | 346 | of data verification. In theory, it supports 100% data verification. The | 346 | of data verification. In theory, it supports 100% data verification. The |
1902 | 347 | user can use "--exp_verify=" or "-e" to specify the proportion of | 347 | user can use "--exp_verify=" or "-e" to specify the proportion of |
1903 | @@ -351,14 +351,14 @@ | |||
1904 | 351 | 351 | ||
1905 | 352 | For example: --exp_verify=0.01 –verify=0.1 , it means that 1% of the objects | 352 | For example: --exp_verify=0.01 –verify=0.1 , it means that 1% of the objects |
1906 | 353 | set with expire-time, 10% of the objects gotten will be verified. If the | 353 | set with expire-time, 10% of the objects gotten will be verified. If the |
1908 | 354 | objects are gotten, asynchronous memslap will verify the expire-time and | 354 | objects are gotten, memslap will verify the expire-time and |
1909 | 355 | value. | 355 | value. |
1910 | 356 | 356 | ||
1911 | 357 | =head2 multi-servers and multi-clients | 357 | =head2 multi-servers and multi-clients |
1912 | 358 | 358 | ||
1914 | 359 | Asynchronous memslap supports multi-servers based on self-governed thread. | 359 | Memslap supports multi-servers based on self-governed thread. |
1915 | 360 | There is a limitation that the number of servers cannot be greater than the | 360 | There is a limitation that the number of servers cannot be greater than the |
1917 | 361 | number of threads. Asynchronous memslap assigns one thread to handle one | 361 | number of threads. Memslap assigns one thread to handle one |
1918 | 362 | server at least. The user can use the "--servers=" or "-s" option to specify | 362 | server at least. The user can use the "--servers=" or "-s" option to specify |
1919 | 363 | multi-servers. | 363 | multi-servers. |
1920 | 364 | 364 | ||
1921 | @@ -371,18 +371,18 @@ | |||
1922 | 371 | and 4 handle server 1 (10.1.1.2); and thread 2 and 5 handle server 2 | 371 | and 4 handle server 1 (10.1.1.2); and thread 2 and 5 handle server 2 |
1923 | 372 | (10.1.1.3). | 372 | (10.1.1.3). |
1924 | 373 | 373 | ||
1926 | 374 | All the threads and concurrencies in asynchronous memslap are self-governed. | 374 | All the threads and concurrencies in memslap are self-governed. |
1927 | 375 | 375 | ||
1930 | 376 | So is asynchronous memslap. The user can start up several asynchronous | 376 | So is memslap. The user can start up several |
1931 | 377 | memslap instances. The user can run asynchronous memslap on different client | 377 | memslap instances. The user can run memslap on different client |
1932 | 378 | machines to communicate with the same memcached server at the same. It is | 378 | machines to communicate with the same memcached server at the same. It is |
1934 | 379 | recommended that the user start different asynchronous memslap on different | 379 | recommended that the user start different memslap on different |
1935 | 380 | machines using the same configuration. | 380 | machines using the same configuration. |
1936 | 381 | 381 | ||
1937 | 382 | =head2 Run with execute number mode or time mode | 382 | =head2 Run with execute number mode or time mode |
1938 | 383 | 383 | ||
1941 | 384 | The default asynchronous memslap runs with time mode. The default run time | 384 | The default memslap runs with time mode. The default run time |
1942 | 385 | is 10 minutes. If it times out, asynchronous memslap will exit. Do not | 385 | is 10 minutes. If it times out, memslap will exit. Do not |
1943 | 386 | specify both execute number mode and time mode at the same time; just | 386 | specify both execute number mode and time mode at the same time; just |
1944 | 387 | specify one instead. | 387 | specify one instead. |
1945 | 388 | 388 | ||
1946 | @@ -400,7 +400,7 @@ | |||
1947 | 400 | 400 | ||
1948 | 401 | --stat_freq=20s | 401 | --stat_freq=20s |
1949 | 402 | 402 | ||
1951 | 403 | asynchronous memslap will dump the statistics of the commands (get and set) at the frequency of every 20 | 403 | Memslap will dump the statistics of the commands (get and set) at the frequency of every 20 |
1952 | 404 | seconds. | 404 | seconds. |
1953 | 405 | 405 | ||
1954 | 406 | For more information on the format of dumping statistic information, refer to “Format of Output” section. | 406 | For more information on the format of dumping statistic information, refer to “Format of Output” section. |
1955 | @@ -408,23 +408,22 @@ | |||
1956 | 408 | =head2 Multi-get | 408 | =head2 Multi-get |
1957 | 409 | 409 | ||
1958 | 410 | The user can use "--division=" or "-d" to specify multi-get keys count. | 410 | The user can use "--division=" or "-d" to specify multi-get keys count. |
1962 | 411 | Asynchronous memslap by default does single get with TCP. Asynchronous | 411 | Memslap by default does single get with TCP. Memslap also supports data |
1963 | 412 | memslap also supports data verification and expire-time verification for | 412 | verification and expire-time verification for multi-get. |
1961 | 413 | multi-get. | ||
1964 | 414 | 413 | ||
1966 | 415 | Asynchronous memslap supports multi-get with both TCP and UDP. Because of | 414 | Memslap supports multi-get with both TCP and UDP. Because of |
1967 | 416 | the different implementation of the ASCII protocol and binary protocol, | 415 | the different implementation of the ASCII protocol and binary protocol, |
1968 | 417 | there are some differences between the two. For the ASCII protocol, | 416 | there are some differences between the two. For the ASCII protocol, |
1971 | 418 | asynchronous memslap sends one “multi-get” to the server once. For the | 417 | memslap sends one “multi-get” to the server once. For the |
1972 | 419 | binary protocol, asynchronous memslap sends several single get commands | 418 | binary protocol, memslap sends several single get commands |
1973 | 420 | together as “multi-get” to the server. | 419 | together as “multi-get” to the server. |
1974 | 421 | 420 | ||
1975 | 422 | =head2 UDP and TCP | 421 | =head2 UDP and TCP |
1976 | 423 | 422 | ||
1978 | 424 | Asynchronous memslap supports both UDP and TCP. For TCP, asynchronous | 423 | Memslap supports both UDP and TCP. For TCP, |
1979 | 425 | memslap does not reconnect the memcached server if socket connections are | 424 | memslap does not reconnect the memcached server if socket connections are |
1980 | 426 | lost. If all the socket connections are lost or memcached server crashes, | 425 | lost. If all the socket connections are lost or memcached server crashes, |
1982 | 427 | asynchronous memslap will exit. If the user specifies the “--reconnect” | 426 | memslap will exit. If the user specifies the “--reconnect” |
1983 | 428 | option when socket connections are lost, it will reconnect them. | 427 | option when socket connections are lost, it will reconnect them. |
1984 | 429 | 428 | ||
1985 | 430 | User can use “--udp” to enable the UDP feature, but UDP comes with some | 429 | User can use “--udp” to enable the UDP feature, but UDP comes with some |
1986 | @@ -449,10 +448,10 @@ | |||
1987 | 449 | 448 | ||
1988 | 450 | For example: --facebook --division=50 --conn_sock=200 | 449 | For example: --facebook --division=50 --conn_sock=200 |
1989 | 451 | 450 | ||
1991 | 452 | The above command means that asynchronous memslap will do facebook test, | 451 | The above command means that memslap will do facebook test, |
1992 | 453 | each concurrency has 200 socket TCP connections and one UDP socket. | 452 | each concurrency has 200 socket TCP connections and one UDP socket. |
1993 | 454 | 453 | ||
1995 | 455 | Asynchronous memslap sets objects with the TCP socket, and multi-gets 50 | 454 | Memslap sets objects with the TCP socket, and multi-gets 50 |
1996 | 456 | objects once with the UDP socket. | 455 | objects once with the UDP socket. |
1997 | 457 | 456 | ||
1998 | 458 | If you specify "--division=50", the key size must be less that 25 bytes | 457 | If you specify "--division=50", the key size must be less that 25 bytes |
1999 | @@ -468,16 +467,16 @@ | |||
2000 | 468 | --servers=10.1.1.1:11211,10.1.1.2:11212 –rep_write=2 | 467 | --servers=10.1.1.1:11211,10.1.1.2:11212 –rep_write=2 |
2001 | 469 | 468 | ||
2002 | 470 | The above command means that there are 2 replication memcached servers, | 469 | The above command means that there are 2 replication memcached servers, |
2004 | 471 | asynchronous memslap will set objects to both server 0 and server 1, get | 470 | memslap will set objects to both server 0 and server 1, get |
2005 | 472 | objects which are set to server 0 before from server 1, and also get objects | 471 | objects which are set to server 0 before from server 1, and also get objects |
2006 | 473 | which are set to server 1 before from server 0. If server 0 crashes, | 472 | which are set to server 1 before from server 0. If server 0 crashes, |
2010 | 474 | asynchronous memslap will only get objects from server 1. If server 0 comes | 473 | memslap will only get objects from server 1. If server 0 comes |
2011 | 475 | back to life again, asynchronous memslap will reconnect server 0. If both | 474 | back to life again, memslap will reconnect server 0. If both |
2012 | 476 | server 0 and server 1 crash, asynchronous memslap will exit. | 475 | server 0 and server 1 crash, memslap will exit. |
2013 | 477 | 476 | ||
2014 | 478 | =head2 Supports thousands of TCP connections | 477 | =head2 Supports thousands of TCP connections |
2015 | 479 | 478 | ||
2017 | 480 | Start asynchronous memslap with "--conn_sock=" or "-n" to enable this | 479 | Start memslap with "--conn_sock=" or "-n" to enable this |
2018 | 481 | feature. Make sure that your system can support opening thousands of files | 480 | feature. Make sure that your system can support opening thousands of files |
2019 | 482 | and creating thousands of sockets. However, this feature does not support | 481 | and creating thousands of sockets. However, this feature does not support |
2020 | 483 | reconnection if sockets disconnect. | 482 | reconnection if sockets disconnect. |
2021 | @@ -486,14 +485,14 @@ | |||
2022 | 486 | 485 | ||
2023 | 487 | --threads=8 --concurrency=128 --conn_sock=128 | 486 | --threads=8 --concurrency=128 --conn_sock=128 |
2024 | 488 | 487 | ||
2026 | 489 | The above command means that asynchronous memslap starts up 8 threads, each | 488 | The above command means that memslap starts up 8 threads, each |
2027 | 490 | thread has 16 concurrencies, each concurrency has 128 TCP socket | 489 | thread has 16 concurrencies, each concurrency has 128 TCP socket |
2028 | 491 | connections, and the total number of TCP socket connections is 128 * 128 = | 490 | connections, and the total number of TCP socket connections is 128 * 128 = |
2029 | 492 | 16384. | 491 | 16384. |
2030 | 493 | 492 | ||
2031 | 494 | =head2 Supports binary protocol | 493 | =head2 Supports binary protocol |
2032 | 495 | 494 | ||
2034 | 496 | Start asynchronous memslap with "--binary" or "-B" options to enable this | 495 | Start memslap with "--binary" or "-B" options to enable this |
2035 | 497 | feature. It supports all the above features except UDP, because the latest | 496 | feature. It supports all the above features except UDP, because the latest |
2036 | 498 | memcached 1.3.3 does not implement binary UDP protocol. | 497 | memcached 1.3.3 does not implement binary UDP protocol. |
2037 | 499 | 498 | ||
2038 | @@ -501,7 +500,7 @@ | |||
2039 | 501 | 500 | ||
2040 | 502 | --binary | 501 | --binary |
2041 | 503 | 502 | ||
2043 | 504 | Since memcached 1.3.3 doesn't implement binary UDP protocol, asynchronous | 503 | Since memcached 1.3.3 doesn't implement binary UDP protocol, |
2044 | 505 | memslap does not support UDP. In addition, memcached 1.3.3 does not support | 504 | memslap does not support UDP. In addition, memcached 1.3.3 does not support |
2045 | 506 | multi-get. If you specify "--division=50" option, it just sends 50 get | 505 | multi-get. If you specify "--division=50" option, it just sends 50 get |
2046 | 507 | commands together as “mulit-get” to the server. | 506 | commands together as “mulit-get” to the server. |
2047 | @@ -520,7 +519,7 @@ | |||
2048 | 520 | #start_len must be equal to or greater than 16 | 519 | #start_len must be equal to or greater than 16 |
2049 | 521 | #end_len must be equal to or less than 250 | 520 | #end_len must be equal to or less than 250 |
2050 | 522 | #start_len must be equal to or greater than end_len | 521 | #start_len must be equal to or greater than end_len |
2052 | 523 | #asynchronous memslap will generate keys according to the key range | 522 | #memslap will generate keys according to the key range |
2053 | 524 | #proportion: indicates keys generated from one range accounts for the total | 523 | #proportion: indicates keys generated from one range accounts for the total |
2054 | 525 | generated keys | 524 | generated keys |
2055 | 526 | # | 525 | # |
2056 | @@ -545,7 +544,7 @@ | |||
2057 | 545 | #start_len must be equal to or greater than 1 | 544 | #start_len must be equal to or greater than 1 |
2058 | 546 | #end_len must be equal to or less than 1M | 545 | #end_len must be equal to or less than 1M |
2059 | 547 | #start_len must be equal to or greater than end_len | 546 | #start_len must be equal to or greater than end_len |
2061 | 548 | #asynchronous memslap will generate values according to the value range | 547 | #memslap will generate values according to the value range |
2062 | 549 | #proportion: indicates values generated from one range accounts for the | 548 | #proportion: indicates values generated from one range accounts for the |
2063 | 550 | total generated values | 549 | total generated values |
2064 | 551 | # | 550 | # |
2065 | @@ -566,7 +565,7 @@ | |||
2066 | 566 | #cmd | 565 | #cmd |
2067 | 567 | #cmd_type cmd_proportion | 566 | #cmd_type cmd_proportion |
2068 | 568 | # | 567 | # |
2070 | 569 | #currently asynchronous memslap only supports get and set command. | 568 | #currently memslap only supports get and set command. |
2071 | 570 | # | 569 | # |
2072 | 571 | #cmd_type | 570 | #cmd_type |
2073 | 572 | #set 0 | 571 | #set 0 |
2074 | @@ -587,7 +586,7 @@ | |||
2075 | 587 | 586 | ||
2076 | 588 | =head1 Format of output | 587 | =head1 Format of output |
2077 | 589 | 588 | ||
2079 | 590 | At the beginning, asynchronous memslap displays some configuration information as follows: | 589 | At the beginning, memslap displays some configuration information as follows: |
2080 | 591 | 590 | ||
2081 | 592 | =over 4 | 591 | =over 4 |
2082 | 593 | 592 | ||
2083 | @@ -605,21 +604,21 @@ | |||
2084 | 605 | 604 | ||
2085 | 606 | =back | 605 | =back |
2086 | 607 | 606 | ||
2088 | 608 | =head4 Where | 607 | =head2 Where |
2089 | 609 | 608 | ||
2090 | 610 | =over 4 | 609 | =over 4 |
2091 | 611 | 610 | ||
2092 | 612 | =item threads count | 611 | =item threads count |
2093 | 613 | 612 | ||
2095 | 614 | The number of threads asynchronous memslap runs with. | 613 | The number of threads memslap runs with. |
2096 | 615 | 614 | ||
2097 | 616 | =item concurrency | 615 | =item concurrency |
2098 | 617 | 616 | ||
2100 | 618 | The number of concurrencies asynchronous memslap runs with. | 617 | The number of concurrencies memslap runs with. |
2101 | 619 | 618 | ||
2102 | 620 | =item run time | 619 | =item run time |
2103 | 621 | 620 | ||
2105 | 622 | How long to run asynchronous memslap. | 621 | How long to run memslap. |
2106 | 623 | 622 | ||
2107 | 624 | =item windows size | 623 | =item windows size |
2108 | 625 | 624 | ||
2109 | @@ -665,7 +664,7 @@ | |||
2110 | 665 | 117.93 195.60 | 664 | 117.93 195.60 |
2111 | 666 | --------------------------------------------------------------------------------------------------------------------------------- | 665 | --------------------------------------------------------------------------------------------------------------------------------- |
2112 | 667 | 666 | ||
2114 | 668 | =head4 Where | 667 | =head2 Where |
2115 | 669 | 668 | ||
2116 | 670 | =over 4 | 669 | =over 4 |
2117 | 671 | 670 | ||
2118 | @@ -727,7 +726,7 @@ | |||
2119 | 727 | 726 | ||
2120 | 728 | =back | 727 | =back |
2121 | 729 | 728 | ||
2123 | 730 | At the end, asynchronous memslap will output something like this: | 729 | At the end, memslap will output something like this: |
2124 | 731 | 730 | ||
2125 | 732 | --------------------------------------------------------------------------------------------------------------------------------- | 731 | --------------------------------------------------------------------------------------------------------------------------------- |
2126 | 733 | Get Statistics (1257956 events) | 732 | Get Statistics (1257956 events) |
2127 | @@ -780,7 +779,7 @@ | |||
2128 | 780 | Run time: 20.0s Ops: 1397754 TPS: 69817 Net_rate: 59.4M/s | 779 | Run time: 20.0s Ops: 1397754 TPS: 69817 Net_rate: 59.4M/s |
2129 | 781 | --------------------------------------------------------------------------------------------------------------------------------- | 780 | --------------------------------------------------------------------------------------------------------------------------------- |
2130 | 782 | 781 | ||
2132 | 783 | =head4 Where | 782 | =head2 Where |
2133 | 784 | 783 | ||
2134 | 785 | =over 4 | 784 | =over 4 |
2135 | 786 | 785 | ||
2136 | @@ -984,8 +983,6 @@ | |||
2137 | 984 | =head1 HOME | 983 | =head1 HOME |
2138 | 985 | 984 | ||
2139 | 986 | To find out more information please check: | 985 | To find out more information please check: |
2140 | 987 | L<http://tangent.org/552/libmemcached.html> | ||
2141 | 988 | |||
2142 | 989 | L<http://launchpad.org/libmemcached> | 986 | L<http://launchpad.org/libmemcached> |
2143 | 990 | 987 | ||
2144 | 991 | =head1 AUTHORS | 988 | =head1 AUTHORS |
2145 | 992 | 989 | ||
2146 | === modified file 'docs/memstat.pod' | |||
2147 | --- docs/memstat.pod 2009-05-11 12:07:17 +0000 | |||
2148 | +++ docs/memstat.pod 2010-01-12 00:36:12 +0000 | |||
2149 | @@ -19,7 +19,7 @@ | |||
2150 | 19 | =head1 HOME | 19 | =head1 HOME |
2151 | 20 | 20 | ||
2152 | 21 | To find out more information please check: | 21 | To find out more information please check: |
2154 | 22 | L<http://tangent.org/552/libmemcached.html> | 22 | L<http://launchpad.org/libmemcached> |
2155 | 23 | 23 | ||
2156 | 24 | =head1 AUTHOR | 24 | =head1 AUTHOR |
2157 | 25 | 25 | ||
2158 | 26 | 26 | ||
2159 | === removed file 'libhashkit/Makefile.am' | |||
2160 | --- libhashkit/Makefile.am 2009-12-17 17:28:30 +0000 | |||
2161 | +++ libhashkit/Makefile.am 1970-01-01 00:00:00 +0000 | |||
2162 | @@ -1,45 +0,0 @@ | |||
2163 | 1 | # HashKit | ||
2164 | 2 | # Copyright (C) 2009 Brian Aker | ||
2165 | 3 | # All rights reserved. | ||
2166 | 4 | # | ||
2167 | 5 | # Use and distribution licensed under the BSD license. See | ||
2168 | 6 | # the COPYING file in the parent directory for full text. | ||
2169 | 7 | |||
2170 | 8 | lib_LTLIBRARIES= libhashkit.la | ||
2171 | 9 | |||
2172 | 10 | libhashkitincludedir= ${includedir}/libhashkit | ||
2173 | 11 | |||
2174 | 12 | dist_libhashkitinclude_HEADERS= \ | ||
2175 | 13 | algorithm.h \ | ||
2176 | 14 | behavior.h \ | ||
2177 | 15 | hashkit.h \ | ||
2178 | 16 | strerror.h \ | ||
2179 | 17 | types.h \ | ||
2180 | 18 | visibility.h | ||
2181 | 19 | |||
2182 | 20 | noinst_HEADERS= \ | ||
2183 | 21 | common.h | ||
2184 | 22 | |||
2185 | 23 | libhashkit_la_SOURCES= \ | ||
2186 | 24 | crc32.c \ | ||
2187 | 25 | behavior.c \ | ||
2188 | 26 | default.c \ | ||
2189 | 27 | fnv.c \ | ||
2190 | 28 | hashkit.c \ | ||
2191 | 29 | jenkins.c \ | ||
2192 | 30 | ketama.c \ | ||
2193 | 31 | md5.c \ | ||
2194 | 32 | murmur.c \ | ||
2195 | 33 | strerror.c | ||
2196 | 34 | |||
2197 | 35 | if INCLUDE_HSIEH_SRC | ||
2198 | 36 | libhashkit_la_SOURCES+= hsieh.c | ||
2199 | 37 | endif | ||
2200 | 38 | |||
2201 | 39 | libhashkit_la_CFLAGS= \ | ||
2202 | 40 | ${AM_CFLAGS} \ | ||
2203 | 41 | -DBUILDING_HASHKIT | ||
2204 | 42 | |||
2205 | 43 | libhashkit_la_LDFLAGS= \ | ||
2206 | 44 | $(LIBM) \ | ||
2207 | 45 | -version-info $(HASHKIT_LIBRARY_VERSION) | ||
2208 | 46 | 0 | ||
2209 | === modified file 'libhashkit/hsieh.c' | |||
2210 | --- libhashkit/hsieh.c 2009-12-17 17:28:30 +0000 | |||
2211 | +++ libhashkit/hsieh.c 2010-01-12 00:36:12 +0000 | |||
2212 | @@ -1,11 +1,11 @@ | |||
2213 | 1 | /* By Paul Hsieh (C) 2004, 2005. Covered under the Paul Hsieh | 1 | /* By Paul Hsieh (C) 2004, 2005. Covered under the Paul Hsieh |
2215 | 2 | * derivative license. | 2 | * derivative license. |
2216 | 3 | * See: http://www.azillionmonkeys.com/qed/weblicense.html for license | 3 | * See: http://www.azillionmonkeys.com/qed/weblicense.html for license |
2217 | 4 | * details. | 4 | * details. |
2218 | 5 | * http://www.azillionmonkeys.com/qed/hash.html | 5 | * http://www.azillionmonkeys.com/qed/hash.html |
2219 | 6 | */ | 6 | */ |
2220 | 7 | 7 | ||
2222 | 8 | #include "hash_common.h" | 8 | #include "common.h" |
2223 | 9 | 9 | ||
2224 | 10 | #undef get16bits | 10 | #undef get16bits |
2225 | 11 | #if (defined(__GNUC__) && defined(__i386__)) | 11 | #if (defined(__GNUC__) && defined(__i386__)) |
2226 | 12 | 12 | ||
2227 | === added file 'libhashkit/include.am' | |||
2228 | --- libhashkit/include.am 1970-01-01 00:00:00 +0000 | |||
2229 | +++ libhashkit/include.am 2010-01-12 00:36:12 +0000 | |||
2230 | @@ -0,0 +1,47 @@ | |||
2231 | 1 | # vim:ft=automake | ||
2232 | 2 | # included from Top Level Makefile.am | ||
2233 | 3 | # All paths should be given relative to the root | ||
2234 | 4 | # | ||
2235 | 5 | # HashKit | ||
2236 | 6 | # Copyright (C) 2009 Brian Aker | ||
2237 | 7 | # All rights reserved. | ||
2238 | 8 | # | ||
2239 | 9 | # Use and distribution licensed under the BSD license. See | ||
2240 | 10 | # the COPYING file in the parent directory for full text. | ||
2241 | 11 | |||
2242 | 12 | lib_LTLIBRARIES+= libhashkit/libhashkit.la | ||
2243 | 13 | |||
2244 | 14 | nobase_include_HEADERS+= \ | ||
2245 | 15 | libhashkit/algorithm.h \ | ||
2246 | 16 | libhashkit/behavior.h \ | ||
2247 | 17 | libhashkit/hashkit.h \ | ||
2248 | 18 | libhashkit/strerror.h \ | ||
2249 | 19 | libhashkit/types.h \ | ||
2250 | 20 | libhashkit/visibility.h | ||
2251 | 21 | |||
2252 | 22 | noinst_HEADERS+= \ | ||
2253 | 23 | libhashkit/common.h | ||
2254 | 24 | |||
2255 | 25 | libhashkit_libhashkit_la_SOURCES= \ | ||
2256 | 26 | libhashkit/crc32.c \ | ||
2257 | 27 | libhashkit/behavior.c \ | ||
2258 | 28 | libhashkit/default.c \ | ||
2259 | 29 | libhashkit/fnv.c \ | ||
2260 | 30 | libhashkit/hashkit.c \ | ||
2261 | 31 | libhashkit/jenkins.c \ | ||
2262 | 32 | libhashkit/ketama.c \ | ||
2263 | 33 | libhashkit/md5.c \ | ||
2264 | 34 | libhashkit/murmur.c \ | ||
2265 | 35 | libhashkit/strerror.c | ||
2266 | 36 | |||
2267 | 37 | if INCLUDE_HSIEH_SRC | ||
2268 | 38 | libhashkit_libhashkit_la_SOURCES+= libhashkit/hsieh.c | ||
2269 | 39 | endif | ||
2270 | 40 | |||
2271 | 41 | libhashkit_libhashkit_la_CFLAGS= \ | ||
2272 | 42 | ${AM_CFLAGS} \ | ||
2273 | 43 | -DBUILDING_HASHKIT | ||
2274 | 44 | |||
2275 | 45 | libhashkit_libhashkit_la_LDFLAGS= \ | ||
2276 | 46 | $(LIBM) \ | ||
2277 | 47 | -version-info $(HASHKIT_LIBRARY_VERSION) | ||
2278 | 0 | 48 | ||
2279 | === modified file 'libmemcached/analyze.c' | |||
2280 | --- libmemcached/analyze.c 2010-01-03 01:24:11 +0000 | |||
2281 | +++ libmemcached/analyze.c 2010-01-12 00:36:12 +0000 | |||
2282 | @@ -70,7 +70,7 @@ | |||
2283 | 70 | 70 | ||
2284 | 71 | *error= MEMCACHED_SUCCESS; | 71 | *error= MEMCACHED_SUCCESS; |
2285 | 72 | server_count= memcached_server_count(memc); | 72 | server_count= memcached_server_count(memc); |
2287 | 73 | result= (memcached_analysis_st*)calloc(memc->number_of_hosts, | 73 | result= (memcached_analysis_st*)calloc(memcached_server_count(memc), |
2288 | 74 | sizeof(memcached_analysis_st)); | 74 | sizeof(memcached_analysis_st)); |
2289 | 75 | 75 | ||
2290 | 76 | if (!result) | 76 | if (!result) |
2291 | 77 | 77 | ||
2292 | === modified file 'libmemcached/auto.c' | |||
2293 | --- libmemcached/auto.c 2009-12-16 23:01:10 +0000 | |||
2294 | +++ libmemcached/auto.c 2010-01-12 00:36:12 +0000 | |||
2295 | @@ -24,7 +24,7 @@ | |||
2296 | 24 | unsigned int server_key; | 24 | unsigned int server_key; |
2297 | 25 | bool no_reply= ptr->flags.no_reply; | 25 | bool no_reply= ptr->flags.no_reply; |
2298 | 26 | 26 | ||
2300 | 27 | unlikely (ptr->hosts == NULL || ptr->number_of_hosts == 0) | 27 | unlikely (ptr->hosts == NULL || memcached_server_count(ptr) == 0) |
2301 | 28 | return MEMCACHED_NO_SERVERS; | 28 | return MEMCACHED_NO_SERVERS; |
2302 | 29 | 29 | ||
2303 | 30 | if (ptr->flags.verify_key && (memcached_key_test((const char **)&key, &key_length, 1) == MEMCACHED_BAD_KEY_PROVIDED)) | 30 | if (ptr->flags.verify_key && (memcached_key_test((const char **)&key, &key_length, 1) == MEMCACHED_BAD_KEY_PROVIDED)) |
2304 | @@ -82,7 +82,7 @@ | |||
2305 | 82 | unsigned int server_key; | 82 | unsigned int server_key; |
2306 | 83 | bool no_reply= ptr->flags.no_reply; | 83 | bool no_reply= ptr->flags.no_reply; |
2307 | 84 | 84 | ||
2309 | 85 | unlikely (ptr->hosts == NULL || ptr->number_of_hosts == 0) | 85 | unlikely (ptr->hosts == NULL || memcached_server_count(ptr) == 0) |
2310 | 86 | return MEMCACHED_NO_SERVERS; | 86 | return MEMCACHED_NO_SERVERS; |
2311 | 87 | 87 | ||
2312 | 88 | server_key= memcached_generate_hash(ptr, master_key, master_key_length); | 88 | server_key= memcached_generate_hash(ptr, master_key, master_key_length); |
2313 | 89 | 89 | ||
2314 | === modified file 'libmemcached/behavior.c' | |||
2315 | --- libmemcached/behavior.c 2009-12-17 07:31:42 +0000 | |||
2316 | +++ libmemcached/behavior.c 2010-01-12 00:36:12 +0000 | |||
2317 | @@ -90,7 +90,7 @@ | |||
2318 | 90 | memcached_quit(ptr); | 90 | memcached_quit(ptr); |
2319 | 91 | break; | 91 | break; |
2320 | 92 | case MEMCACHED_BEHAVIOR_USE_UDP: | 92 | case MEMCACHED_BEHAVIOR_USE_UDP: |
2322 | 93 | if (ptr->number_of_hosts) | 93 | if (memcached_server_count(ptr)) |
2323 | 94 | { | 94 | { |
2324 | 95 | return MEMCACHED_FAILURE; | 95 | return MEMCACHED_FAILURE; |
2325 | 96 | } | 96 | } |
2326 | 97 | 97 | ||
2327 | === renamed file 'libmemcached/memcached_configure.h.in' => 'libmemcached/configure.h.in' | |||
2328 | --- libmemcached/memcached_configure.h.in 2009-12-02 22:04:02 +0000 | |||
2329 | +++ libmemcached/configure.h.in 2010-01-12 00:36:12 +0000 | |||
2330 | @@ -1,9 +1,12 @@ | |||
2337 | 1 | /* | 1 | /* LibMemcached |
2338 | 2 | * Summary: Preprocessor symbols set from configure we need install-time | 2 | * Copyright (C) 2006-2009 Brian Aker, Trond Norbye |
2339 | 3 | * | 3 | * All rights reserved. |
2340 | 4 | * Copy: See Copyright for the status of this software. | 4 | * |
2341 | 5 | * | 5 | * Use and distribution licensed under the BSD license. See |
2342 | 6 | * Author: Trond Norbye | 6 | * the COPYING file in the parent directory for full text. |
2343 | 7 | * | ||
2344 | 8 | * Summary: Change the behavior of the memcached connection. | ||
2345 | 9 | * | ||
2346 | 7 | */ | 10 | */ |
2347 | 8 | 11 | ||
2348 | 9 | #ifndef MEMCACHED_CONFIGURE_H | 12 | #ifndef MEMCACHED_CONFIGURE_H |
2349 | 10 | 13 | ||
2350 | === modified file 'libmemcached/delete.c' | |||
2351 | --- libmemcached/delete.c 2009-12-18 12:07:20 +0000 | |||
2352 | +++ libmemcached/delete.c 2010-01-12 00:36:12 +0000 | |||
2353 | @@ -32,7 +32,7 @@ | |||
2354 | 32 | unlikely (rc != MEMCACHED_SUCCESS) | 32 | unlikely (rc != MEMCACHED_SUCCESS) |
2355 | 33 | return rc; | 33 | return rc; |
2356 | 34 | 34 | ||
2358 | 35 | unlikely (ptr->hosts == NULL || ptr->number_of_hosts == 0) | 35 | unlikely (ptr->hosts == NULL || memcached_server_count(ptr) == 0) |
2359 | 36 | return MEMCACHED_NO_SERVERS; | 36 | return MEMCACHED_NO_SERVERS; |
2360 | 37 | 37 | ||
2361 | 38 | server_key= memcached_generate_hash(ptr, master_key, master_key_length); | 38 | server_key= memcached_generate_hash(ptr, master_key, master_key_length); |
2362 | @@ -176,7 +176,7 @@ | |||
2363 | 176 | for (uint32_t x= 0; x < ptr->number_of_replicas; ++x) | 176 | for (uint32_t x= 0; x < ptr->number_of_replicas; ++x) |
2364 | 177 | { | 177 | { |
2365 | 178 | ++server_key; | 178 | ++server_key; |
2367 | 179 | if (server_key == ptr->number_of_hosts) | 179 | if (server_key == memcached_server_count(ptr)) |
2368 | 180 | server_key= 0; | 180 | server_key= 0; |
2369 | 181 | 181 | ||
2370 | 182 | memcached_server_st* server= &ptr->hosts[server_key]; | 182 | memcached_server_st* server= &ptr->hosts[server_key]; |
2371 | 183 | 183 | ||
2372 | === modified file 'libmemcached/dump.c' | |||
2373 | --- libmemcached/dump.c 2009-12-17 23:46:32 +0000 | |||
2374 | +++ libmemcached/dump.c 2010-01-12 00:36:12 +0000 | |||
2375 | @@ -15,10 +15,10 @@ | |||
2376 | 15 | uint32_t server_key; | 15 | uint32_t server_key; |
2377 | 16 | uint32_t x; | 16 | uint32_t x; |
2378 | 17 | 17 | ||
2380 | 18 | unlikely (ptr->number_of_hosts == 0) | 18 | unlikely (memcached_server_count(ptr) == 0) |
2381 | 19 | return MEMCACHED_NO_SERVERS; | 19 | return MEMCACHED_NO_SERVERS; |
2382 | 20 | 20 | ||
2384 | 21 | for (server_key= 0; server_key < ptr->number_of_hosts; server_key++) | 21 | for (server_key= 0; server_key < memcached_server_count(ptr); server_key++) |
2385 | 22 | { | 22 | { |
2386 | 23 | /* 256 I BELIEVE is the upper limit of slabs */ | 23 | /* 256 I BELIEVE is the upper limit of slabs */ |
2387 | 24 | for (x= 0; x < 256; x++) | 24 | for (x= 0; x < 256; x++) |
2388 | 25 | 25 | ||
2389 | === modified file 'libmemcached/flush.c' | |||
2390 | --- libmemcached/flush.c 2009-12-16 23:01:10 +0000 | |||
2391 | +++ libmemcached/flush.c 2010-01-12 00:36:12 +0000 | |||
2392 | @@ -26,10 +26,10 @@ | |||
2393 | 26 | memcached_return_t rc; | 26 | memcached_return_t rc; |
2394 | 27 | char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE]; | 27 | char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE]; |
2395 | 28 | 28 | ||
2397 | 29 | unlikely (ptr->number_of_hosts == 0) | 29 | unlikely (memcached_server_count(ptr) == 0) |
2398 | 30 | return MEMCACHED_NO_SERVERS; | 30 | return MEMCACHED_NO_SERVERS; |
2399 | 31 | 31 | ||
2401 | 32 | for (x= 0; x < ptr->number_of_hosts; x++) | 32 | for (x= 0; x < memcached_server_count(ptr); x++) |
2402 | 33 | { | 33 | { |
2403 | 34 | bool no_reply= ptr->flags.no_reply; | 34 | bool no_reply= ptr->flags.no_reply; |
2404 | 35 | 35 | ||
2405 | @@ -56,7 +56,7 @@ | |||
2406 | 56 | unsigned int x; | 56 | unsigned int x; |
2407 | 57 | protocol_binary_request_flush request= {.bytes= {0}}; | 57 | protocol_binary_request_flush request= {.bytes= {0}}; |
2408 | 58 | 58 | ||
2410 | 59 | unlikely (ptr->number_of_hosts == 0) | 59 | unlikely (memcached_server_count(ptr) == 0) |
2411 | 60 | return MEMCACHED_NO_SERVERS; | 60 | return MEMCACHED_NO_SERVERS; |
2412 | 61 | 61 | ||
2413 | 62 | request.message.header.request.magic= (uint8_t)PROTOCOL_BINARY_REQ; | 62 | request.message.header.request.magic= (uint8_t)PROTOCOL_BINARY_REQ; |
2414 | @@ -66,7 +66,7 @@ | |||
2415 | 66 | request.message.header.request.bodylen= htonl(request.message.header.request.extlen); | 66 | request.message.header.request.bodylen= htonl(request.message.header.request.extlen); |
2416 | 67 | request.message.body.expiration= htonl((uint32_t) expiration); | 67 | request.message.body.expiration= htonl((uint32_t) expiration); |
2417 | 68 | 68 | ||
2419 | 69 | for (x= 0; x < ptr->number_of_hosts; x++) | 69 | for (x= 0; x < memcached_server_count(ptr); x++) |
2420 | 70 | { | 70 | { |
2421 | 71 | if (ptr->flags.no_reply) | 71 | if (ptr->flags.no_reply) |
2422 | 72 | request.message.header.request.opcode= PROTOCOL_BINARY_CMD_FLUSHQ; | 72 | request.message.header.request.opcode= PROTOCOL_BINARY_CMD_FLUSHQ; |
2423 | @@ -80,7 +80,7 @@ | |||
2424 | 80 | } | 80 | } |
2425 | 81 | } | 81 | } |
2426 | 82 | 82 | ||
2428 | 83 | for (x= 0; x < ptr->number_of_hosts; x++) | 83 | for (x= 0; x < memcached_server_count(ptr); x++) |
2429 | 84 | { | 84 | { |
2430 | 85 | if (memcached_server_response_count(&ptr->hosts[x]) > 0) | 85 | if (memcached_server_response_count(&ptr->hosts[x]) > 0) |
2431 | 86 | (void)memcached_response(&ptr->hosts[x], NULL, 0, NULL); | 86 | (void)memcached_response(&ptr->hosts[x], NULL, 0, NULL); |
2432 | 87 | 87 | ||
2433 | === modified file 'libmemcached/flush_buffers.c' | |||
2434 | --- libmemcached/flush_buffers.c 2009-12-16 23:01:10 +0000 | |||
2435 | +++ libmemcached/flush_buffers.c 2010-01-12 00:36:12 +0000 | |||
2436 | @@ -1,19 +1,19 @@ | |||
2437 | 1 | #include "common.h" | 1 | #include "common.h" |
2438 | 2 | 2 | ||
2440 | 3 | memcached_return_t memcached_flush_buffers(memcached_st *mem) | 3 | memcached_return_t memcached_flush_buffers(memcached_st *memc) |
2441 | 4 | { | 4 | { |
2442 | 5 | memcached_return_t ret= MEMCACHED_SUCCESS; | 5 | memcached_return_t ret= MEMCACHED_SUCCESS; |
2443 | 6 | 6 | ||
2446 | 7 | for (uint32_t x= 0; x < mem->number_of_hosts; ++x) | 7 | for (uint32_t x= 0; x < memcached_server_count(memc); ++x) |
2447 | 8 | if (mem->hosts[x].write_buffer_offset != 0) | 8 | if (memc->hosts[x].write_buffer_offset != 0) |
2448 | 9 | { | 9 | { |
2451 | 10 | if (mem->hosts[x].fd == -1 && | 10 | if (memc->hosts[x].fd == -1 && |
2452 | 11 | (ret= memcached_connect(&mem->hosts[x])) != MEMCACHED_SUCCESS) | 11 | (ret= memcached_connect(&memc->hosts[x])) != MEMCACHED_SUCCESS) |
2453 | 12 | { | 12 | { |
2454 | 13 | WATCHPOINT_ERROR(ret); | 13 | WATCHPOINT_ERROR(ret); |
2455 | 14 | return ret; | 14 | return ret; |
2456 | 15 | } | 15 | } |
2458 | 16 | if (memcached_io_write(&mem->hosts[x], NULL, 0, 1) == -1) | 16 | if (memcached_io_write(&memc->hosts[x], NULL, 0, 1) == -1) |
2459 | 17 | ret= MEMCACHED_SOME_ERRORS; | 17 | ret= MEMCACHED_SOME_ERRORS; |
2460 | 18 | } | 18 | } |
2461 | 19 | 19 | ||
2462 | 20 | 20 | ||
2463 | === modified file 'libmemcached/get.c' | |||
2464 | --- libmemcached/get.c 2009-12-17 08:03:27 +0000 | |||
2465 | +++ libmemcached/get.c 2010-01-12 00:36:12 +0000 | |||
2466 | @@ -155,12 +155,11 @@ | |||
2467 | 155 | return MEMCACHED_NOT_SUPPORTED; | 155 | return MEMCACHED_NOT_SUPPORTED; |
2468 | 156 | 156 | ||
2469 | 157 | LIBMEMCACHED_MEMCACHED_MGET_START(); | 157 | LIBMEMCACHED_MEMCACHED_MGET_START(); |
2470 | 158 | ptr->cursor_server= 0; | ||
2471 | 159 | 158 | ||
2472 | 160 | if (number_of_keys == 0) | 159 | if (number_of_keys == 0) |
2473 | 161 | return MEMCACHED_NOTFOUND; | 160 | return MEMCACHED_NOTFOUND; |
2474 | 162 | 161 | ||
2476 | 163 | if (ptr->number_of_hosts == 0) | 162 | if (memcached_server_count(ptr) == 0) |
2477 | 164 | return MEMCACHED_NO_SERVERS; | 163 | return MEMCACHED_NO_SERVERS; |
2478 | 165 | 164 | ||
2479 | 166 | if (ptr->flags.verify_key && (memcached_key_test(keys, key_length, number_of_keys) == MEMCACHED_BAD_KEY_PROVIDED)) | 165 | if (ptr->flags.verify_key && (memcached_key_test(keys, key_length, number_of_keys) == MEMCACHED_BAD_KEY_PROVIDED)) |
2480 | @@ -180,7 +179,7 @@ | |||
2481 | 180 | 179 | ||
2482 | 181 | It might be optimum to bounce the connection if count > some number. | 180 | It might be optimum to bounce the connection if count > some number. |
2483 | 182 | */ | 181 | */ |
2485 | 183 | for (x= 0; x < ptr->number_of_hosts; x++) | 182 | for (x= 0; x < memcached_server_count(ptr); x++) |
2486 | 184 | { | 183 | { |
2487 | 185 | if (memcached_server_response_count(&ptr->hosts[x])) | 184 | if (memcached_server_response_count(&ptr->hosts[x])) |
2488 | 186 | { | 185 | { |
2489 | @@ -263,7 +262,7 @@ | |||
2490 | 263 | /* | 262 | /* |
2491 | 264 | Should we muddle on if some servers are dead? | 263 | Should we muddle on if some servers are dead? |
2492 | 265 | */ | 264 | */ |
2494 | 266 | for (x= 0; x < ptr->number_of_hosts; x++) | 265 | for (x= 0; x < memcached_server_count(ptr); x++) |
2495 | 267 | { | 266 | { |
2496 | 268 | if (memcached_server_response_count(&ptr->hosts[x])) | 267 | if (memcached_server_response_count(&ptr->hosts[x])) |
2497 | 269 | { | 268 | { |
2498 | @@ -412,7 +411,7 @@ | |||
2499 | 412 | request.message.header.request.opcode= PROTOCOL_BINARY_CMD_NOOP; | 411 | request.message.header.request.opcode= PROTOCOL_BINARY_CMD_NOOP; |
2500 | 413 | request.message.header.request.datatype= PROTOCOL_BINARY_RAW_BYTES; | 412 | request.message.header.request.datatype= PROTOCOL_BINARY_RAW_BYTES; |
2501 | 414 | 413 | ||
2503 | 415 | for (x= 0; x < ptr->number_of_hosts; x++) | 414 | for (x= 0; x < memcached_server_count(ptr); x++) |
2504 | 416 | if (memcached_server_response_count(&ptr->hosts[x])) | 415 | if (memcached_server_response_count(&ptr->hosts[x])) |
2505 | 417 | { | 416 | { |
2506 | 418 | if (memcached_io_write(&ptr->hosts[x], NULL, 0, 1) == -1) | 417 | if (memcached_io_write(&ptr->hosts[x], NULL, 0, 1) == -1) |
2507 | @@ -457,7 +456,7 @@ | |||
2508 | 457 | 456 | ||
2509 | 458 | for (x= 0; x < number_of_keys; ++x) | 457 | for (x= 0; x < number_of_keys; ++x) |
2510 | 459 | { | 458 | { |
2512 | 460 | if (hash[x] == ptr->number_of_hosts) | 459 | if (hash[x] == memcached_server_count(ptr)) |
2513 | 461 | continue; /* Already successfully sent */ | 460 | continue; /* Already successfully sent */ |
2514 | 462 | 461 | ||
2515 | 463 | uint32_t server= hash[x] + replica; | 462 | uint32_t server= hash[x] + replica; |
2516 | @@ -466,8 +465,8 @@ | |||
2517 | 466 | if (randomize_read && ((server + start) <= (hash[x] + ptr->number_of_replicas))) | 465 | if (randomize_read && ((server + start) <= (hash[x] + ptr->number_of_replicas))) |
2518 | 467 | server += start; | 466 | server += start; |
2519 | 468 | 467 | ||
2522 | 469 | while (server >= ptr->number_of_hosts) | 468 | while (server >= memcached_server_count(ptr)) |
2523 | 470 | server -= ptr->number_of_hosts; | 469 | server -= memcached_server_count(ptr); |
2524 | 471 | 470 | ||
2525 | 472 | if (dead_servers[server]) | 471 | if (dead_servers[server]) |
2526 | 473 | continue; | 472 | continue; |
2527 | @@ -516,7 +515,7 @@ | |||
2528 | 516 | } | 515 | } |
2529 | 517 | 516 | ||
2530 | 518 | memcached_server_response_increment(&ptr->hosts[server]); | 517 | memcached_server_response_increment(&ptr->hosts[server]); |
2532 | 519 | hash[x]= ptr->number_of_hosts; | 518 | hash[x]= memcached_server_count(ptr); |
2533 | 520 | } | 519 | } |
2534 | 521 | 520 | ||
2535 | 522 | if (success) | 521 | if (success) |
2536 | @@ -547,7 +546,7 @@ | |||
2537 | 547 | bool* dead_servers; | 546 | bool* dead_servers; |
2538 | 548 | 547 | ||
2539 | 549 | hash= ptr->call_malloc(ptr, sizeof(uint32_t) * number_of_keys); | 548 | hash= ptr->call_malloc(ptr, sizeof(uint32_t) * number_of_keys); |
2541 | 550 | dead_servers= ptr->call_calloc(ptr, ptr->number_of_hosts, sizeof(bool)); | 549 | dead_servers= ptr->call_calloc(ptr, memcached_server_count(ptr), sizeof(bool)); |
2542 | 551 | 550 | ||
2543 | 552 | if (hash == NULL || dead_servers == NULL) | 551 | if (hash == NULL || dead_servers == NULL) |
2544 | 553 | { | 552 | { |
2545 | 554 | 553 | ||
2546 | === modified file 'libmemcached/hash.c' | |||
2547 | --- libmemcached/hash.c 2009-12-17 07:20:58 +0000 | |||
2548 | +++ libmemcached/hash.c 2010-01-12 00:36:12 +0000 | |||
2549 | @@ -111,9 +111,9 @@ | |||
2550 | 111 | uint32_t hash= 1; /* Just here to remove compile warning */ | 111 | uint32_t hash= 1; /* Just here to remove compile warning */ |
2551 | 112 | 112 | ||
2552 | 113 | 113 | ||
2554 | 114 | WATCHPOINT_ASSERT(ptr->number_of_hosts); | 114 | WATCHPOINT_ASSERT(memcached_server_count(ptr)); |
2555 | 115 | 115 | ||
2557 | 116 | if (ptr->number_of_hosts == 1) | 116 | if (memcached_server_count(ptr) == 1) |
2558 | 117 | return 0; | 117 | return 0; |
2559 | 118 | 118 | ||
2560 | 119 | hash= memcached_generate_hash_value(key, key_length, ptr->hash); | 119 | hash= memcached_generate_hash_value(key, key_length, ptr->hash); |
2561 | @@ -150,13 +150,13 @@ | |||
2562 | 150 | return right->index; | 150 | return right->index; |
2563 | 151 | } | 151 | } |
2564 | 152 | case MEMCACHED_DISTRIBUTION_MODULA: | 152 | case MEMCACHED_DISTRIBUTION_MODULA: |
2566 | 153 | return hash % ptr->number_of_hosts; | 153 | return hash % memcached_server_count(ptr); |
2567 | 154 | case MEMCACHED_DISTRIBUTION_RANDOM: | 154 | case MEMCACHED_DISTRIBUTION_RANDOM: |
2569 | 155 | return (uint32_t) random() % ptr->number_of_hosts; | 155 | return (uint32_t) random() % memcached_server_count(ptr); |
2570 | 156 | case MEMCACHED_DISTRIBUTION_CONSISTENT_MAX: | 156 | case MEMCACHED_DISTRIBUTION_CONSISTENT_MAX: |
2571 | 157 | default: | 157 | default: |
2572 | 158 | WATCHPOINT_ASSERT(0); /* We have added a distribution without extending the logic */ | 158 | WATCHPOINT_ASSERT(0); /* We have added a distribution without extending the logic */ |
2574 | 159 | return hash % ptr->number_of_hosts; | 159 | return hash % memcached_server_count(ptr); |
2575 | 160 | } | 160 | } |
2576 | 161 | /* NOTREACHED */ | 161 | /* NOTREACHED */ |
2577 | 162 | } | 162 | } |
2578 | @@ -169,9 +169,9 @@ | |||
2579 | 169 | { | 169 | { |
2580 | 170 | uint32_t hash= 1; /* Just here to remove compile warning */ | 170 | uint32_t hash= 1; /* Just here to remove compile warning */ |
2581 | 171 | 171 | ||
2583 | 172 | WATCHPOINT_ASSERT(ptr->number_of_hosts); | 172 | WATCHPOINT_ASSERT(memcached_server_count(ptr)); |
2584 | 173 | 173 | ||
2586 | 174 | if (ptr->number_of_hosts == 1) | 174 | if (memcached_server_count(ptr) == 1) |
2587 | 175 | return 0; | 175 | return 0; |
2588 | 176 | 176 | ||
2589 | 177 | if (ptr->flags.hash_with_prefix_key) | 177 | if (ptr->flags.hash_with_prefix_key) |
2590 | 178 | 178 | ||
2591 | === modified file 'libmemcached/hosts.c' | |||
2592 | --- libmemcached/hosts.c 2010-01-03 01:07:52 +0000 | |||
2593 | +++ libmemcached/hosts.c 2010-01-12 00:36:12 +0000 | |||
2594 | @@ -26,10 +26,10 @@ | |||
2595 | 26 | 26 | ||
2596 | 27 | static void sort_hosts(memcached_st *ptr) | 27 | static void sort_hosts(memcached_st *ptr) |
2597 | 28 | { | 28 | { |
2599 | 29 | if (ptr->number_of_hosts) | 29 | if (memcached_server_count(ptr)) |
2600 | 30 | { | 30 | { |
2603 | 31 | qsort(ptr->hosts, ptr->number_of_hosts, sizeof(memcached_server_st), compare_servers); | 31 | qsort(ptr->hosts, memcached_server_count(ptr), sizeof(memcached_server_st), compare_servers); |
2604 | 32 | ptr->hosts[0].count= (uint16_t) ptr->number_of_hosts; | 32 | ptr->hosts[0].number_of_hosts= memcached_server_count(ptr); |
2605 | 33 | } | 33 | } |
2606 | 34 | } | 34 | } |
2607 | 35 | 35 | ||
2608 | @@ -60,26 +60,6 @@ | |||
2609 | 60 | return MEMCACHED_SUCCESS; | 60 | return MEMCACHED_SUCCESS; |
2610 | 61 | } | 61 | } |
2611 | 62 | 62 | ||
2612 | 63 | void server_list_free(memcached_st *ptr, memcached_server_st *servers) | ||
2613 | 64 | { | ||
2614 | 65 | unsigned int x; | ||
2615 | 66 | |||
2616 | 67 | if (servers == NULL) | ||
2617 | 68 | return; | ||
2618 | 69 | |||
2619 | 70 | for (x= 0; x < servers->count; x++) | ||
2620 | 71 | if (servers[x].address_info) | ||
2621 | 72 | { | ||
2622 | 73 | freeaddrinfo(servers[x].address_info); | ||
2623 | 74 | servers[x].address_info= NULL; | ||
2624 | 75 | } | ||
2625 | 76 | |||
2626 | 77 | if (ptr) | ||
2627 | 78 | ptr->call_free(ptr, servers); | ||
2628 | 79 | else | ||
2629 | 80 | free(servers); | ||
2630 | 81 | } | ||
2631 | 82 | |||
2632 | 83 | static uint32_t ketama_server_hash(const char *key, unsigned int key_length, int alignment) | 63 | static uint32_t ketama_server_hash(const char *key, unsigned int key_length, int alignment) |
2633 | 84 | { | 64 | { |
2634 | 85 | unsigned char results[16]; | 65 | unsigned char results[16]; |
2635 | @@ -137,7 +117,7 @@ | |||
2636 | 137 | { | 117 | { |
2637 | 138 | live_servers= 0; | 118 | live_servers= 0; |
2638 | 139 | ptr->next_distribution_rebuild= 0; | 119 | ptr->next_distribution_rebuild= 0; |
2640 | 140 | for (host_index= 0; host_index < ptr->number_of_hosts; ++host_index) | 120 | for (host_index= 0; host_index < memcached_server_count(ptr); ++host_index) |
2641 | 141 | { | 121 | { |
2642 | 142 | if (list[host_index].next_retry <= now.tv_sec) | 122 | if (list[host_index].next_retry <= now.tv_sec) |
2643 | 143 | live_servers++; | 123 | live_servers++; |
2644 | @@ -149,7 +129,9 @@ | |||
2645 | 149 | } | 129 | } |
2646 | 150 | } | 130 | } |
2647 | 151 | else | 131 | else |
2649 | 152 | live_servers= ptr->number_of_hosts; | 132 | { |
2650 | 133 | live_servers= memcached_server_count(ptr); | ||
2651 | 134 | } | ||
2652 | 153 | 135 | ||
2653 | 154 | is_ketama_weighted= memcached_behavior_get(ptr, MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED); | 136 | is_ketama_weighted= memcached_behavior_get(ptr, MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED); |
2654 | 155 | points_per_server= (uint32_t) (is_ketama_weighted ? MEMCACHED_POINTS_PER_SERVER_KETAMA : MEMCACHED_POINTS_PER_SERVER); | 137 | points_per_server= (uint32_t) (is_ketama_weighted ? MEMCACHED_POINTS_PER_SERVER_KETAMA : MEMCACHED_POINTS_PER_SERVER); |
2655 | @@ -173,7 +155,7 @@ | |||
2656 | 173 | 155 | ||
2657 | 174 | if (is_ketama_weighted) | 156 | if (is_ketama_weighted) |
2658 | 175 | { | 157 | { |
2660 | 176 | for (host_index = 0; host_index < ptr->number_of_hosts; ++host_index) | 158 | for (host_index = 0; host_index < memcached_server_count(ptr); ++host_index) |
2661 | 177 | { | 159 | { |
2662 | 178 | if (list[host_index].weight == 0) | 160 | if (list[host_index].weight == 0) |
2663 | 179 | { | 161 | { |
2664 | @@ -184,7 +166,7 @@ | |||
2665 | 184 | } | 166 | } |
2666 | 185 | } | 167 | } |
2667 | 186 | 168 | ||
2669 | 187 | for (host_index = 0; host_index < ptr->number_of_hosts; ++host_index) | 169 | for (host_index = 0; host_index < memcached_server_count(ptr); ++host_index) |
2670 | 188 | { | 170 | { |
2671 | 189 | if (is_auto_ejecting && list[host_index].next_retry > now.tv_sec) | 171 | if (is_auto_ejecting && list[host_index].next_retry > now.tv_sec) |
2672 | 190 | continue; | 172 | continue; |
2673 | @@ -295,12 +277,12 @@ | |||
2674 | 295 | 277 | ||
2675 | 296 | WATCHPOINT_ASSERT(ptr); | 278 | WATCHPOINT_ASSERT(ptr); |
2676 | 297 | WATCHPOINT_ASSERT(ptr->continuum); | 279 | WATCHPOINT_ASSERT(ptr->continuum); |
2678 | 298 | WATCHPOINT_ASSERT(ptr->number_of_hosts * MEMCACHED_POINTS_PER_SERVER <= MEMCACHED_CONTINUUM_SIZE); | 280 | WATCHPOINT_ASSERT(memcached_server_count(ptr) * MEMCACHED_POINTS_PER_SERVER <= MEMCACHED_CONTINUUM_SIZE); |
2679 | 299 | ptr->continuum_points_counter= pointer_counter; | 281 | ptr->continuum_points_counter= pointer_counter; |
2680 | 300 | qsort(ptr->continuum, ptr->continuum_points_counter, sizeof(memcached_continuum_item_st), continuum_item_cmp); | 282 | qsort(ptr->continuum, ptr->continuum_points_counter, sizeof(memcached_continuum_item_st), continuum_item_cmp); |
2681 | 301 | 283 | ||
2682 | 302 | #ifdef DEBUG | 284 | #ifdef DEBUG |
2684 | 303 | for (pointer_index= 0; ptr->number_of_hosts && pointer_index < ((live_servers * MEMCACHED_POINTS_PER_SERVER) - 1); pointer_index++) | 285 | for (pointer_index= 0; memcached_server_count(ptr) && pointer_index < ((live_servers * MEMCACHED_POINTS_PER_SERVER) - 1); pointer_index++) |
2685 | 304 | { | 286 | { |
2686 | 305 | WATCHPOINT_ASSERT(ptr->continuum[pointer_index].value <= ptr->continuum[pointer_index + 1].value); | 287 | WATCHPOINT_ASSERT(ptr->continuum[pointer_index].value <= ptr->continuum[pointer_index + 1].value); |
2687 | 306 | } | 288 | } |
2688 | @@ -319,9 +301,9 @@ | |||
2689 | 319 | if (!list) | 301 | if (!list) |
2690 | 320 | return MEMCACHED_SUCCESS; | 302 | return MEMCACHED_SUCCESS; |
2691 | 321 | 303 | ||
2693 | 322 | count= list[0].count; | 304 | count= memcached_servers_count(list); |
2694 | 323 | new_host_list= ptr->call_realloc(ptr, ptr->hosts, | 305 | new_host_list= ptr->call_realloc(ptr, ptr->hosts, |
2696 | 324 | sizeof(memcached_server_st) * (count + ptr->number_of_hosts)); | 306 | sizeof(memcached_server_st) * (count + memcached_server_count(ptr))); |
2697 | 325 | 307 | ||
2698 | 326 | if (! new_host_list) | 308 | if (! new_host_list) |
2699 | 327 | return MEMCACHED_MEMORY_ALLOCATION_FAILURE; | 309 | return MEMCACHED_MEMORY_ALLOCATION_FAILURE; |
2700 | @@ -336,13 +318,13 @@ | |||
2701 | 336 | return MEMCACHED_INVALID_HOST_PROTOCOL; | 318 | return MEMCACHED_INVALID_HOST_PROTOCOL; |
2702 | 337 | 319 | ||
2703 | 338 | WATCHPOINT_ASSERT(list[x].hostname[0] != 0); | 320 | WATCHPOINT_ASSERT(list[x].hostname[0] != 0); |
2705 | 339 | memcached_server_create(ptr, &ptr->hosts[ptr->number_of_hosts]); | 321 | memcached_server_create(ptr, &ptr->hosts[memcached_server_count(ptr)]); |
2706 | 340 | /* TODO check return type */ | 322 | /* TODO check return type */ |
2708 | 341 | (void)memcached_server_create_with(ptr, &ptr->hosts[ptr->number_of_hosts], list[x].hostname, | 323 | (void)memcached_server_create_with(ptr, &ptr->hosts[memcached_server_count(ptr)], list[x].hostname, |
2709 | 342 | list[x].port, list[x].weight, list[x].type); | 324 | list[x].port, list[x].weight, list[x].type); |
2710 | 343 | ptr->number_of_hosts++; | 325 | ptr->number_of_hosts++; |
2711 | 344 | } | 326 | } |
2713 | 345 | ptr->hosts[0].count= (uint16_t) ptr->number_of_hosts; | 327 | ptr->hosts[0].number_of_hosts= memcached_server_count(ptr); |
2714 | 346 | 328 | ||
2715 | 347 | return run_distribution(ptr); | 329 | return run_distribution(ptr); |
2716 | 348 | } | 330 | } |
2717 | @@ -417,7 +399,7 @@ | |||
2718 | 417 | return MEMCACHED_INVALID_HOST_PROTOCOL; | 399 | return MEMCACHED_INVALID_HOST_PROTOCOL; |
2719 | 418 | 400 | ||
2720 | 419 | new_host_list= ptr->call_realloc(ptr, ptr->hosts, | 401 | new_host_list= ptr->call_realloc(ptr, ptr->hosts, |
2722 | 420 | sizeof(memcached_server_st) * (ptr->number_of_hosts+1)); | 402 | sizeof(memcached_server_st) * (ptr->number_of_hosts + 1)); |
2723 | 421 | 403 | ||
2724 | 422 | if (new_host_list == NULL) | 404 | if (new_host_list == NULL) |
2725 | 423 | return MEMCACHED_MEMORY_ALLOCATION_FAILURE; | 405 | return MEMCACHED_MEMORY_ALLOCATION_FAILURE; |
2726 | @@ -425,9 +407,10 @@ | |||
2727 | 425 | ptr->hosts= new_host_list; | 407 | ptr->hosts= new_host_list; |
2728 | 426 | 408 | ||
2729 | 427 | /* TODO: Check return type */ | 409 | /* TODO: Check return type */ |
2731 | 428 | (void)memcached_server_create_with(ptr, &ptr->hosts[ptr->number_of_hosts], hostname, port, weight, type); | 410 | (void)memcached_server_create_with(ptr, &ptr->hosts[memcached_server_count(ptr)], hostname, port, weight, type); |
2732 | 429 | ptr->number_of_hosts++; | 411 | ptr->number_of_hosts++; |
2734 | 430 | ptr->hosts[0].count= (uint16_t) ptr->number_of_hosts; | 412 | |
2735 | 413 | memcached_servers_set_count(&ptr->hosts[0], memcached_server_count(ptr)); | ||
2736 | 431 | 414 | ||
2737 | 432 | return run_distribution(ptr); | 415 | return run_distribution(ptr); |
2738 | 433 | } | 416 | } |
2739 | @@ -438,7 +421,7 @@ | |||
2740 | 438 | memcached_st *ptr= st_ptr->root; | 421 | memcached_st *ptr= st_ptr->root; |
2741 | 439 | memcached_server_st *list= ptr->hosts; | 422 | memcached_server_st *list= ptr->hosts; |
2742 | 440 | 423 | ||
2744 | 441 | for (x= 0, host_index= 0; x < ptr->number_of_hosts; x++) | 424 | for (x= 0, host_index= 0; x < memcached_server_count(ptr); x++) |
2745 | 442 | { | 425 | { |
2746 | 443 | if (strncmp(list[x].hostname, st_ptr->hostname, MEMCACHED_MAX_HOST_LENGTH) != 0 || list[x].port != st_ptr->port) | 426 | if (strncmp(list[x].hostname, st_ptr->hostname, MEMCACHED_MAX_HOST_LENGTH) != 0 || list[x].port != st_ptr->port) |
2747 | 444 | { | 427 | { |
2748 | @@ -484,7 +467,7 @@ | |||
2749 | 484 | count= 1; | 467 | count= 1; |
2750 | 485 | if (ptr != NULL) | 468 | if (ptr != NULL) |
2751 | 486 | { | 469 | { |
2753 | 487 | count+= ptr[0].count; | 470 | count+= memcached_servers_count(ptr); |
2754 | 488 | } | 471 | } |
2755 | 489 | 472 | ||
2756 | 490 | new_host_list= (memcached_server_st *)realloc(ptr, sizeof(memcached_server_st) * count); | 473 | new_host_list= (memcached_server_st *)realloc(ptr, sizeof(memcached_server_st) * count); |
2757 | @@ -498,21 +481,8 @@ | |||
2758 | 498 | memcached_server_create_with(NULL, &new_host_list[count-1], hostname, port, weight, MEMCACHED_CONNECTION_TCP); | 481 | memcached_server_create_with(NULL, &new_host_list[count-1], hostname, port, weight, MEMCACHED_CONNECTION_TCP); |
2759 | 499 | 482 | ||
2760 | 500 | /* Backwards compatibility hack */ | 483 | /* Backwards compatibility hack */ |
2762 | 501 | new_host_list[0].count= (uint16_t) count; | 484 | memcached_servers_set_count(new_host_list, count); |
2763 | 502 | 485 | ||
2764 | 503 | *error= MEMCACHED_SUCCESS; | 486 | *error= MEMCACHED_SUCCESS; |
2765 | 504 | return new_host_list; | 487 | return new_host_list; |
2766 | 505 | } | 488 | } |
2767 | 506 | |||
2768 | 507 | unsigned int memcached_server_list_count(memcached_server_st *ptr) | ||
2769 | 508 | { | ||
2770 | 509 | if (ptr == NULL) | ||
2771 | 510 | return 0; | ||
2772 | 511 | |||
2773 | 512 | return ptr[0].count; | ||
2774 | 513 | } | ||
2775 | 514 | |||
2776 | 515 | void memcached_server_list_free(memcached_server_st *ptr) | ||
2777 | 516 | { | ||
2778 | 517 | server_list_free(NULL, ptr); | ||
2779 | 518 | } | ||
2780 | 519 | 489 | ||
2781 | === modified file 'libmemcached/include.am' | |||
2782 | --- libmemcached/include.am 2009-12-30 03:18:20 +0000 | |||
2783 | +++ libmemcached/include.am 2010-01-12 00:36:12 +0000 | |||
2784 | @@ -3,10 +3,9 @@ | |||
2785 | 3 | # All paths should be given relative to the root | 3 | # All paths should be given relative to the root |
2786 | 4 | 4 | ||
2787 | 5 | EXTRA_DIST+= \ | 5 | EXTRA_DIST+= \ |
2788 | 6 | libmemcached/configure.h.in \ | ||
2789 | 6 | libmemcached/libmemcached_probes.d \ | 7 | libmemcached/libmemcached_probes.d \ |
2793 | 7 | libmemcached/memcached/README.txt \ | 8 | libmemcached/memcached/README.txt |
2791 | 8 | libmemcached/memcached_configure.h.in | ||
2792 | 9 | |||
2794 | 10 | 9 | ||
2795 | 11 | noinst_HEADERS+= \ | 10 | noinst_HEADERS+= \ |
2796 | 12 | libmemcached/byteorder.h \ | 11 | libmemcached/byteorder.h \ |
2797 | @@ -14,36 +13,34 @@ | |||
2798 | 14 | libmemcached/io.h \ | 13 | libmemcached/io.h \ |
2799 | 15 | libmemcached/internal.h \ | 14 | libmemcached/internal.h \ |
2800 | 16 | libmemcached/common.h \ | 15 | libmemcached/common.h \ |
2801 | 17 | libmemcached/memcached/protocol_binary.h \ | ||
2802 | 18 | libmemcached/protocol/common.h \ | 16 | libmemcached/protocol/common.h \ |
2803 | 19 | libmemcached/protocol/ascii_handler.h \ | 17 | libmemcached/protocol/ascii_handler.h \ |
2804 | 20 | libmemcached/protocol/binary_handler.h | 18 | libmemcached/protocol/binary_handler.h |
2805 | 21 | 19 | ||
2831 | 22 | nobase_pkginclude_HEADERS+= \ | 20 | nobase_include_HEADERS+= \ |
2832 | 23 | libmemcached/analyze.h \ | 21 | libmemcached/analyze.h \ |
2833 | 24 | libmemcached/auto.h \ | 22 | libmemcached/auto.h \ |
2834 | 25 | libmemcached/behavior.h \ | 23 | libmemcached/behavior.h \ |
2835 | 26 | libmemcached/callback.h \ | 24 | libmemcached/callback.h \ |
2836 | 27 | libmemcached/constants.h \ | 25 | libmemcached/configure.h \ |
2837 | 28 | libmemcached/dump.h \ | 26 | libmemcached/constants.h \ |
2838 | 29 | libmemcached/exception.hpp \ | 27 | libmemcached/dump.h \ |
2839 | 30 | libmemcached/get.h \ | 28 | libmemcached/exception.hpp \ |
2840 | 31 | libmemcached/memcached.h \ | 29 | libmemcached/get.h \ |
2841 | 32 | libmemcached/memcached.hpp \ | 30 | libmemcached/memcached.h \ |
2842 | 33 | libmemcached/memcached_configure.h \ | 31 | libmemcached/memcached.hpp \ |
2843 | 34 | libmemcached/protocol/cache.h \ | 32 | libmemcached/memcached/protocol_binary.h \ |
2844 | 35 | libmemcached/protocol/callback.h \ | 33 | libmemcached/protocol/cache.h \ |
2845 | 36 | libmemcached/protocol_handler.h \ | 34 | libmemcached/protocol/callback.h \ |
2846 | 37 | libmemcached/result.h \ | 35 | libmemcached/protocol_handler.h \ |
2847 | 38 | libmemcached/server.h \ | 36 | libmemcached/result.h \ |
2848 | 39 | libmemcached/stats.h \ | 37 | libmemcached/server.h \ |
2849 | 40 | libmemcached/storage.h \ | 38 | libmemcached/stats.h \ |
2850 | 41 | libmemcached/string.h \ | 39 | libmemcached/storage.h \ |
2851 | 42 | libmemcached/types.h \ | 40 | libmemcached/string.h \ |
2852 | 43 | libmemcached/visibility.h \ | 41 | libmemcached/types.h \ |
2853 | 44 | libmemcached/watchpoint.h | 42 | libmemcached/visibility.h \ |
2854 | 45 | 43 | libmemcached/watchpoint.h | |
2830 | 46 | |||
2855 | 47 | 44 | ||
2856 | 48 | lib_LTLIBRARIES+= libmemcached/libmemcachedprotocol.la | 45 | lib_LTLIBRARIES+= libmemcached/libmemcachedprotocol.la |
2857 | 49 | libmemcached_libmemcachedprotocol_la_SOURCES = \ | 46 | libmemcached_libmemcachedprotocol_la_SOURCES = \ |
2858 | @@ -111,10 +108,12 @@ | |||
2859 | 111 | 108 | ||
2860 | 112 | libmemcached_libmemcached_la_DEPENDENCIES= libmemcached/libmemcachedcallbacks.la libmemcached/libmemcachedinternal.la | 109 | libmemcached_libmemcached_la_DEPENDENCIES= libmemcached/libmemcachedcallbacks.la libmemcached/libmemcachedinternal.la |
2861 | 113 | libmemcached_libmemcached_la_LIBADD= $(LIBM) libmemcached/libmemcachedcallbacks.la libmemcached/libmemcachedinternal.la | 110 | libmemcached_libmemcached_la_LIBADD= $(LIBM) libmemcached/libmemcachedcallbacks.la libmemcached/libmemcachedinternal.la |
2863 | 114 | libmemcached_libmemcached_la_LDFLAGS= ${AM_LDFLAGS} -version-info 3:0:0 | 111 | libmemcached_libmemcached_la_LDFLAGS= ${AM_LDFLAGS} -version-info ${MEMCACHED_LIBRARY_VERSION} |
2864 | 115 | 112 | ||
2865 | 116 | if BUILD_LIBMEMCACHEDUTIL | 113 | if BUILD_LIBMEMCACHEDUTIL |
2867 | 117 | pkginclude_HEADERS+= libmemcached/memcached_util.h libmemcached/util/pool.h | 114 | nobase_include_HEADERS+= \ |
2868 | 115 | libmemcached/memcached_util.h \ | ||
2869 | 116 | libmemcached/util/pool.h | ||
2870 | 118 | lib_LTLIBRARIES+= libmemcached/libmemcachedutil.la | 117 | lib_LTLIBRARIES+= libmemcached/libmemcachedutil.la |
2871 | 119 | endif | 118 | endif |
2872 | 120 | 119 | ||
2873 | 121 | 120 | ||
2874 | === modified file 'libmemcached/io.c' | |||
2875 | --- libmemcached/io.c 2009-12-18 11:18:05 +0000 | |||
2876 | +++ libmemcached/io.c 2010-01-12 00:36:12 +0000 | |||
2877 | @@ -156,7 +156,7 @@ | |||
2878 | 156 | 156 | ||
2879 | 157 | return; | 157 | return; |
2880 | 158 | 158 | ||
2882 | 159 | for (x= 0; x < ptr->number_of_hosts; x++) | 159 | for (x= 0; x < memcached_server_count(ptr); x++) |
2883 | 160 | { | 160 | { |
2884 | 161 | if (memcached_server_response_count(ptr, x) && | 161 | if (memcached_server_response_count(ptr, x) && |
2885 | 162 | ptr->hosts[x].read_data_length < MEMCACHED_MAX_BUFFER ) | 162 | ptr->hosts[x].read_data_length < MEMCACHED_MAX_BUFFER ) |
2886 | @@ -361,7 +361,7 @@ | |||
2887 | 361 | unsigned int host_index= 0; | 361 | unsigned int host_index= 0; |
2888 | 362 | 362 | ||
2889 | 363 | for (unsigned int x= 0; | 363 | for (unsigned int x= 0; |
2891 | 364 | x< memc->number_of_hosts && host_index < MAX_SERVERS_TO_POLL; | 364 | x< memcached_server_count(memc) && host_index < MAX_SERVERS_TO_POLL; |
2892 | 365 | ++x) | 365 | ++x) |
2893 | 366 | { | 366 | { |
2894 | 367 | if (memc->hosts[x].read_buffer_length > 0) /* I have data in the buffer */ | 367 | if (memc->hosts[x].read_buffer_length > 0) /* I have data in the buffer */ |
2895 | @@ -379,7 +379,7 @@ | |||
2896 | 379 | if (host_index < 2) | 379 | if (host_index < 2) |
2897 | 380 | { | 380 | { |
2898 | 381 | /* We have 0 or 1 server with pending events.. */ | 381 | /* We have 0 or 1 server with pending events.. */ |
2900 | 382 | for (unsigned int x= 0; x< memc->number_of_hosts; ++x) | 382 | for (unsigned int x= 0; x< memcached_server_count(memc); ++x) |
2901 | 383 | if (memcached_server_response_count(&memc->hosts[x]) > 0) | 383 | if (memcached_server_response_count(&memc->hosts[x]) > 0) |
2902 | 384 | return &memc->hosts[x]; | 384 | return &memc->hosts[x]; |
2903 | 385 | 385 | ||
2904 | @@ -394,11 +394,17 @@ | |||
2905 | 394 | case 0: | 394 | case 0: |
2906 | 395 | break; | 395 | break; |
2907 | 396 | default: | 396 | default: |
2909 | 397 | for (unsigned int x= 0; x < host_index; ++x) | 397 | for (size_t x= 0; x < host_index; ++x) |
2910 | 398 | { | ||
2911 | 398 | if (fds[x].revents & POLLIN) | 399 | if (fds[x].revents & POLLIN) |
2913 | 399 | for (unsigned int y= 0; y < memc->number_of_hosts; ++y) | 400 | { |
2914 | 401 | for (unsigned int y= 0; y < memcached_server_count(memc); ++y) | ||
2915 | 402 | { | ||
2916 | 400 | if (memc->hosts[y].fd == fds[x].fd) | 403 | if (memc->hosts[y].fd == fds[x].fd) |
2917 | 401 | return &memc->hosts[y]; | 404 | return &memc->hosts[y]; |
2918 | 405 | } | ||
2919 | 406 | } | ||
2920 | 407 | } | ||
2921 | 402 | } | 408 | } |
2922 | 403 | 409 | ||
2923 | 404 | return NULL; | 410 | return NULL; |
2924 | 405 | 411 | ||
2925 | === modified file 'libmemcached/memcached.c' | |||
2926 | --- libmemcached/memcached.c 2009-12-18 02:37:31 +0000 | |||
2927 | +++ libmemcached/memcached.c 2010-01-12 00:36:12 +0000 | |||
2928 | @@ -44,6 +44,38 @@ | |||
2929 | 44 | return ptr; | 44 | return ptr; |
2930 | 45 | } | 45 | } |
2931 | 46 | 46 | ||
2932 | 47 | void server_list_free(memcached_st *ptr, memcached_server_st *servers) | ||
2933 | 48 | { | ||
2934 | 49 | uint32_t x; | ||
2935 | 50 | |||
2936 | 51 | if (servers == NULL) | ||
2937 | 52 | return; | ||
2938 | 53 | |||
2939 | 54 | for (x= 0; x < memcached_servers_count(servers); x++) | ||
2940 | 55 | if (servers[x].address_info) | ||
2941 | 56 | { | ||
2942 | 57 | freeaddrinfo(servers[x].address_info); | ||
2943 | 58 | servers[x].address_info= NULL; | ||
2944 | 59 | } | ||
2945 | 60 | |||
2946 | 61 | if (ptr) | ||
2947 | 62 | { | ||
2948 | 63 | ptr->call_free(ptr, servers); | ||
2949 | 64 | } | ||
2950 | 65 | else | ||
2951 | 66 | free(servers); | ||
2952 | 67 | } | ||
2953 | 68 | |||
2954 | 69 | void memcached_servers_reset(memcached_st *ptr) | ||
2955 | 70 | { | ||
2956 | 71 | server_list_free(ptr, ptr->hosts); | ||
2957 | 72 | |||
2958 | 73 | ptr->hosts= NULL; | ||
2959 | 74 | ptr->number_of_hosts= 0; | ||
2960 | 75 | ptr->last_disconnected_server= NULL; | ||
2961 | 76 | ptr->server_failure_limit= 0; | ||
2962 | 77 | } | ||
2963 | 78 | |||
2964 | 47 | void memcached_free(memcached_st *ptr) | 79 | void memcached_free(memcached_st *ptr) |
2965 | 48 | { | 80 | { |
2966 | 49 | /* If we have anything open, lets close it now */ | 81 | /* If we have anything open, lets close it now */ |
2967 | 50 | 82 | ||
2968 | === modified file 'libmemcached/memcached.h' | |||
2969 | --- libmemcached/memcached.h 2009-12-22 06:58:44 +0000 | |||
2970 | +++ libmemcached/memcached.h 2010-01-12 00:36:12 +0000 | |||
2971 | @@ -24,7 +24,7 @@ | |||
2972 | 24 | #include <netinet/in.h> | 24 | #include <netinet/in.h> |
2973 | 25 | 25 | ||
2974 | 26 | #include <libmemcached/visibility.h> | 26 | #include <libmemcached/visibility.h> |
2976 | 27 | #include <libmemcached/memcached_configure.h> | 27 | #include <libmemcached/configure.h> |
2977 | 28 | #include <libmemcached/constants.h> | 28 | #include <libmemcached/constants.h> |
2978 | 29 | #include <libmemcached/types.h> | 29 | #include <libmemcached/types.h> |
2979 | 30 | #include <libmemcached/string.h> | 30 | #include <libmemcached/string.h> |
2980 | @@ -52,7 +52,7 @@ | |||
2981 | 52 | } options; | 52 | } options; |
2982 | 53 | memcached_server_distribution_t distribution; | 53 | memcached_server_distribution_t distribution; |
2983 | 54 | memcached_hash_t hash; | 54 | memcached_hash_t hash; |
2985 | 55 | uint32_t continuum_points_counter; | 55 | uint32_t continuum_points_counter; // Ketama |
2986 | 56 | memcached_server_st *hosts; | 56 | memcached_server_st *hosts; |
2987 | 57 | memcached_server_st *last_disconnected_server; | 57 | memcached_server_st *last_disconnected_server; |
2988 | 58 | int32_t snd_timeout; | 58 | int32_t snd_timeout; |
2989 | @@ -62,7 +62,6 @@ | |||
2990 | 62 | uint32_t io_bytes_watermark; | 62 | uint32_t io_bytes_watermark; |
2991 | 63 | uint32_t io_key_prefetch; | 63 | uint32_t io_key_prefetch; |
2992 | 64 | uint32_t number_of_hosts; | 64 | uint32_t number_of_hosts; |
2993 | 65 | uint32_t cursor_server; | ||
2994 | 66 | int cached_errno; | 65 | int cached_errno; |
2995 | 67 | struct { | 66 | struct { |
2996 | 68 | bool auto_eject_hosts:1; | 67 | bool auto_eject_hosts:1; |
2997 | @@ -84,16 +83,16 @@ | |||
2998 | 84 | int32_t poll_timeout; | 83 | int32_t poll_timeout; |
2999 | 85 | int32_t connect_timeout; | 84 | int32_t connect_timeout; |
3000 | 86 | int32_t retry_timeout; | 85 | int32_t retry_timeout; |
3002 | 87 | uint32_t continuum_count; | 86 | uint32_t continuum_count; // Ketama |
3003 | 88 | int send_size; | 87 | int send_size; |
3004 | 89 | int recv_size; | 88 | int recv_size; |
3005 | 90 | void *user_data; | 89 | void *user_data; |
3007 | 91 | time_t next_distribution_rebuild; | 90 | time_t next_distribution_rebuild; // Ketama |
3008 | 92 | size_t prefix_key_length; | 91 | size_t prefix_key_length; |
3009 | 93 | uint32_t number_of_replicas; | 92 | uint32_t number_of_replicas; |
3010 | 94 | memcached_hash_t distribution_hash; | 93 | memcached_hash_t distribution_hash; |
3011 | 95 | memcached_result_st result; | 94 | memcached_result_st result; |
3013 | 96 | memcached_continuum_item_st *continuum; | 95 | memcached_continuum_item_st *continuum; // Ketama |
3014 | 97 | memcached_clone_fn on_clone; | 96 | memcached_clone_fn on_clone; |
3015 | 98 | memcached_cleanup_fn on_cleanup; | 97 | memcached_cleanup_fn on_cleanup; |
3016 | 99 | memcached_free_fn call_free; | 98 | memcached_free_fn call_free; |
3017 | @@ -109,6 +108,9 @@ | |||
3018 | 109 | LIBMEMCACHED_API | 108 | LIBMEMCACHED_API |
3019 | 110 | memcached_return_t memcached_version(memcached_st *ptr); | 109 | memcached_return_t memcached_version(memcached_st *ptr); |
3020 | 111 | 110 | ||
3021 | 111 | LIBMEMCACHED_API | ||
3022 | 112 | void memcached_servers_reset(memcached_st *ptr); | ||
3023 | 113 | |||
3024 | 112 | /* Public API */ | 114 | /* Public API */ |
3025 | 113 | 115 | ||
3026 | 114 | LIBMEMCACHED_API | 116 | LIBMEMCACHED_API |
3027 | 115 | 117 | ||
3028 | === modified file 'libmemcached/memcached/protocol_binary.h' | |||
3029 | --- libmemcached/memcached/protocol_binary.h 2009-10-05 21:00:48 +0000 | |||
3030 | +++ libmemcached/memcached/protocol_binary.h 2010-01-12 00:36:12 +0000 | |||
3031 | @@ -29,7 +29,7 @@ | |||
3032 | 29 | * | 29 | * |
3033 | 30 | * Copy: See Copyright for the status of this software. | 30 | * Copy: See Copyright for the status of this software. |
3034 | 31 | * | 31 | * |
3036 | 32 | * Author: Trond Norbye <trond.norbye@sun.com> | 32 | * Author: Trond Norbye <trond.norbye@gmail.com> |
3037 | 33 | */ | 33 | */ |
3038 | 34 | 34 | ||
3039 | 35 | #ifndef PROTOCOL_BINARY_H | 35 | #ifndef PROTOCOL_BINARY_H |
3040 | 36 | 36 | ||
3041 | === modified file 'libmemcached/quit.c' | |||
3042 | --- libmemcached/quit.c 2009-12-18 11:17:36 +0000 | |||
3043 | +++ libmemcached/quit.c 2010-01-12 00:36:12 +0000 | |||
3044 | @@ -72,12 +72,12 @@ | |||
3045 | 72 | unsigned int x; | 72 | unsigned int x; |
3046 | 73 | 73 | ||
3047 | 74 | if (ptr->hosts == NULL || | 74 | if (ptr->hosts == NULL || |
3049 | 75 | ptr->number_of_hosts == 0) | 75 | memcached_server_count(ptr) == 0) |
3050 | 76 | return; | 76 | return; |
3051 | 77 | 77 | ||
3053 | 78 | if (ptr->hosts && ptr->number_of_hosts) | 78 | if (ptr->hosts && memcached_server_count(ptr)) |
3054 | 79 | { | 79 | { |
3056 | 80 | for (x= 0; x < ptr->number_of_hosts; x++) | 80 | for (x= 0; x < memcached_server_count(ptr); x++) |
3057 | 81 | memcached_quit_server(&ptr->hosts[x], 0); | 81 | memcached_quit_server(&ptr->hosts[x], 0); |
3058 | 82 | } | 82 | } |
3059 | 83 | } | 83 | } |
3060 | 84 | 84 | ||
3061 | === modified file 'libmemcached/server.c' | |||
3062 | --- libmemcached/server.c 2010-01-03 01:07:52 +0000 | |||
3063 | +++ libmemcached/server.c 2010-01-12 00:36:12 +0000 | |||
3064 | @@ -113,11 +113,11 @@ | |||
3065 | 113 | void *context, | 113 | void *context, |
3066 | 114 | uint32_t number_of_callbacks) | 114 | uint32_t number_of_callbacks) |
3067 | 115 | { | 115 | { |
3069 | 116 | unsigned int y; | 116 | uint32_t y; |
3070 | 117 | 117 | ||
3072 | 118 | for (y= 0; y < ptr->number_of_hosts; y++) | 118 | for (y= 0; y < memcached_server_count(ptr); y++) |
3073 | 119 | { | 119 | { |
3075 | 120 | unsigned int x; | 120 | uint32_t x; |
3076 | 121 | 121 | ||
3077 | 122 | for (x= 0; x < number_of_callbacks; x++) | 122 | for (x= 0; x < number_of_callbacks; x++) |
3078 | 123 | { | 123 | { |
3079 | @@ -142,7 +142,7 @@ | |||
3080 | 142 | unlikely (*error != MEMCACHED_SUCCESS) | 142 | unlikely (*error != MEMCACHED_SUCCESS) |
3081 | 143 | return NULL; | 143 | return NULL; |
3082 | 144 | 144 | ||
3084 | 145 | unlikely (ptr->number_of_hosts == 0) | 145 | unlikely (memcached_server_count(ptr) == 0) |
3085 | 146 | { | 146 | { |
3086 | 147 | *error= MEMCACHED_NO_SERVERS; | 147 | *error= MEMCACHED_NO_SERVERS; |
3087 | 148 | return NULL; | 148 | return NULL; |
3088 | @@ -162,10 +162,9 @@ | |||
3089 | 162 | 162 | ||
3090 | 163 | const char *memcached_server_error(memcached_server_st *ptr) | 163 | const char *memcached_server_error(memcached_server_st *ptr) |
3091 | 164 | { | 164 | { |
3096 | 165 | if (ptr) | 165 | return ptr |
3097 | 166 | return ptr->cached_server_error; | 166 | ? ptr->cached_server_error |
3098 | 167 | else | 167 | : NULL; |
3095 | 168 | return NULL; | ||
3099 | 169 | } | 168 | } |
3100 | 170 | 169 | ||
3101 | 171 | void memcached_server_error_reset(memcached_server_st *ptr) | 170 | void memcached_server_error_reset(memcached_server_st *ptr) |
3102 | @@ -177,3 +176,15 @@ | |||
3103 | 177 | { | 176 | { |
3104 | 178 | return ptr->last_disconnected_server; | 177 | return ptr->last_disconnected_server; |
3105 | 179 | } | 178 | } |
3106 | 179 | |||
3107 | 180 | uint32_t memcached_server_list_count(memcached_server_st *ptr) | ||
3108 | 181 | { | ||
3109 | 182 | return (ptr == NULL) | ||
3110 | 183 | ? 0 | ||
3111 | 184 | : memcached_servers_count(ptr); | ||
3112 | 185 | } | ||
3113 | 186 | |||
3114 | 187 | void memcached_server_list_free(memcached_server_st *ptr) | ||
3115 | 188 | { | ||
3116 | 189 | server_list_free(NULL, ptr); | ||
3117 | 190 | } | ||
3118 | 180 | 191 | ||
3119 | === modified file 'libmemcached/server.h' | |||
3120 | --- libmemcached/server.h 2010-01-03 01:07:52 +0000 | |||
3121 | +++ libmemcached/server.h 2010-01-12 00:36:12 +0000 | |||
3122 | @@ -21,7 +21,7 @@ | |||
3123 | 21 | bool is_allocated:1; | 21 | bool is_allocated:1; |
3124 | 22 | bool sockaddr_inited:1; | 22 | bool sockaddr_inited:1; |
3125 | 23 | } options; | 23 | } options; |
3127 | 24 | uint16_t count; | 24 | uint32_t number_of_hosts; |
3128 | 25 | uint32_t cursor_active; | 25 | uint32_t cursor_active; |
3129 | 26 | in_port_t port; | 26 | in_port_t port; |
3130 | 27 | int cached_errno; | 27 | int cached_errno; |
3131 | @@ -47,6 +47,16 @@ | |||
3132 | 47 | char hostname[MEMCACHED_MAX_HOST_LENGTH]; | 47 | char hostname[MEMCACHED_MAX_HOST_LENGTH]; |
3133 | 48 | }; | 48 | }; |
3134 | 49 | 49 | ||
3135 | 50 | static inline uint32_t memcached_servers_count(memcached_server_st *servers) | ||
3136 | 51 | { | ||
3137 | 52 | return servers->number_of_hosts; | ||
3138 | 53 | } | ||
3139 | 54 | |||
3140 | 55 | static inline uint32_t memcached_servers_set_count(memcached_server_st *servers, uint32_t count) | ||
3141 | 56 | { | ||
3142 | 57 | return servers->number_of_hosts= count; | ||
3143 | 58 | } | ||
3144 | 59 | |||
3145 | 50 | #define memcached_server_count(A) (A)->number_of_hosts | 60 | #define memcached_server_count(A) (A)->number_of_hosts |
3146 | 51 | #define memcached_server_name(A,B) (B).hostname | 61 | #define memcached_server_name(A,B) (B).hostname |
3147 | 52 | #define memcached_server_port(A,B) (B).port | 62 | #define memcached_server_port(A,B) (B).port |
3148 | 53 | 63 | ||
3149 | === modified file 'libmemcached/stats.c' | |||
3150 | --- libmemcached/stats.c 2010-01-03 01:58:40 +0000 | |||
3151 | +++ libmemcached/stats.c 2010-01-12 00:36:12 +0000 | |||
3152 | @@ -369,7 +369,7 @@ | |||
3153 | 369 | return NULL; | 369 | return NULL; |
3154 | 370 | } | 370 | } |
3155 | 371 | 371 | ||
3157 | 372 | stats= ptr->call_calloc(ptr, ptr->number_of_hosts, sizeof(memcached_stat_st)); | 372 | stats= ptr->call_calloc(ptr, memcached_server_count(ptr), sizeof(memcached_stat_st)); |
3158 | 373 | 373 | ||
3159 | 374 | stats->root= ptr; | 374 | stats->root= ptr; |
3160 | 375 | 375 | ||
3161 | @@ -380,7 +380,7 @@ | |||
3162 | 380 | } | 380 | } |
3163 | 381 | 381 | ||
3164 | 382 | rc= MEMCACHED_SUCCESS; | 382 | rc= MEMCACHED_SUCCESS; |
3166 | 383 | for (x= 0; x < ptr->number_of_hosts; x++) | 383 | for (x= 0; x < memcached_server_count(ptr); x++) |
3167 | 384 | { | 384 | { |
3168 | 385 | memcached_return_t temp_return; | 385 | memcached_return_t temp_return; |
3169 | 386 | 386 | ||
3170 | 387 | 387 | ||
3171 | === modified file 'libmemcached/storage.c' | |||
3172 | --- libmemcached/storage.c 2009-12-18 18:46:19 +0000 | |||
3173 | +++ libmemcached/storage.c 2010-01-12 00:36:12 +0000 | |||
3174 | @@ -77,7 +77,7 @@ | |||
3175 | 77 | unlikely (rc != MEMCACHED_SUCCESS) | 77 | unlikely (rc != MEMCACHED_SUCCESS) |
3176 | 78 | return rc; | 78 | return rc; |
3177 | 79 | 79 | ||
3179 | 80 | unlikely (ptr->number_of_hosts == 0) | 80 | unlikely (memcached_server_count(ptr) == 0) |
3180 | 81 | return MEMCACHED_NO_SERVERS; | 81 | return MEMCACHED_NO_SERVERS; |
3181 | 82 | 82 | ||
3182 | 83 | if (ptr->flags.verify_key && (memcached_key_test((const char **)&key, &key_length, 1) == MEMCACHED_BAD_KEY_PROVIDED)) | 83 | if (ptr->flags.verify_key && (memcached_key_test((const char **)&key, &key_length, 1) == MEMCACHED_BAD_KEY_PROVIDED)) |
3183 | @@ -493,7 +493,7 @@ | |||
3184 | 493 | for (uint32_t x= 0; x < ptr->number_of_replicas; x++) | 493 | for (uint32_t x= 0; x < ptr->number_of_replicas; x++) |
3185 | 494 | { | 494 | { |
3186 | 495 | ++server_key; | 495 | ++server_key; |
3188 | 496 | if (server_key == ptr->number_of_hosts) | 496 | if (server_key == memcached_server_count(ptr)) |
3189 | 497 | server_key= 0; | 497 | server_key= 0; |
3190 | 498 | 498 | ||
3191 | 499 | memcached_server_st *srv= &ptr->hosts[server_key]; | 499 | memcached_server_st *srv= &ptr->hosts[server_key]; |
3192 | 500 | 500 | ||
3193 | === modified file 'libmemcached/verbosity.c' | |||
3194 | --- libmemcached/verbosity.c 2009-12-16 23:01:10 +0000 | |||
3195 | +++ libmemcached/verbosity.c 2010-01-12 00:36:12 +0000 | |||
3196 | @@ -13,7 +13,7 @@ | |||
3197 | 13 | return MEMCACHED_WRITE_FAILURE; | 13 | return MEMCACHED_WRITE_FAILURE; |
3198 | 14 | 14 | ||
3199 | 15 | rc= MEMCACHED_SUCCESS; | 15 | rc= MEMCACHED_SUCCESS; |
3201 | 16 | for (x= 0; x < ptr->number_of_hosts; x++) | 16 | for (x= 0; x < memcached_server_count(ptr); x++) |
3202 | 17 | { | 17 | { |
3203 | 18 | memcached_return_t rrc; | 18 | memcached_return_t rrc; |
3204 | 19 | 19 | ||
3205 | 20 | 20 | ||
3206 | === modified file 'libmemcached/version.c' | |||
3207 | --- libmemcached/version.c 2009-12-16 23:01:10 +0000 | |||
3208 | +++ libmemcached/version.c 2010-01-12 00:36:12 +0000 | |||
3209 | @@ -31,7 +31,7 @@ | |||
3210 | 31 | send_length= strlen(command); | 31 | send_length= strlen(command); |
3211 | 32 | 32 | ||
3212 | 33 | rc= MEMCACHED_SUCCESS; | 33 | rc= MEMCACHED_SUCCESS; |
3214 | 34 | for (x= 0; x < ptr->number_of_hosts; x++) | 34 | for (x= 0; x < memcached_server_count(ptr); x++) |
3215 | 35 | { | 35 | { |
3216 | 36 | memcached_return_t rrc; | 36 | memcached_return_t rrc; |
3217 | 37 | 37 | ||
3218 | @@ -75,7 +75,7 @@ | |||
3219 | 75 | request.message.header.request.datatype= PROTOCOL_BINARY_RAW_BYTES; | 75 | request.message.header.request.datatype= PROTOCOL_BINARY_RAW_BYTES; |
3220 | 76 | 76 | ||
3221 | 77 | rc= MEMCACHED_SUCCESS; | 77 | rc= MEMCACHED_SUCCESS; |
3223 | 78 | for (x= 0; x < ptr->number_of_hosts; x++) | 78 | for (x= 0; x < memcached_server_count(ptr); x++) |
3224 | 79 | { | 79 | { |
3225 | 80 | memcached_return_t rrc; | 80 | memcached_return_t rrc; |
3226 | 81 | 81 | ||
3227 | @@ -88,7 +88,8 @@ | |||
3228 | 88 | } | 88 | } |
3229 | 89 | } | 89 | } |
3230 | 90 | 90 | ||
3232 | 91 | for (x= 0; x < ptr->number_of_hosts; x++) | 91 | for (x= 0; x < memcached_server_count(ptr); x++) |
3233 | 92 | { | ||
3234 | 92 | if (memcached_server_response_count(&ptr->hosts[x]) > 0) | 93 | if (memcached_server_response_count(&ptr->hosts[x]) > 0) |
3235 | 93 | { | 94 | { |
3236 | 94 | memcached_return_t rrc; | 95 | memcached_return_t rrc; |
3237 | @@ -107,6 +108,7 @@ | |||
3238 | 107 | ptr->hosts[x].minor_version= (uint8_t)strtol(p + 1, &p, 10); | 108 | ptr->hosts[x].minor_version= (uint8_t)strtol(p + 1, &p, 10); |
3239 | 108 | ptr->hosts[x].micro_version= (uint8_t)strtol(p + 1, NULL, 10); | 109 | ptr->hosts[x].micro_version= (uint8_t)strtol(p + 1, NULL, 10); |
3240 | 109 | } | 110 | } |
3241 | 111 | } | ||
3242 | 110 | 112 | ||
3243 | 111 | return rc; | 113 | return rc; |
3244 | 112 | } | 114 | } |
3245 | 113 | 115 | ||
3246 | === modified file 'm4/pandora_canonical.m4' | |||
3247 | --- m4/pandora_canonical.m4 2010-01-02 05:10:47 +0000 | |||
3248 | +++ m4/pandora_canonical.m4 2010-01-12 00:36:12 +0000 | |||
3249 | @@ -4,7 +4,7 @@ | |||
3250 | 4 | dnl with or without modifications, as long as this notice is preserved. | 4 | dnl with or without modifications, as long as this notice is preserved. |
3251 | 5 | 5 | ||
3252 | 6 | dnl Which version of the canonical setup we're using | 6 | dnl Which version of the canonical setup we're using |
3254 | 7 | AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.92]) | 7 | AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.94]) |
3255 | 8 | 8 | ||
3256 | 9 | AC_DEFUN([PANDORA_FORCE_DEPEND_TRACKING],[ | 9 | AC_DEFUN([PANDORA_FORCE_DEPEND_TRACKING],[ |
3257 | 10 | AC_ARG_ENABLE([fat-binaries], | 10 | AC_ARG_ENABLE([fat-binaries], |
3258 | 11 | 11 | ||
3259 | === modified file 'm4/pandora_have_libmemcached.m4' | |||
3260 | --- m4/pandora_have_libmemcached.m4 2009-12-02 02:57:53 +0000 | |||
3261 | +++ m4/pandora_have_libmemcached.m4 2010-01-12 00:36:12 +0000 | |||
3262 | @@ -24,10 +24,28 @@ | |||
3263 | 24 | memcached_dump_func *df; | 24 | memcached_dump_func *df; |
3264 | 25 | memcached_lib_version(); | 25 | memcached_lib_version(); |
3265 | 26 | ]) | 26 | ]) |
3266 | 27 | AC_LIB_HAVE_LINKFLAGS(memcachedprotocol,,[ | ||
3267 | 28 | #include <libmemcached/protocol_handler.h> | ||
3268 | 29 | ],[ | ||
3269 | 30 | struct memcached_protocol_st *protocol_handle; | ||
3270 | 31 | protocol_handle= memcached_protocol_create_instance(); | ||
3271 | 32 | ]) | ||
3272 | 27 | ],[ | 33 | ],[ |
3273 | 28 | ac_cv_libmemcached="no" | 34 | ac_cv_libmemcached="no" |
3274 | 29 | ]) | 35 | ]) |
3275 | 30 | 36 | ||
3276 | 37 | AC_CACHE_CHECK([if libmemcached has memcached_server_fn], | ||
3277 | 38 | [pandora_cv_libmemcached_server_fn], | ||
3278 | 39 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | ||
3279 | 40 | #include <libmemcached/memcached.h> | ||
3280 | 41 | memcached_server_fn callbacks[1]; | ||
3281 | 42 | ]])], | ||
3282 | 43 | [pandora_cv_libmemcached_server_fn=yes], | ||
3283 | 44 | [pandora_cv_libmemcached_server_fn=no])]) | ||
3284 | 45 | AS_IF([test "x$pandora_cv_libmemcached_server_fn" = "xyes"],[ | ||
3285 | 46 | AC_DEFINE([HAVE_MEMCACHED_SERVER_FN],[1],[If we have the new memcached_server_fn typedef]) | ||
3286 | 47 | ]) | ||
3287 | 48 | |||
3288 | 31 | AM_CONDITIONAL(HAVE_LIBMEMCACHED, [test "x${ac_cv_libmemcached}" = "xyes"]) | 49 | AM_CONDITIONAL(HAVE_LIBMEMCACHED, [test "x${ac_cv_libmemcached}" = "xyes"]) |
3289 | 32 | 50 | ||
3290 | 33 | ]) | 51 | ]) |
3291 | @@ -41,3 +59,4 @@ | |||
3292 | 41 | AS_IF([test x$ac_cv_libmemcached = xno], | 59 | AS_IF([test x$ac_cv_libmemcached = xno], |
3293 | 42 | AC_MSG_ERROR([libmemcached is required for ${PACKAGE}])) | 60 | AC_MSG_ERROR([libmemcached is required for ${PACKAGE}])) |
3294 | 43 | ]) | 61 | ]) |
3295 | 62 | |||
3296 | 44 | 63 | ||
3297 | === modified file 'support/libmemcached.spec.in' | |||
3298 | --- support/libmemcached.spec.in 2009-12-17 17:28:30 +0000 | |||
3299 | +++ support/libmemcached.spec.in 2010-01-12 00:36:12 +0000 | |||
3300 | @@ -4,7 +4,7 @@ | |||
3301 | 4 | Release: 1 | 4 | Release: 1 |
3302 | 5 | License: BSD | 5 | License: BSD |
3303 | 6 | Group: System Environment/Libraries | 6 | Group: System Environment/Libraries |
3305 | 7 | URL: http://tangent.org/552/libmemcached.html | 7 | URL: http://launchpad.net/libmemcached |
3306 | 8 | Source0: http://download.tangent.org/libmemcached-%{version}.tar.gz | 8 | Source0: http://download.tangent.org/libmemcached-%{version}.tar.gz |
3307 | 9 | 9 | ||
3308 | 10 | # For test suite | 10 | # For test suite |
3309 | @@ -78,32 +78,65 @@ | |||
3310 | 78 | %defattr (-,root,root,-) | 78 | %defattr (-,root,root,-) |
3311 | 79 | %doc AUTHORS COPYING NEWS README THANKS TODO | 79 | %doc AUTHORS COPYING NEWS README THANKS TODO |
3312 | 80 | %{_bindir}/mem* | 80 | %{_bindir}/mem* |
3313 | 81 | %exclude %{_libdir}/libmemcached.a | ||
3314 | 82 | %exclude %{_libdir}/libmemcached.la | 81 | %exclude %{_libdir}/libmemcached.la |
3317 | 83 | %exclude %{_libdir}/libmemcachedutil.a | 82 | %exclude %{_libdir}/libhashkit.la |
3316 | 84 | %exclude %{_libdir}/libmemcachedprotocol.a | ||
3318 | 85 | %exclude %{_libdir}/libmemcachedutil.la | 83 | %exclude %{_libdir}/libmemcachedutil.la |
3319 | 86 | %exclude %{_libdir}/libmemcachedprotocol.la | 84 | %exclude %{_libdir}/libmemcachedprotocol.la |
3320 | 85 | %{_libdir}/libhashkit.so.* | ||
3321 | 87 | %{_libdir}/libmemcached.so.* | 86 | %{_libdir}/libmemcached.so.* |
3322 | 88 | %{_libdir}/libmemcachedutil.so.* | 87 | %{_libdir}/libmemcachedutil.so.* |
3323 | 89 | %{_libdir}/libmemcachedprotocol.so.* | 88 | %{_libdir}/libmemcachedprotocol.so.* |
3324 | 90 | %{_mandir}/man1/mem* | 89 | %{_mandir}/man1/mem* |
3325 | 91 | %exclude libhashkit/* | ||
3326 | 92 | 90 | ||
3327 | 93 | 91 | ||
3328 | 94 | %files devel | 92 | %files devel |
3329 | 95 | %defattr (-,root,root,-) | 93 | %defattr (-,root,root,-) |
3330 | 96 | %doc examples | 94 | %doc examples |
3332 | 97 | %{_includedir}/libmemcached | 95 | %{_includedir}/libhashkit/algorithm.h |
3333 | 96 | %{_includedir}/libhashkit/behavior.h | ||
3334 | 97 | %{_includedir}/libhashkit/hashkit.h | ||
3335 | 98 | %{_includedir}/libhashkit/strerror.h | ||
3336 | 99 | %{_includedir}/libhashkit/types.h | ||
3337 | 100 | %{_includedir}/libhashkit/visibility.h | ||
3338 | 101 | %{_includedir}/libmemcached/analyze.h | ||
3339 | 102 | %{_includedir}/libmemcached/auto.h | ||
3340 | 103 | %{_includedir}/libmemcached/behavior.h | ||
3341 | 104 | %{_includedir}/libmemcached/callback.h | ||
3342 | 105 | %{_includedir}/libmemcached/configure.h | ||
3343 | 106 | %{_includedir}/libmemcached/constants.h | ||
3344 | 107 | %{_includedir}/libmemcached/dump.h | ||
3345 | 108 | %{_includedir}/libmemcached/exception.hpp | ||
3346 | 109 | %{_includedir}/libmemcached/get.h | ||
3347 | 110 | %{_includedir}/libmemcached/memcached.h | ||
3348 | 111 | %{_includedir}/libmemcached/memcached.hpp | ||
3349 | 112 | %{_includedir}/libmemcached/memcached_util.h | ||
3350 | 113 | %{_includedir}/libmemcached/protocol | ||
3351 | 114 | %{_includedir}/libmemcached/protocol/cache.h | ||
3352 | 115 | %{_includedir}/libmemcached/protocol/callback.h | ||
3353 | 116 | %{_includedir}/libmemcached/protocol_handler.h | ||
3354 | 117 | %{_includedir}/libmemcached/result.h | ||
3355 | 118 | %{_includedir}/libmemcached/server.h | ||
3356 | 119 | %{_includedir}/libmemcached/stats.h | ||
3357 | 120 | %{_includedir}/libmemcached/storage.h | ||
3358 | 121 | %{_includedir}/libmemcached/string.h | ||
3359 | 122 | %{_includedir}/libmemcached/types.h | ||
3360 | 123 | %{_includedir}/libmemcached/util/pool.h | ||
3361 | 124 | %{_includedir}/libmemcached/visibility.h | ||
3362 | 125 | %{_includedir}/libmemcached/watchpoint.h | ||
3363 | 126 | %{_libdir}/libhashkit.so | ||
3364 | 98 | %{_libdir}/libmemcached.so | 127 | %{_libdir}/libmemcached.so |
3365 | 128 | %{_libdir}/libmemcachedprotocol.so | ||
3366 | 99 | %{_libdir}/libmemcachedutil.so | 129 | %{_libdir}/libmemcachedutil.so |
3367 | 100 | %{_libdir}/libmemcachedprotocol.so | ||
3368 | 101 | %{_libdir}/pkgconfig/libmemcached.pc | 130 | %{_libdir}/pkgconfig/libmemcached.pc |
3369 | 131 | %{_mandir}/man3/hashkit*.3.gz | ||
3370 | 102 | %{_mandir}/man3/libmemcached*.3.gz | 132 | %{_mandir}/man3/libmemcached*.3.gz |
3371 | 103 | %{_mandir}/man3/memcached_*.3.gz | 133 | %{_mandir}/man3/memcached_*.3.gz |
3372 | 104 | 134 | ||
3373 | 105 | 135 | ||
3374 | 106 | %changelog | 136 | %changelog |
3375 | 137 | * Fri Jan 8 2010 Brian Aker <brian@tangent.org> - 0.37-1 | ||
3376 | 138 | - Modified to be explicit in install include files. | ||
3377 | 139 | |||
3378 | 107 | * Sat Apr 25 2009 Remi Collet <rpms@famillecollet.com> - 0.28-1 | 140 | * Sat Apr 25 2009 Remi Collet <rpms@famillecollet.com> - 0.28-1 |
3379 | 108 | - Initial RPM from Brian Aker spec | 141 | - Initial RPM from Brian Aker spec |
3380 | 109 | - create -devel subpackage | 142 | - create -devel subpackage |
3381 | 110 | 143 | ||
3382 | === modified file 'tests/function.c' | |||
3383 | --- tests/function.c 2009-12-18 22:23:40 +0000 | |||
3384 | +++ tests/function.c 2010-01-12 00:36:12 +0000 | |||
3385 | @@ -108,8 +108,8 @@ | |||
3386 | 108 | { | 108 | { |
3387 | 109 | test_ports[x]= (uint32_t)random() % 64000; | 109 | test_ports[x]= (uint32_t)random() % 64000; |
3388 | 110 | rc= memcached_server_add_with_weight(local_memc, "localhost", test_ports[x], 0); | 110 | rc= memcached_server_add_with_weight(local_memc, "localhost", test_ports[x], 0); |
3391 | 111 | test_truth(local_memc->number_of_hosts == x + 1); | 111 | test_truth(memcached_server_count(local_memc) == x + 1); |
3392 | 112 | test_truth(local_memc->hosts[0].count == x+1); | 112 | test_truth(memcached_servers_count(local_memc->hosts) == x+1); |
3393 | 113 | test_truth(rc == MEMCACHED_SUCCESS); | 113 | test_truth(rc == MEMCACHED_SUCCESS); |
3394 | 114 | } | 114 | } |
3395 | 115 | 115 | ||
3396 | @@ -179,8 +179,8 @@ | |||
3397 | 179 | { | 179 | { |
3398 | 180 | test_ports[x]= (uint32_t)(random() % 64000); | 180 | test_ports[x]= (uint32_t)(random() % 64000); |
3399 | 181 | rc= memcached_server_add_with_weight(local_memc, "localhost", test_ports[x], 0); | 181 | rc= memcached_server_add_with_weight(local_memc, "localhost", test_ports[x], 0); |
3402 | 182 | test_truth(local_memc->number_of_hosts == x+1); | 182 | test_truth(memcached_server_count(local_memc) == x+1); |
3403 | 183 | test_truth(local_memc->hosts[0].count == x+1); | 183 | test_truth(memcached_servers_count(local_memc->hosts) == x+1); |
3404 | 184 | test_truth(rc == MEMCACHED_SUCCESS); | 184 | test_truth(rc == MEMCACHED_SUCCESS); |
3405 | 185 | } | 185 | } |
3406 | 186 | 186 | ||
3407 | @@ -2030,11 +2030,7 @@ | |||
3408 | 2030 | size_t return_value_length; | 2030 | size_t return_value_length; |
3409 | 2031 | 2031 | ||
3410 | 2032 | /* Here we free everything before running a bunch of mget tests */ | 2032 | /* Here we free everything before running a bunch of mget tests */ |
3416 | 2033 | { | 2033 | memcached_servers_reset(memc); |
3412 | 2034 | memcached_server_list_free(memc->hosts); | ||
3413 | 2035 | memc->hosts= NULL; | ||
3414 | 2036 | memc->number_of_hosts= 0; | ||
3415 | 2037 | } | ||
3417 | 2038 | 2034 | ||
3418 | 2039 | 2035 | ||
3419 | 2040 | /* We need to empty the server before continueing test */ | 2036 | /* We need to empty the server before continueing test */ |
3420 | @@ -2715,7 +2711,7 @@ | |||
3421 | 2715 | memcached_server_push(memc, server_pool); | 2711 | memcached_server_push(memc, server_pool); |
3422 | 2716 | 2712 | ||
3423 | 2717 | /* verify that the server list was parsed okay. */ | 2713 | /* verify that the server list was parsed okay. */ |
3425 | 2718 | test_truth(memc->number_of_hosts == 8); | 2714 | test_truth(memcached_server_count(memc) == 8); |
3426 | 2719 | test_truth(strcmp(server_pool[0].hostname, "10.0.1.1") == 0); | 2715 | test_truth(strcmp(server_pool[0].hostname, "10.0.1.1") == 0); |
3427 | 2720 | test_truth(server_pool[0].port == 11211); | 2716 | test_truth(server_pool[0].port == 11211); |
3428 | 2721 | test_truth(server_pool[0].weight == 600); | 2717 | test_truth(server_pool[0].weight == 600); |
3429 | @@ -2866,7 +2862,7 @@ | |||
3430 | 2866 | memcached_server_push(memc, server_pool); | 2862 | memcached_server_push(memc, server_pool); |
3431 | 2867 | 2863 | ||
3432 | 2868 | /* verify that the server list was parsed okay. */ | 2864 | /* verify that the server list was parsed okay. */ |
3434 | 2869 | test_truth(memc->number_of_hosts == 8); | 2865 | test_truth(memcached_server_count(memc) == 8); |
3435 | 2870 | test_truth(strcmp(server_pool[0].hostname, "10.0.1.1") == 0); | 2866 | test_truth(strcmp(server_pool[0].hostname, "10.0.1.1") == 0); |
3436 | 2871 | test_truth(server_pool[0].port == 11211); | 2867 | test_truth(server_pool[0].port == 11211); |
3437 | 2872 | test_truth(server_pool[0].weight == 600); | 2868 | test_truth(server_pool[0].weight == 600); |
3438 | @@ -3536,9 +3532,9 @@ | |||
3439 | 3536 | */ | 3532 | */ |
3440 | 3537 | memcached_return_t rc; | 3533 | memcached_return_t rc; |
3441 | 3538 | rc= memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS, | 3534 | rc= memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS, |
3443 | 3539 | memc->number_of_hosts - 1); | 3535 | memcached_server_count(memc) - 1); |
3444 | 3540 | test_truth(rc == MEMCACHED_SUCCESS); | 3536 | test_truth(rc == MEMCACHED_SUCCESS); |
3446 | 3541 | test_truth(memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS) == memc->number_of_hosts - 1); | 3537 | test_truth(memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS) == memcached_server_count(memc) - 1); |
3447 | 3542 | 3538 | ||
3448 | 3543 | return rc == MEMCACHED_SUCCESS ? TEST_SUCCESS : TEST_SKIPPED; | 3539 | return rc == MEMCACHED_SUCCESS ? TEST_SUCCESS : TEST_SKIPPED; |
3449 | 3544 | } | 3540 | } |
3450 | @@ -3843,9 +3839,7 @@ | |||
3451 | 3843 | memcached_return_t rc; | 3839 | memcached_return_t rc; |
3452 | 3844 | struct stat buf; | 3840 | struct stat buf; |
3453 | 3845 | 3841 | ||
3457 | 3846 | memcached_server_list_free(memc->hosts); | 3842 | memcached_servers_reset(memc); |
3455 | 3847 | memc->hosts= NULL; | ||
3456 | 3848 | memc->number_of_hosts= 0; | ||
3458 | 3849 | 3843 | ||
3459 | 3850 | if (stat("/tmp/memcached.socket", &buf)) | 3844 | if (stat("/tmp/memcached.socket", &buf)) |
3460 | 3851 | return TEST_SKIPPED; | 3845 | return TEST_SKIPPED; |
3461 | @@ -3935,7 +3929,7 @@ | |||
3462 | 3935 | ** way it is supposed to do!!!! | 3929 | ** way it is supposed to do!!!! |
3463 | 3936 | */ | 3930 | */ |
3464 | 3937 | int no_msg=0; | 3931 | int no_msg=0; |
3466 | 3938 | for (uint32_t x=0; x < memc->number_of_hosts; ++x) | 3932 | for (uint32_t x=0; x < memcached_server_count(memc); ++x) |
3467 | 3939 | no_msg+=(int)(memc->hosts[x].cursor_active); | 3933 | no_msg+=(int)(memc->hosts[x].cursor_active); |
3468 | 3940 | 3934 | ||
3469 | 3941 | test_truth(no_msg == 0); | 3935 | test_truth(no_msg == 0); |
3470 | @@ -4212,7 +4206,7 @@ | |||
3471 | 4212 | * within the library, and this is not a supported interface. | 4206 | * within the library, and this is not a supported interface. |
3472 | 4213 | * This is to verify correct behavior in the library | 4207 | * This is to verify correct behavior in the library |
3473 | 4214 | */ | 4208 | */ |
3475 | 4215 | for (uint32_t host= 0; host < memc->number_of_hosts; ++host) | 4209 | for (uint32_t host= 0; host < memcached_server_count(memc); ++host) |
3476 | 4216 | { | 4210 | { |
3477 | 4217 | memcached_st *memc_clone= memcached_clone(NULL, memc); | 4211 | memcached_st *memc_clone= memcached_clone(NULL, memc); |
3478 | 4218 | memc_clone->hosts[host].port= 0; | 4212 | memc_clone->hosts[host].port= 0; |
3479 | @@ -4410,11 +4404,11 @@ | |||
3480 | 4410 | 4404 | ||
3481 | 4411 | static uint16_t *get_udp_request_ids(memcached_st *memc) | 4405 | static uint16_t *get_udp_request_ids(memcached_st *memc) |
3482 | 4412 | { | 4406 | { |
3484 | 4413 | uint16_t *ids= malloc(sizeof(uint16_t) * memc->number_of_hosts); | 4407 | uint16_t *ids= malloc(sizeof(uint16_t) * memcached_server_count(memc)); |
3485 | 4414 | assert(ids != NULL); | 4408 | assert(ids != NULL); |
3486 | 4415 | unsigned int x; | 4409 | unsigned int x; |
3487 | 4416 | 4410 | ||
3489 | 4417 | for (x= 0; x < memc->number_of_hosts; x++) | 4411 | for (x= 0; x < memcached_server_count(memc); x++) |
3490 | 4418 | ids[x]= get_udp_datagram_request_id((struct udp_datagram_header_st *) memc->hosts[x].write_buffer); | 4412 | ids[x]= get_udp_datagram_request_id((struct udp_datagram_header_st *) memc->hosts[x].write_buffer); |
3491 | 4419 | 4413 | ||
3492 | 4420 | return ids; | 4414 | return ids; |
3493 | @@ -4426,7 +4420,7 @@ | |||
3494 | 4426 | memcached_server_st *cur_server = memc->hosts; | 4420 | memcached_server_st *cur_server = memc->hosts; |
3495 | 4427 | uint16_t *cur_req_ids = get_udp_request_ids(memc); | 4421 | uint16_t *cur_req_ids = get_udp_request_ids(memc); |
3496 | 4428 | 4422 | ||
3498 | 4429 | for (x= 0; x < memc->number_of_hosts; x++) | 4423 | for (x= 0; x < memcached_server_count(memc); x++) |
3499 | 4430 | { | 4424 | { |
3500 | 4431 | test_truth(cur_server[x].cursor_active == 0); | 4425 | test_truth(cur_server[x].cursor_active == 0); |
3501 | 4432 | test_truth(cur_req_ids[x] == expected_req_ids[x]); | 4426 | test_truth(cur_req_ids[x] == expected_req_ids[x]); |
3502 | @@ -4449,7 +4443,7 @@ | |||
3503 | 4449 | || memc->hosts[0].micro_version < 6) | 4443 | || memc->hosts[0].micro_version < 6) |
3504 | 4450 | return TEST_SKIPPED; | 4444 | return TEST_SKIPPED; |
3505 | 4451 | 4445 | ||
3507 | 4452 | uint32_t num_hosts= memc->number_of_hosts; | 4446 | uint32_t num_hosts= memcached_server_count(memc); |
3508 | 4453 | unsigned int x= 0; | 4447 | unsigned int x= 0; |
3509 | 4454 | memcached_server_st servers[num_hosts]; | 4448 | memcached_server_st servers[num_hosts]; |
3510 | 4455 | memcpy(servers, memc->hosts, sizeof(memcached_server_st) * num_hosts); | 4449 | memcpy(servers, memc->hosts, sizeof(memcached_server_st) * num_hosts); |
3511 | @@ -4512,7 +4506,7 @@ | |||
3512 | 4512 | test_truth(memc->flags.use_udp); | 4506 | test_truth(memc->flags.use_udp); |
3513 | 4513 | test_truth(memc->flags.no_reply); | 4507 | test_truth(memc->flags.no_reply); |
3514 | 4514 | 4508 | ||
3516 | 4515 | test_truth(memc->number_of_hosts == 0); | 4509 | test_truth(memcached_server_count(memc) == 0); |
3517 | 4516 | 4510 | ||
3518 | 4517 | memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_USE_UDP,0); | 4511 | memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_USE_UDP,0); |
3519 | 4518 | test_truth(! (memc->flags.use_udp)); | 4512 | test_truth(! (memc->flags.use_udp)); |
3520 | @@ -4619,7 +4613,7 @@ | |||
3521 | 4619 | memcached_return_t rc; | 4613 | memcached_return_t rc; |
3522 | 4620 | uint16_t *expected_ids= get_udp_request_ids(memc); | 4614 | uint16_t *expected_ids= get_udp_request_ids(memc); |
3523 | 4621 | unsigned int x; | 4615 | unsigned int x; |
3525 | 4622 | for (x= 0; x < memc->number_of_hosts;x++) | 4616 | for (x= 0; x < memcached_server_count(memc); x++) |
3526 | 4623 | increment_request_id(&expected_ids[x]); | 4617 | increment_request_id(&expected_ids[x]); |
3527 | 4624 | 4618 | ||
3528 | 4625 | rc= memcached_verbosity(memc,3); | 4619 | rc= memcached_verbosity(memc,3); |
3529 | @@ -4639,7 +4633,7 @@ | |||
3530 | 4639 | memcached_return_t rc; | 4633 | memcached_return_t rc; |
3531 | 4640 | uint16_t *expected_ids= get_udp_request_ids(memc); | 4634 | uint16_t *expected_ids= get_udp_request_ids(memc); |
3532 | 4641 | unsigned int x; | 4635 | unsigned int x; |
3534 | 4642 | for (x= 0; x < memc->number_of_hosts;x++) | 4636 | for (x= 0; x < memcached_server_count(memc);x++) |
3535 | 4643 | increment_request_id(&expected_ids[x]); | 4637 | increment_request_id(&expected_ids[x]); |
3536 | 4644 | 4638 | ||
3537 | 4645 | rc= memcached_flush(memc,0); | 4639 | rc= memcached_flush(memc,0); |
3538 | @@ -4964,7 +4958,7 @@ | |||
3539 | 4964 | memcached_server_push(memc, server_pool); | 4958 | memcached_server_push(memc, server_pool); |
3540 | 4965 | 4959 | ||
3541 | 4966 | /* verify that the server list was parsed okay. */ | 4960 | /* verify that the server list was parsed okay. */ |
3543 | 4967 | test_truth(memc->number_of_hosts == 8); | 4961 | test_truth(memcached_server_count(memc) == 8); |
3544 | 4968 | test_strcmp(server_pool[0].hostname, "10.0.1.1"); | 4962 | test_strcmp(server_pool[0].hostname, "10.0.1.1"); |
3545 | 4969 | test_truth(server_pool[0].port == 11211); | 4963 | test_truth(server_pool[0].port == 11211); |
3546 | 4970 | test_truth(server_pool[0].weight == 600); | 4964 | test_truth(server_pool[0].weight == 600); |
3547 | @@ -5021,7 +5015,7 @@ | |||
3548 | 5021 | memcached_server_push(memc, server_pool); | 5015 | memcached_server_push(memc, server_pool); |
3549 | 5022 | 5016 | ||
3550 | 5023 | /* verify that the server list was parsed okay. */ | 5017 | /* verify that the server list was parsed okay. */ |
3552 | 5024 | test_truth(memc->number_of_hosts == 8); | 5018 | test_truth(memcached_server_count(memc) == 8); |
3553 | 5025 | test_strcmp(server_pool[0].hostname, "10.0.1.1"); | 5019 | test_strcmp(server_pool[0].hostname, "10.0.1.1"); |
3554 | 5026 | test_truth(server_pool[0].port == 11211); | 5020 | test_truth(server_pool[0].port == 11211); |
3555 | 5027 | test_truth(server_pool[0].weight == 600); | 5021 | test_truth(server_pool[0].weight == 600); |
3556 | @@ -5094,7 +5088,7 @@ | |||
3557 | 5094 | * 1024 (that should satisfy most users don't you think?). Future versions | 5088 | * 1024 (that should satisfy most users don't you think?). Future versions |
3558 | 5095 | * will include a mget_execute function call if you need a higher number. | 5089 | * will include a mget_execute function call if you need a higher number. |
3559 | 5096 | */ | 5090 | */ |
3561 | 5097 | uint32_t number_of_hosts= memc->number_of_hosts; | 5091 | uint32_t number_of_hosts= memcached_server_count(memc); |
3562 | 5098 | memc->number_of_hosts= 1; | 5092 | memc->number_of_hosts= 1; |
3563 | 5099 | const size_t max_keys= 1024; | 5093 | const size_t max_keys= 1024; |
3564 | 5100 | char **keys= calloc(max_keys, sizeof(char*)); | 5094 | char **keys= calloc(max_keys, sizeof(char*)); |
3565 | @@ -5143,6 +5137,7 @@ | |||
3566 | 5143 | free(key_length); | 5137 | free(key_length); |
3567 | 5144 | 5138 | ||
3568 | 5145 | memc->number_of_hosts= number_of_hosts; | 5139 | memc->number_of_hosts= number_of_hosts; |
3569 | 5140 | |||
3570 | 5146 | return TEST_SUCCESS; | 5141 | return TEST_SUCCESS; |
3571 | 5147 | } | 5142 | } |
3572 | 5148 | 5143 | ||
3573 | @@ -5204,7 +5199,7 @@ | |||
3574 | 5204 | test_truth(rc == MEMCACHED_SUCCESS); | 5199 | test_truth(rc == MEMCACHED_SUCCESS); |
3575 | 5205 | memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, 1); | 5200 | memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, 1); |
3576 | 5206 | 5201 | ||
3578 | 5207 | uint32_t number_of_hosts= memc->number_of_hosts; | 5202 | uint32_t number_of_hosts= memcached_server_count(memc); |
3579 | 5208 | memc->number_of_hosts= 1; | 5203 | memc->number_of_hosts= 1; |
3580 | 5209 | 5204 | ||
3581 | 5210 | char k[250]; | 5205 | char k[250]; |
3582 | @@ -5233,7 +5228,7 @@ | |||
3583 | 5233 | 5228 | ||
3584 | 5234 | static test_return_t regression_bug_447342(memcached_st *memc) | 5229 | static test_return_t regression_bug_447342(memcached_st *memc) |
3585 | 5235 | { | 5230 | { |
3587 | 5236 | if (memc->number_of_hosts < 3 || pre_replication(memc) != MEMCACHED_SUCCESS) | 5231 | if (memcached_server_count(memc) < 3 || pre_replication(memc) != MEMCACHED_SUCCESS) |
3588 | 5237 | return TEST_SKIPPED; | 5232 | return TEST_SKIPPED; |
3589 | 5238 | 5233 | ||
3590 | 5239 | memcached_return_t rc; | 5234 | memcached_return_t rc; |
3591 | @@ -5469,7 +5464,7 @@ | |||
3592 | 5469 | * in a non-portable way and you shouldn't be doing this. I'm only | 5464 | * in a non-portable way and you shouldn't be doing this. I'm only |
3593 | 5470 | * doing this in order to verify that the library works the way it should | 5465 | * doing this in order to verify that the library works the way it should |
3594 | 5471 | */ | 5466 | */ |
3596 | 5472 | uint32_t number_of_hosts= memc->number_of_hosts; | 5467 | uint32_t number_of_hosts= memcached_server_count(memc); |
3597 | 5473 | memc->number_of_hosts= 1; | 5468 | memc->number_of_hosts= 1; |
3598 | 5474 | 5469 | ||
3599 | 5475 | /* Ensure that we are connected to the server by setting a value */ | 5470 | /* Ensure that we are connected to the server by setting a value */ |
Updated pandora-build. Also, fixed a header include - because it sure is used in the server protocol headers.