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