memcached 1.2.6 → 1.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +2 -0
- data/Manifest +206 -12
- data/Rakefile +32 -1
- data/ext/extconf.rb +10 -35
- data/ext/libmemcached-0.32/AUTHORS +7 -0
- data/ext/libmemcached-0.32/COPYING +32 -0
- data/ext/libmemcached-0.32/ChangeLog +303 -0
- data/ext/libmemcached-0.32/INSTALL +302 -0
- data/ext/libmemcached-0.32/Makefile.am +36 -0
- data/ext/libmemcached-0.32/Makefile.in +828 -0
- data/ext/libmemcached-0.32/NEWS +1 -0
- data/ext/libmemcached-0.32/README +33 -0
- data/ext/libmemcached-0.32/THANKS +14 -0
- data/ext/libmemcached-0.32/TODO +11 -0
- data/ext/libmemcached-0.32/aclocal.m4 +1852 -0
- data/ext/libmemcached-0.32/clients/Makefile.am +73 -0
- data/ext/libmemcached-0.32/clients/Makefile.in +770 -0
- data/ext/libmemcached-0.32/clients/client_options.h +32 -0
- data/ext/libmemcached-0.32/clients/execute.c +64 -0
- data/ext/libmemcached-0.32/clients/execute.h +5 -0
- data/ext/libmemcached-0.32/clients/generator.c +74 -0
- data/ext/libmemcached-0.32/clients/generator.h +20 -0
- data/ext/libmemcached-0.32/clients/memcat.c +178 -0
- data/ext/libmemcached-0.32/clients/memcp.c +251 -0
- data/ext/libmemcached-0.32/clients/memdump.c +170 -0
- data/ext/libmemcached-0.32/clients/memerror.c +80 -0
- data/ext/libmemcached-0.32/clients/memflush.c +143 -0
- data/ext/libmemcached-0.32/clients/memrm.c +160 -0
- data/ext/libmemcached-0.32/clients/memslap.c +441 -0
- data/ext/libmemcached-0.32/clients/memstat.c +326 -0
- data/ext/libmemcached-0.32/clients/utilities.c +207 -0
- data/ext/libmemcached-0.32/clients/utilities.h +41 -0
- data/ext/libmemcached-0.32/config.h.in +252 -0
- data/ext/libmemcached-0.32/config/compile +143 -0
- data/ext/libmemcached-0.32/config/config.guess +1561 -0
- data/ext/libmemcached-0.32/config/config.rpath +666 -0
- data/ext/libmemcached-0.32/config/config.sub +1686 -0
- data/ext/libmemcached-0.32/config/depcomp +630 -0
- data/ext/libmemcached-0.32/config/install-sh +520 -0
- data/ext/libmemcached-0.32/config/ltmain.sh +8406 -0
- data/ext/libmemcached-0.32/config/missing +376 -0
- data/ext/libmemcached-0.32/configure +23048 -0
- data/ext/libmemcached-0.32/configure.ac +122 -0
- data/ext/libmemcached-0.32/docs/Makefile.am +415 -0
- data/ext/libmemcached-0.32/docs/Makefile.in +918 -0
- data/ext/libmemcached-0.32/docs/libmemcached.pod +123 -0
- data/ext/libmemcached-0.32/docs/libmemcached_examples.pod +115 -0
- data/ext/libmemcached-0.32/docs/libmemcachedutil.pod +40 -0
- data/ext/libmemcached-0.32/docs/memcached_analyze.pod +52 -0
- data/ext/libmemcached-0.32/docs/memcached_auto.pod +97 -0
- data/ext/libmemcached-0.32/docs/memcached_behavior.pod +224 -0
- data/ext/libmemcached-0.32/docs/memcached_callback.pod +123 -0
- data/ext/libmemcached-0.32/docs/memcached_create.pod +61 -0
- data/ext/libmemcached-0.32/docs/memcached_delete.pod +54 -0
- data/ext/libmemcached-0.32/docs/memcached_dump.pod +53 -0
- data/ext/libmemcached-0.32/docs/memcached_flush.pod +46 -0
- data/ext/libmemcached-0.32/docs/memcached_flush_buffers.pod +42 -0
- data/ext/libmemcached-0.32/docs/memcached_generate_hash_value.pod +57 -0
- data/ext/libmemcached-0.32/docs/memcached_get.pod +161 -0
- data/ext/libmemcached-0.32/docs/memcached_memory_allocators.pod +73 -0
- data/ext/libmemcached-0.32/docs/memcached_pool.pod +77 -0
- data/ext/libmemcached-0.32/docs/memcached_quit.pod +47 -0
- data/ext/libmemcached-0.32/docs/memcached_sasl.pod +63 -0
- data/ext/libmemcached-0.32/docs/memcached_server_st.pod +75 -0
- data/ext/libmemcached-0.32/docs/memcached_servers.pod +102 -0
- data/ext/libmemcached-0.32/docs/memcached_set.pod +187 -0
- data/ext/libmemcached-0.32/docs/memcached_stats.pod +82 -0
- data/ext/libmemcached-0.32/docs/memcached_strerror.pod +46 -0
- data/ext/libmemcached-0.32/docs/memcached_user_data.pod +49 -0
- data/ext/libmemcached-0.32/docs/memcached_verbosity.pod +41 -0
- data/ext/libmemcached-0.32/docs/memcached_version.pod +56 -0
- data/ext/libmemcached-0.32/docs/memcat.pod +37 -0
- data/ext/libmemcached-0.32/docs/memcp.pod +40 -0
- data/ext/libmemcached-0.32/docs/memdump.pod +31 -0
- data/ext/libmemcached-0.32/docs/memerror.pod +30 -0
- data/ext/libmemcached-0.32/docs/memflush.pod +35 -0
- data/ext/libmemcached-0.32/docs/memrm.pod +34 -0
- data/ext/libmemcached-0.32/docs/memslap.pod +33 -0
- data/ext/libmemcached-0.32/docs/memstat.pod +35 -0
- data/ext/libmemcached-0.32/libmemcached/Makefile.am +107 -0
- data/ext/libmemcached-0.32/libmemcached/Makefile.in +1050 -0
- data/ext/libmemcached-0.32/libmemcached/byteorder.c +31 -0
- data/ext/libmemcached-0.32/libmemcached/common.h +183 -0
- data/ext/libmemcached-0.32/libmemcached/crc.c +86 -0
- data/ext/libmemcached-0.32/libmemcached/hsieh_hash.c +68 -0
- data/ext/libmemcached-0.32/libmemcached/jenkins_hash.c +213 -0
- data/ext/libmemcached-0.32/libmemcached/libmemcached.ver +1 -0
- data/ext/libmemcached-0.32/libmemcached/libmemcached_probes.d +28 -0
- data/ext/libmemcached-0.32/libmemcached/libmemcached_probes.h +78 -0
- data/ext/libmemcached-0.32/libmemcached/md5.c +354 -0
- data/ext/libmemcached-0.32/libmemcached/memcached.c +152 -0
- data/ext/libmemcached-0.32/libmemcached/memcached.h +302 -0
- data/ext/libmemcached-0.32/libmemcached/memcached.hpp +799 -0
- data/ext/libmemcached-0.32/libmemcached/memcached/README.txt +7 -0
- data/ext/libmemcached-0.32/libmemcached/memcached/protocol_binary.h +366 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_allocators.c +72 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_analyze.c +100 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_auto.c +207 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_behavior.c +285 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_callback.c +175 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_configure.h.in +23 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_connect.c +361 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_constants.h +145 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_delete.c +0 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_do.c +34 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_dump.c +79 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_fetch.c +102 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_flush.c +89 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_flush_buffers.c +22 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_get.c +495 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_get.h +87 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_hash.c +252 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_hosts.c +510 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_internal.h +31 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_io.c +547 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_io.h +59 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_key.c +28 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_parse.c +74 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_pool.h +38 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_purge.c +76 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_quit.c +75 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_response.c +528 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_result.c +57 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_result.h +59 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_sasl.c +225 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_sasl.h +44 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_server.c +159 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_server.h +93 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_stats.c +454 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_storage.c +514 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_storage.h +107 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_strerror.c +92 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_string.c +138 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_string.h +53 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_types.h +44 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_util.h +15 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_verbosity.c +36 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_version.c +112 -0
- data/ext/libmemcached-0.32/libmemcached/memcached_watchpoint.h +38 -0
- data/ext/libmemcached-0.32/libmemcached/murmur_hash.c +76 -0
- data/ext/libmemcached-0.32/libmemcached/visibility.h +51 -0
- data/ext/libmemcached-0.32/libmemcachedutil/Makefile.am +11 -0
- data/ext/libmemcached-0.32/libmemcachedutil/Makefile.in +602 -0
- data/ext/libmemcached-0.32/libmemcachedutil/libmemcachedutil.ver +1 -0
- data/ext/libmemcached-0.32/libmemcachedutil/memcached_pool.c +170 -0
- data/ext/libmemcached-0.32/m4/ac_cxx_compile_stdcxx_0x.m4 +103 -0
- data/ext/libmemcached-0.32/m4/ac_cxx_header_stdcxx_98.m4 +67 -0
- data/ext/libmemcached-0.32/m4/acx_pthread.m4 +276 -0
- data/ext/libmemcached-0.32/m4/byteorder.m4 +40 -0
- data/ext/libmemcached-0.32/m4/deprecated.m4 +17 -0
- data/ext/libmemcached-0.32/m4/enable_utillib.m4 +16 -0
- data/ext/libmemcached-0.32/m4/extensions.m4 +94 -0
- data/ext/libmemcached-0.32/m4/hsieh.m4 +18 -0
- data/ext/libmemcached-0.32/m4/lib-prefix.m4 +221 -0
- data/ext/libmemcached-0.32/m4/libtool.m4 +7360 -0
- data/ext/libmemcached-0.32/m4/ltoptions.m4 +368 -0
- data/ext/libmemcached-0.32/m4/ltsugar.m4 +123 -0
- data/ext/libmemcached-0.32/m4/ltversion.m4 +23 -0
- data/ext/libmemcached-0.32/m4/lt~obsolete.m4 +92 -0
- data/ext/libmemcached-0.32/m4/memcached.m4 +30 -0
- data/ext/libmemcached-0.32/m4/pandora_64bit.m4 +55 -0
- data/ext/libmemcached-0.32/m4/pandora_canonical.m4 +151 -0
- data/ext/libmemcached-0.32/m4/pandora_check_compiler_version.m4 +37 -0
- data/ext/libmemcached-0.32/m4/pandora_check_cxx_standard.m4 +16 -0
- data/ext/libmemcached-0.32/m4/pandora_enable_dtrace.m4 +41 -0
- data/ext/libmemcached-0.32/m4/pandora_ensure_gcc_version.m4 +36 -0
- data/ext/libmemcached-0.32/m4/pandora_have_better_malloc.m4 +54 -0
- data/ext/libmemcached-0.32/m4/pandora_have_sasl.m4 +133 -0
- data/ext/libmemcached-0.32/m4/pandora_header_assert.m4 +23 -0
- data/ext/libmemcached-0.32/m4/pandora_libtool.m4 +15 -0
- data/ext/libmemcached-0.32/m4/pandora_optimize.m4 +79 -0
- data/ext/libmemcached-0.32/m4/pandora_shared_ptr.m4 +56 -0
- data/ext/libmemcached-0.32/m4/pandora_vc_build.m4 +32 -0
- data/ext/libmemcached-0.32/m4/pandora_warnings.m4 +262 -0
- data/ext/libmemcached-0.32/m4/pod2man.m4 +7 -0
- data/ext/libmemcached-0.32/m4/protocol_binary.m4 +23 -0
- data/ext/libmemcached-0.32/m4/setsockopt.m4 +57 -0
- data/ext/libmemcached-0.32/m4/visibility.m4 +52 -0
- data/ext/libmemcached-0.32/support/Makefile.am +4 -0
- data/ext/libmemcached-0.32/support/Makefile.in +485 -0
- data/ext/libmemcached-0.32/support/libmemcached-fc.spec.in +105 -0
- data/ext/libmemcached-0.32/support/libmemcached.pc.in +10 -0
- data/ext/libmemcached-0.32/support/libmemcached.spec +105 -0
- data/ext/libmemcached-0.32/support/libmemcached.spec.in +105 -0
- data/ext/libmemcached-0.32/support/set_benchmark.sh +5 -0
- data/ext/libmemcached-0.32/tests/Makefile.am +105 -0
- data/ext/libmemcached-0.32/tests/Makefile.in +748 -0
- data/ext/libmemcached-0.32/tests/atomsmasher.c +245 -0
- data/ext/libmemcached-0.32/tests/function.c +4781 -0
- data/ext/libmemcached-0.32/tests/ketama_test_cases.h +108 -0
- data/ext/libmemcached-0.32/tests/output.cmp +7 -0
- data/ext/libmemcached-0.32/tests/output.res +7 -0
- data/ext/libmemcached-0.32/tests/output2.res +46 -0
- data/ext/libmemcached-0.32/tests/plus.cpp +293 -0
- data/ext/libmemcached-0.32/tests/r/memcat.res +19 -0
- data/ext/libmemcached-0.32/tests/r/memcp.res +27 -0
- data/ext/libmemcached-0.32/tests/r/memrm.res +19 -0
- data/ext/libmemcached-0.32/tests/r/memslap.res +33 -0
- data/ext/libmemcached-0.32/tests/r/memstat.res +33 -0
- data/ext/libmemcached-0.32/tests/server.c +118 -0
- data/ext/libmemcached-0.32/tests/server.h +25 -0
- data/ext/libmemcached-0.32/tests/start.c +16 -0
- data/ext/libmemcached-0.32/tests/t/memcat.test +4 -0
- data/ext/libmemcached-0.32/tests/t/memcp.test +3 -0
- data/ext/libmemcached-0.32/tests/t/memrm.test +3 -0
- data/ext/libmemcached-0.32/tests/t/memslap.test +5 -0
- data/ext/libmemcached-0.32/tests/t/memstat.test +3 -0
- data/ext/libmemcached-0.32/tests/test.c +137 -0
- data/ext/libmemcached-0.32/tests/test.h +46 -0
- data/ext/libmemcached-0.32/tests/udp.c +76 -0
- data/memcached.gemspec +4 -4
- data/test/unit/memcached_test.rb +30 -0
- metadata +213 -16
- data/ext/libmemcached-0.32.tar.gz +0 -0
- data/ext/libmemcached-1.patch +0 -270
- data/ext/libmemcached-10.patch +0 -12
- data/ext/libmemcached-2.patch +0 -116
- data/ext/libmemcached-3.patch +0 -8
- data/ext/libmemcached-4.patch +0 -40
- data/ext/libmemcached-5.patch +0 -832
- data/ext/libmemcached-6.patch +0 -20
- data/ext/libmemcached-7.patch +0 -2989
- data/ext/libmemcached-8.patch +0 -137
- data/ext/libmemcached-9.patch +0 -13
- data/ext/sasl.patch +0 -29283
@@ -0,0 +1,107 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: Storage functions for libmemcached
|
3
|
+
*
|
4
|
+
* Copy: See Copyright for the status of this software.
|
5
|
+
*
|
6
|
+
* Author: Brian Aker
|
7
|
+
*/
|
8
|
+
|
9
|
+
#ifndef __MEMCACHED_STORAGE_H__
|
10
|
+
#define __MEMCACHED_STORAGE_H__
|
11
|
+
|
12
|
+
#include "libmemcached/memcached_types.h"
|
13
|
+
|
14
|
+
#ifdef __cplusplus
|
15
|
+
extern "C" {
|
16
|
+
#endif
|
17
|
+
|
18
|
+
/* All of the functions for adding data to the server */
|
19
|
+
LIBMEMCACHED_API
|
20
|
+
memcached_return memcached_set(memcached_st *ptr, const char *key, size_t key_length,
|
21
|
+
const char *value, size_t value_length,
|
22
|
+
time_t expiration,
|
23
|
+
uint32_t flags);
|
24
|
+
LIBMEMCACHED_API
|
25
|
+
memcached_return memcached_add(memcached_st *ptr, const char *key, size_t key_length,
|
26
|
+
const char *value, size_t value_length,
|
27
|
+
time_t expiration,
|
28
|
+
uint32_t flags);
|
29
|
+
LIBMEMCACHED_API
|
30
|
+
memcached_return memcached_replace(memcached_st *ptr, const char *key, size_t key_length,
|
31
|
+
const char *value, size_t value_length,
|
32
|
+
time_t expiration,
|
33
|
+
uint32_t flags);
|
34
|
+
LIBMEMCACHED_API
|
35
|
+
memcached_return memcached_append(memcached_st *ptr,
|
36
|
+
const char *key, size_t key_length,
|
37
|
+
const char *value, size_t value_length,
|
38
|
+
time_t expiration,
|
39
|
+
uint32_t flags);
|
40
|
+
LIBMEMCACHED_API
|
41
|
+
memcached_return memcached_prepend(memcached_st *ptr,
|
42
|
+
const char *key, size_t key_length,
|
43
|
+
const char *value, size_t value_length,
|
44
|
+
time_t expiration,
|
45
|
+
uint32_t flags);
|
46
|
+
LIBMEMCACHED_API
|
47
|
+
memcached_return memcached_cas(memcached_st *ptr,
|
48
|
+
const char *key, size_t key_length,
|
49
|
+
const char *value, size_t value_length,
|
50
|
+
time_t expiration,
|
51
|
+
uint32_t flags,
|
52
|
+
uint64_t cas);
|
53
|
+
|
54
|
+
LIBMEMCACHED_API
|
55
|
+
memcached_return memcached_set_by_key(memcached_st *ptr,
|
56
|
+
const char *master_key, size_t master_key_length,
|
57
|
+
const char *key, size_t key_length,
|
58
|
+
const char *value, size_t value_length,
|
59
|
+
time_t expiration,
|
60
|
+
uint32_t flags);
|
61
|
+
|
62
|
+
LIBMEMCACHED_API
|
63
|
+
memcached_return memcached_add_by_key(memcached_st *ptr,
|
64
|
+
const char *master_key, size_t master_key_length,
|
65
|
+
const char *key, size_t key_length,
|
66
|
+
const char *value, size_t value_length,
|
67
|
+
time_t expiration,
|
68
|
+
uint32_t flags);
|
69
|
+
|
70
|
+
LIBMEMCACHED_API
|
71
|
+
memcached_return memcached_replace_by_key(memcached_st *ptr,
|
72
|
+
const char *master_key, size_t master_key_length,
|
73
|
+
const char *key, size_t key_length,
|
74
|
+
const char *value, size_t value_length,
|
75
|
+
time_t expiration,
|
76
|
+
uint32_t flags);
|
77
|
+
|
78
|
+
LIBMEMCACHED_API
|
79
|
+
memcached_return memcached_prepend_by_key(memcached_st *ptr,
|
80
|
+
const char *master_key, size_t master_key_length,
|
81
|
+
const char *key, size_t key_length,
|
82
|
+
const char *value, size_t value_length,
|
83
|
+
time_t expiration,
|
84
|
+
uint32_t flags);
|
85
|
+
|
86
|
+
LIBMEMCACHED_API
|
87
|
+
memcached_return memcached_append_by_key(memcached_st *ptr,
|
88
|
+
const char *master_key, size_t master_key_length,
|
89
|
+
const char *key, size_t key_length,
|
90
|
+
const char *value, size_t value_length,
|
91
|
+
time_t expiration,
|
92
|
+
uint32_t flags);
|
93
|
+
|
94
|
+
LIBMEMCACHED_API
|
95
|
+
memcached_return memcached_cas_by_key(memcached_st *ptr,
|
96
|
+
const char *master_key, size_t master_key_length,
|
97
|
+
const char *key, size_t key_length,
|
98
|
+
const char *value, size_t value_length,
|
99
|
+
time_t expiration,
|
100
|
+
uint32_t flags,
|
101
|
+
uint64_t cas);
|
102
|
+
|
103
|
+
#ifdef __cplusplus
|
104
|
+
}
|
105
|
+
#endif
|
106
|
+
|
107
|
+
#endif /* __MEMCACHED_STORAGE_H__ */
|
@@ -0,0 +1,92 @@
|
|
1
|
+
#include "common.h"
|
2
|
+
|
3
|
+
const char *memcached_strerror(memcached_st *ptr __attribute__((unused)), memcached_return rc)
|
4
|
+
{
|
5
|
+
switch (rc)
|
6
|
+
{
|
7
|
+
case MEMCACHED_SUCCESS:
|
8
|
+
return "SUCCESS";
|
9
|
+
case MEMCACHED_FAILURE:
|
10
|
+
return "FAILURE";
|
11
|
+
case MEMCACHED_HOST_LOOKUP_FAILURE:
|
12
|
+
return "HOSTNAME LOOKUP FAILURE";
|
13
|
+
case MEMCACHED_CONNECTION_FAILURE:
|
14
|
+
return "CONNECTION FAILURE";
|
15
|
+
case MEMCACHED_CONNECTION_BIND_FAILURE:
|
16
|
+
return "CONNECTION BIND FAILURE";
|
17
|
+
case MEMCACHED_READ_FAILURE:
|
18
|
+
return "READ FAILURE";
|
19
|
+
case MEMCACHED_UNKNOWN_READ_FAILURE:
|
20
|
+
return "UNKNOWN READ FAILURE";
|
21
|
+
case MEMCACHED_PROTOCOL_ERROR:
|
22
|
+
return "PROTOCOL ERROR";
|
23
|
+
case MEMCACHED_CLIENT_ERROR:
|
24
|
+
return "CLIENT ERROR";
|
25
|
+
case MEMCACHED_SERVER_ERROR:
|
26
|
+
return "SERVER ERROR";
|
27
|
+
case MEMCACHED_WRITE_FAILURE:
|
28
|
+
return "WRITE FAILURE";
|
29
|
+
case MEMCACHED_CONNECTION_SOCKET_CREATE_FAILURE:
|
30
|
+
return "CONNECTION SOCKET CREATE FAILURE";
|
31
|
+
case MEMCACHED_DATA_EXISTS:
|
32
|
+
return "CONNECTION DATA EXISTS";
|
33
|
+
case MEMCACHED_DATA_DOES_NOT_EXIST:
|
34
|
+
return "CONNECTION DATA DOES NOT EXIST";
|
35
|
+
case MEMCACHED_NOTSTORED:
|
36
|
+
return "NOT STORED";
|
37
|
+
case MEMCACHED_STORED:
|
38
|
+
return "STORED";
|
39
|
+
case MEMCACHED_NOTFOUND:
|
40
|
+
return "NOT FOUND";
|
41
|
+
case MEMCACHED_MEMORY_ALLOCATION_FAILURE:
|
42
|
+
return "MEMORY ALLOCATION FAILURE";
|
43
|
+
case MEMCACHED_PARTIAL_READ:
|
44
|
+
return "PARTIAL READ";
|
45
|
+
case MEMCACHED_SOME_ERRORS:
|
46
|
+
return "SOME ERRORS WERE REPORTED";
|
47
|
+
case MEMCACHED_NO_SERVERS:
|
48
|
+
return "NO SERVERS DEFINED";
|
49
|
+
case MEMCACHED_END:
|
50
|
+
return "SERVER END";
|
51
|
+
case MEMCACHED_DELETED:
|
52
|
+
return "SERVER DELETE";
|
53
|
+
case MEMCACHED_VALUE:
|
54
|
+
return "SERVER VALUE";
|
55
|
+
case MEMCACHED_STAT:
|
56
|
+
return "STAT VALUE";
|
57
|
+
case MEMCACHED_ITEM:
|
58
|
+
return "ITEM VALUE";
|
59
|
+
case MEMCACHED_ERRNO:
|
60
|
+
return "SYSTEM ERROR";
|
61
|
+
case MEMCACHED_FAIL_UNIX_SOCKET:
|
62
|
+
return "COULD NOT OPEN UNIX SOCKET";
|
63
|
+
case MEMCACHED_NOT_SUPPORTED:
|
64
|
+
return "ACTION NOT SUPPORTED";
|
65
|
+
case MEMCACHED_FETCH_NOTFINISHED:
|
66
|
+
return "FETCH WAS NOT COMPLETED";
|
67
|
+
case MEMCACHED_NO_KEY_PROVIDED:
|
68
|
+
return "A KEY LENGTH OF ZERO WAS PROVIDED";
|
69
|
+
case MEMCACHED_BUFFERED:
|
70
|
+
return "ACTION QUEUED";
|
71
|
+
case MEMCACHED_TIMEOUT:
|
72
|
+
return "A TIMEOUT OCCURRED";
|
73
|
+
case MEMCACHED_BAD_KEY_PROVIDED:
|
74
|
+
return "A BAD KEY WAS PROVIDED/CHARACTERS OUT OF RANGE";
|
75
|
+
case MEMCACHED_INVALID_HOST_PROTOCOL:
|
76
|
+
return "THE HOST TRANSPORT PROTOCOL DOES NOT MATCH THAT OF THE CLIENT";
|
77
|
+
case MEMCACHED_SERVER_MARKED_DEAD:
|
78
|
+
return "SERVER IS MARKED DEAD";
|
79
|
+
case MEMCACHED_UNKNOWN_STAT_KEY:
|
80
|
+
return "ENCOUNTERED AN UNKNOWN STAT KEY";
|
81
|
+
case MEMCACHED_AUTH_PROBLEM:
|
82
|
+
return "FAILED TO SEND AUTHENTICATION TO SERVER";
|
83
|
+
case MEMCACHED_AUTH_FAILURE:
|
84
|
+
return "AUTHENTICATION FAILURE";
|
85
|
+
case MEMCACHED_AUTH_CONTINUE:
|
86
|
+
return "CONTINUE AUTHENTICATION";
|
87
|
+
case MEMCACHED_MAXIMUM_RETURN:
|
88
|
+
return "Gibberish returned!";
|
89
|
+
default:
|
90
|
+
return "Gibberish returned!";
|
91
|
+
}
|
92
|
+
}
|
@@ -0,0 +1,138 @@
|
|
1
|
+
#include "common.h"
|
2
|
+
|
3
|
+
memcached_return memcached_string_check(memcached_string_st *string, size_t need)
|
4
|
+
{
|
5
|
+
if (need && need > (size_t)(string->current_size - (size_t)(string->end - string->string)))
|
6
|
+
{
|
7
|
+
size_t current_offset= (size_t) (string->end - string->string);
|
8
|
+
char *new_value;
|
9
|
+
size_t adjust;
|
10
|
+
size_t new_size;
|
11
|
+
|
12
|
+
/* This is the block multiplier. To keep it larger and surive division errors we must round it up */
|
13
|
+
adjust= (need - (size_t)(string->current_size - (size_t)(string->end - string->string))) / string->block_size;
|
14
|
+
adjust++;
|
15
|
+
|
16
|
+
new_size= sizeof(char) * (size_t)((adjust * string->block_size) + string->current_size);
|
17
|
+
/* Test for overflow */
|
18
|
+
if (new_size < need)
|
19
|
+
return MEMCACHED_MEMORY_ALLOCATION_FAILURE;
|
20
|
+
|
21
|
+
new_value= string->root->call_realloc(string->root, string->string, new_size);
|
22
|
+
|
23
|
+
if (new_value == NULL)
|
24
|
+
return MEMCACHED_MEMORY_ALLOCATION_FAILURE;
|
25
|
+
|
26
|
+
string->string= new_value;
|
27
|
+
string->end= string->string + current_offset;
|
28
|
+
|
29
|
+
string->current_size+= (string->block_size * adjust);
|
30
|
+
}
|
31
|
+
|
32
|
+
return MEMCACHED_SUCCESS;
|
33
|
+
}
|
34
|
+
|
35
|
+
memcached_string_st *memcached_string_create(memcached_st *ptr, memcached_string_st *string, size_t initial_size)
|
36
|
+
{
|
37
|
+
memcached_return rc;
|
38
|
+
|
39
|
+
/* Saving malloc calls :) */
|
40
|
+
if (string)
|
41
|
+
memset(string, 0, sizeof(memcached_string_st));
|
42
|
+
else
|
43
|
+
{
|
44
|
+
string= ptr->call_calloc(ptr, 1, sizeof(memcached_string_st));
|
45
|
+
|
46
|
+
if (string == NULL)
|
47
|
+
return NULL;
|
48
|
+
string->is_allocated= true;
|
49
|
+
}
|
50
|
+
string->block_size= MEMCACHED_BLOCK_SIZE;
|
51
|
+
string->root= ptr;
|
52
|
+
|
53
|
+
rc= memcached_string_check(string, initial_size);
|
54
|
+
if (rc != MEMCACHED_SUCCESS)
|
55
|
+
{
|
56
|
+
ptr->call_free(ptr, string);
|
57
|
+
return NULL;
|
58
|
+
}
|
59
|
+
|
60
|
+
WATCHPOINT_ASSERT(string->string == string->end);
|
61
|
+
|
62
|
+
return string;
|
63
|
+
}
|
64
|
+
|
65
|
+
memcached_return memcached_string_append_character(memcached_string_st *string,
|
66
|
+
char character)
|
67
|
+
{
|
68
|
+
memcached_return rc;
|
69
|
+
|
70
|
+
rc= memcached_string_check(string, 1);
|
71
|
+
|
72
|
+
if (rc != MEMCACHED_SUCCESS)
|
73
|
+
return rc;
|
74
|
+
|
75
|
+
*string->end= character;
|
76
|
+
string->end++;
|
77
|
+
|
78
|
+
return MEMCACHED_SUCCESS;
|
79
|
+
}
|
80
|
+
|
81
|
+
memcached_return memcached_string_append(memcached_string_st *string,
|
82
|
+
const char *value, size_t length)
|
83
|
+
{
|
84
|
+
memcached_return rc;
|
85
|
+
|
86
|
+
rc= memcached_string_check(string, length);
|
87
|
+
|
88
|
+
if (rc != MEMCACHED_SUCCESS)
|
89
|
+
return rc;
|
90
|
+
|
91
|
+
WATCHPOINT_ASSERT(length <= string->current_size);
|
92
|
+
WATCHPOINT_ASSERT(string->string);
|
93
|
+
WATCHPOINT_ASSERT(string->end >= string->string);
|
94
|
+
|
95
|
+
memcpy(string->end, value, length);
|
96
|
+
string->end+= length;
|
97
|
+
|
98
|
+
return MEMCACHED_SUCCESS;
|
99
|
+
}
|
100
|
+
|
101
|
+
char *memcached_string_c_copy(memcached_string_st *string)
|
102
|
+
{
|
103
|
+
char *c_ptr;
|
104
|
+
|
105
|
+
if (memcached_string_length(string) == 0)
|
106
|
+
return NULL;
|
107
|
+
|
108
|
+
c_ptr= string->root->call_malloc(string->root, (memcached_string_length(string)+1) * sizeof(char));
|
109
|
+
|
110
|
+
if (c_ptr == NULL)
|
111
|
+
return NULL;
|
112
|
+
|
113
|
+
memcpy(c_ptr, memcached_string_value(string), memcached_string_length(string));
|
114
|
+
c_ptr[memcached_string_length(string)]= 0;
|
115
|
+
|
116
|
+
return c_ptr;
|
117
|
+
}
|
118
|
+
|
119
|
+
memcached_return memcached_string_reset(memcached_string_st *string)
|
120
|
+
{
|
121
|
+
string->end= string->string;
|
122
|
+
|
123
|
+
return MEMCACHED_SUCCESS;
|
124
|
+
}
|
125
|
+
|
126
|
+
void memcached_string_free(memcached_string_st *ptr)
|
127
|
+
{
|
128
|
+
if (ptr == NULL)
|
129
|
+
return;
|
130
|
+
|
131
|
+
if (ptr->string)
|
132
|
+
ptr->root->call_free(ptr->root, ptr->string);
|
133
|
+
|
134
|
+
if (ptr->is_allocated)
|
135
|
+
ptr->root->call_free(ptr->root, ptr);
|
136
|
+
else
|
137
|
+
memset(ptr, 0, sizeof(memcached_string_st));
|
138
|
+
}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: String structure used for libmemcached.
|
3
|
+
*
|
4
|
+
* Copy: See Copyright for the status of this software.
|
5
|
+
*
|
6
|
+
* Author: Brian Aker
|
7
|
+
*/
|
8
|
+
|
9
|
+
#ifndef __MEMCACHED_STRING_H__
|
10
|
+
#define __MEMCACHED_STRING_H__
|
11
|
+
|
12
|
+
#ifdef __cplusplus
|
13
|
+
extern "C" {
|
14
|
+
#endif
|
15
|
+
|
16
|
+
struct memcached_string_st {
|
17
|
+
memcached_st *root;
|
18
|
+
char *end;
|
19
|
+
char *string;
|
20
|
+
size_t current_size;
|
21
|
+
size_t block_size;
|
22
|
+
bool is_allocated;
|
23
|
+
};
|
24
|
+
|
25
|
+
#define memcached_string_length(A) (size_t)((A)->end - (A)->string)
|
26
|
+
#define memcached_string_set_length(A, B) (A)->end= (A)->string + B
|
27
|
+
#define memcached_string_size(A) (A)->current_size
|
28
|
+
#define memcached_string_value(A) (A)->string
|
29
|
+
|
30
|
+
LIBMEMCACHED_API
|
31
|
+
memcached_string_st *memcached_string_create(memcached_st *ptr,
|
32
|
+
memcached_string_st *string,
|
33
|
+
size_t initial_size);
|
34
|
+
LIBMEMCACHED_API
|
35
|
+
memcached_return memcached_string_check(memcached_string_st *string, size_t need);
|
36
|
+
LIBMEMCACHED_API
|
37
|
+
char *memcached_string_c_copy(memcached_string_st *string);
|
38
|
+
LIBMEMCACHED_API
|
39
|
+
memcached_return memcached_string_append_character(memcached_string_st *string,
|
40
|
+
char character);
|
41
|
+
LIBMEMCACHED_API
|
42
|
+
memcached_return memcached_string_append(memcached_string_st *string,
|
43
|
+
const char *value, size_t length);
|
44
|
+
LIBMEMCACHED_API
|
45
|
+
memcached_return memcached_string_reset(memcached_string_st *string);
|
46
|
+
LIBMEMCACHED_API
|
47
|
+
void memcached_string_free(memcached_string_st *string);
|
48
|
+
|
49
|
+
#ifdef __cplusplus
|
50
|
+
}
|
51
|
+
#endif
|
52
|
+
|
53
|
+
#endif /* __MEMCACHED_STRING_H__ */
|
@@ -0,0 +1,44 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: Typpes for libmemcached
|
3
|
+
*
|
4
|
+
* Copy: See Copyright for the status of this software.
|
5
|
+
*
|
6
|
+
* Author: Brian Aker
|
7
|
+
*/
|
8
|
+
|
9
|
+
#ifndef __MEMCACHED_TYPES_H__
|
10
|
+
#define __MEMCACHED_TYPES_H__
|
11
|
+
|
12
|
+
#ifdef __cplusplus
|
13
|
+
extern "C" {
|
14
|
+
#endif
|
15
|
+
|
16
|
+
typedef struct memcached_st memcached_st;
|
17
|
+
typedef struct memcached_stat_st memcached_stat_st;
|
18
|
+
typedef struct memcached_analysis_st memcached_analysis_st;
|
19
|
+
typedef struct memcached_result_st memcached_result_st;
|
20
|
+
typedef struct memcached_string_st memcached_string_st;
|
21
|
+
typedef struct memcached_server_st memcached_server_st;
|
22
|
+
typedef struct memcached_continuum_item_st memcached_continuum_item_st;
|
23
|
+
typedef memcached_return (*memcached_clone_func)(memcached_st *parent, memcached_st *clone);
|
24
|
+
typedef memcached_return (*memcached_cleanup_func)(memcached_st *ptr);
|
25
|
+
typedef void (*memcached_free_function)(memcached_st *ptr, void *mem);
|
26
|
+
typedef void *(*memcached_malloc_function)(memcached_st *ptr, const size_t size);
|
27
|
+
typedef void *(*memcached_realloc_function)(memcached_st *ptr, void *mem, const size_t size);
|
28
|
+
typedef void *(*memcached_calloc_function)(memcached_st *ptr, size_t nelem, const size_t elsize);
|
29
|
+
typedef memcached_return (*memcached_execute_function)(memcached_st *ptr, memcached_result_st *result, void *context);
|
30
|
+
typedef memcached_return (*memcached_server_function)(memcached_st *ptr, memcached_server_st *server, void *context);
|
31
|
+
typedef memcached_return (*memcached_trigger_key)(memcached_st *ptr,
|
32
|
+
const char *key, size_t key_length,
|
33
|
+
memcached_result_st *result);
|
34
|
+
typedef memcached_return (*memcached_trigger_delete_key)(memcached_st *ptr,
|
35
|
+
const char *key, size_t key_length);
|
36
|
+
|
37
|
+
typedef memcached_return (*memcached_dump_func)(memcached_st *ptr,
|
38
|
+
const char *key, size_t key_length, void *context);
|
39
|
+
|
40
|
+
#ifdef __cplusplus
|
41
|
+
}
|
42
|
+
#endif
|
43
|
+
|
44
|
+
#endif /* __MEMCACHED_TYPES_H__ */
|
@@ -0,0 +1,15 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: interface for libmemcached utility library
|
3
|
+
* Description: main include file for libmemcachedutil
|
4
|
+
*
|
5
|
+
* Copy: See Copyright for the status of this software.
|
6
|
+
*
|
7
|
+
* Author: Trond Norbye
|
8
|
+
*/
|
9
|
+
|
10
|
+
#ifndef MEMCACHED_UTIL_H
|
11
|
+
#define MEMCACHED_UTIL_H
|
12
|
+
|
13
|
+
#include <libmemcached/memcached_pool.h>
|
14
|
+
|
15
|
+
#endif /* MEMCACHED_UTIL_H */
|