dalli_memcached 1.8.0

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.
Files changed (209) hide show
  1. data/BENCHMARKS +142 -0
  2. data/CHANGELOG +176 -0
  3. data/Gemfile +11 -0
  4. data/Gemfile.lock +45 -0
  5. data/LICENSE +184 -0
  6. data/Manifest +209 -0
  7. data/README.rdoc +124 -0
  8. data/Rakefile +134 -0
  9. data/TODO +1 -0
  10. data/dalli_memcached.gemspec +0 -0
  11. data/ext/extconf-make.rb +25 -0
  12. data/ext/extconf.rb +78 -0
  13. data/ext/libmemcached-0.32/AUTHORS +7 -0
  14. data/ext/libmemcached-0.32/COPYING +32 -0
  15. data/ext/libmemcached-0.32/ChangeLog +303 -0
  16. data/ext/libmemcached-0.32/INSTALL +302 -0
  17. data/ext/libmemcached-0.32/Makefile.am +36 -0
  18. data/ext/libmemcached-0.32/Makefile.in +911 -0
  19. data/ext/libmemcached-0.32/NEWS +1 -0
  20. data/ext/libmemcached-0.32/README +33 -0
  21. data/ext/libmemcached-0.32/THANKS +14 -0
  22. data/ext/libmemcached-0.32/TODO +11 -0
  23. data/ext/libmemcached-0.32/aclocal.m4 +2108 -0
  24. data/ext/libmemcached-0.32/clients/Makefile.am +80 -0
  25. data/ext/libmemcached-0.32/clients/Makefile.in +773 -0
  26. data/ext/libmemcached-0.32/clients/client_options.h +32 -0
  27. data/ext/libmemcached-0.32/clients/execute.c +64 -0
  28. data/ext/libmemcached-0.32/clients/execute.h +5 -0
  29. data/ext/libmemcached-0.32/clients/generator.c +74 -0
  30. data/ext/libmemcached-0.32/clients/generator.h +20 -0
  31. data/ext/libmemcached-0.32/clients/memcat.c +178 -0
  32. data/ext/libmemcached-0.32/clients/memcp.c +251 -0
  33. data/ext/libmemcached-0.32/clients/memdump.c +170 -0
  34. data/ext/libmemcached-0.32/clients/memerror.c +80 -0
  35. data/ext/libmemcached-0.32/clients/memflush.c +143 -0
  36. data/ext/libmemcached-0.32/clients/memrm.c +160 -0
  37. data/ext/libmemcached-0.32/clients/memslap.c +441 -0
  38. data/ext/libmemcached-0.32/clients/memstat.c +326 -0
  39. data/ext/libmemcached-0.32/clients/utilities.c +207 -0
  40. data/ext/libmemcached-0.32/clients/utilities.h +41 -0
  41. data/ext/libmemcached-0.32/config.h.in +254 -0
  42. data/ext/libmemcached-0.32/config/compile +143 -0
  43. data/ext/libmemcached-0.32/config/config.guess +1561 -0
  44. data/ext/libmemcached-0.32/config/config.rpath +666 -0
  45. data/ext/libmemcached-0.32/config/config.sub +1686 -0
  46. data/ext/libmemcached-0.32/config/depcomp +630 -0
  47. data/ext/libmemcached-0.32/config/install-sh +520 -0
  48. data/ext/libmemcached-0.32/config/ltmain.sh +9636 -0
  49. data/ext/libmemcached-0.32/config/missing +376 -0
  50. data/ext/libmemcached-0.32/configure +23843 -0
  51. data/ext/libmemcached-0.32/configure.ac +120 -0
  52. data/ext/libmemcached-0.32/libmemcached/Makefile.am +111 -0
  53. data/ext/libmemcached-0.32/libmemcached/Makefile.in +1069 -0
  54. data/ext/libmemcached-0.32/libmemcached/byteorder.c +31 -0
  55. data/ext/libmemcached-0.32/libmemcached/common.h +189 -0
  56. data/ext/libmemcached-0.32/libmemcached/crc.c +86 -0
  57. data/ext/libmemcached-0.32/libmemcached/hsieh_hash.c +68 -0
  58. data/ext/libmemcached-0.32/libmemcached/jenkins_hash.c +213 -0
  59. data/ext/libmemcached-0.32/libmemcached/libmemcached.ver +1 -0
  60. data/ext/libmemcached-0.32/libmemcached/libmemcached_probes.d +30 -0
  61. data/ext/libmemcached-0.32/libmemcached/libmemcached_probes.h +82 -0
  62. data/ext/libmemcached-0.32/libmemcached/md5.c +354 -0
  63. data/ext/libmemcached-0.32/libmemcached/memcached.c +153 -0
  64. data/ext/libmemcached-0.32/libmemcached/memcached.h +305 -0
  65. data/ext/libmemcached-0.32/libmemcached/memcached.hpp +799 -0
  66. data/ext/libmemcached-0.32/libmemcached/memcached/README.txt +7 -0
  67. data/ext/libmemcached-0.32/libmemcached/memcached/protocol_binary.h +385 -0
  68. data/ext/libmemcached-0.32/libmemcached/memcached_allocators.c +72 -0
  69. data/ext/libmemcached-0.32/libmemcached/memcached_analyze.c +100 -0
  70. data/ext/libmemcached-0.32/libmemcached/memcached_auto.c +207 -0
  71. data/ext/libmemcached-0.32/libmemcached/memcached_behavior.c +290 -0
  72. data/ext/libmemcached-0.32/libmemcached/memcached_callback.c +175 -0
  73. data/ext/libmemcached-0.32/libmemcached/memcached_configure.h.in +23 -0
  74. data/ext/libmemcached-0.32/libmemcached/memcached_connect.c +371 -0
  75. data/ext/libmemcached-0.32/libmemcached/memcached_constants.h +146 -0
  76. data/ext/libmemcached-0.32/libmemcached/memcached_delete.c +0 -0
  77. data/ext/libmemcached-0.32/libmemcached/memcached_do.c +72 -0
  78. data/ext/libmemcached-0.32/libmemcached/memcached_dump.c +79 -0
  79. data/ext/libmemcached-0.32/libmemcached/memcached_exist.c +114 -0
  80. data/ext/libmemcached-0.32/libmemcached/memcached_exist.h +20 -0
  81. data/ext/libmemcached-0.32/libmemcached/memcached_fetch.c +102 -0
  82. data/ext/libmemcached-0.32/libmemcached/memcached_flush.c +89 -0
  83. data/ext/libmemcached-0.32/libmemcached/memcached_flush_buffers.c +23 -0
  84. data/ext/libmemcached-0.32/libmemcached/memcached_get.c +494 -0
  85. data/ext/libmemcached-0.32/libmemcached/memcached_get.h +87 -0
  86. data/ext/libmemcached-0.32/libmemcached/memcached_hash.c +252 -0
  87. data/ext/libmemcached-0.32/libmemcached/memcached_hosts.c +510 -0
  88. data/ext/libmemcached-0.32/libmemcached/memcached_internal.h +31 -0
  89. data/ext/libmemcached-0.32/libmemcached/memcached_io.c +594 -0
  90. data/ext/libmemcached-0.32/libmemcached/memcached_io.h +72 -0
  91. data/ext/libmemcached-0.32/libmemcached/memcached_key.c +28 -0
  92. data/ext/libmemcached-0.32/libmemcached/memcached_parse.c +74 -0
  93. data/ext/libmemcached-0.32/libmemcached/memcached_pool.h +38 -0
  94. data/ext/libmemcached-0.32/libmemcached/memcached_purge.c +76 -0
  95. data/ext/libmemcached-0.32/libmemcached/memcached_quit.c +75 -0
  96. data/ext/libmemcached-0.32/libmemcached/memcached_response.c +529 -0
  97. data/ext/libmemcached-0.32/libmemcached/memcached_result.c +57 -0
  98. data/ext/libmemcached-0.32/libmemcached/memcached_result.h +59 -0
  99. data/ext/libmemcached-0.32/libmemcached/memcached_sasl.c +225 -0
  100. data/ext/libmemcached-0.32/libmemcached/memcached_sasl.h +44 -0
  101. data/ext/libmemcached-0.32/libmemcached/memcached_server.c +159 -0
  102. data/ext/libmemcached-0.32/libmemcached/memcached_server.h +93 -0
  103. data/ext/libmemcached-0.32/libmemcached/memcached_stats.c +437 -0
  104. data/ext/libmemcached-0.32/libmemcached/memcached_storage.c +514 -0
  105. data/ext/libmemcached-0.32/libmemcached/memcached_storage.h +107 -0
  106. data/ext/libmemcached-0.32/libmemcached/memcached_strerror.c +92 -0
  107. data/ext/libmemcached-0.32/libmemcached/memcached_string.c +138 -0
  108. data/ext/libmemcached-0.32/libmemcached/memcached_string.h +53 -0
  109. data/ext/libmemcached-0.32/libmemcached/memcached_touch.c +60 -0
  110. data/ext/libmemcached-0.32/libmemcached/memcached_touch.h +31 -0
  111. data/ext/libmemcached-0.32/libmemcached/memcached_types.h +44 -0
  112. data/ext/libmemcached-0.32/libmemcached/memcached_util.h +15 -0
  113. data/ext/libmemcached-0.32/libmemcached/memcached_verbosity.c +36 -0
  114. data/ext/libmemcached-0.32/libmemcached/memcached_version.c +112 -0
  115. data/ext/libmemcached-0.32/libmemcached/memcached_watchpoint.h +38 -0
  116. data/ext/libmemcached-0.32/libmemcached/murmur_hash.c +76 -0
  117. data/ext/libmemcached-0.32/libmemcached/visibility.h +51 -0
  118. data/ext/libmemcached-0.32/libmemcachedutil/Makefile.am +11 -0
  119. data/ext/libmemcached-0.32/libmemcachedutil/Makefile.in +604 -0
  120. data/ext/libmemcached-0.32/libmemcachedutil/libmemcachedutil.ver +1 -0
  121. data/ext/libmemcached-0.32/libmemcachedutil/memcached_pool.c +170 -0
  122. data/ext/libmemcached-0.32/m4/ac_cxx_compile_stdcxx_0x.m4 +103 -0
  123. data/ext/libmemcached-0.32/m4/ac_cxx_header_stdcxx_98.m4 +67 -0
  124. data/ext/libmemcached-0.32/m4/acx_pthread.m4 +276 -0
  125. data/ext/libmemcached-0.32/m4/byteorder.m4 +40 -0
  126. data/ext/libmemcached-0.32/m4/deprecated.m4 +17 -0
  127. data/ext/libmemcached-0.32/m4/enable_utillib.m4 +16 -0
  128. data/ext/libmemcached-0.32/m4/extensions.m4 +94 -0
  129. data/ext/libmemcached-0.32/m4/hsieh.m4 +18 -0
  130. data/ext/libmemcached-0.32/m4/lib-prefix.m4 +221 -0
  131. data/ext/libmemcached-0.32/m4/libtool.m4 +7831 -0
  132. data/ext/libmemcached-0.32/m4/ltoptions.m4 +369 -0
  133. data/ext/libmemcached-0.32/m4/ltsugar.m4 +123 -0
  134. data/ext/libmemcached-0.32/m4/ltversion.m4 +23 -0
  135. data/ext/libmemcached-0.32/m4/lt~obsolete.m4 +98 -0
  136. data/ext/libmemcached-0.32/m4/memcached.m4 +30 -0
  137. data/ext/libmemcached-0.32/m4/pandora_64bit.m4 +55 -0
  138. data/ext/libmemcached-0.32/m4/pandora_canonical.m4 +151 -0
  139. data/ext/libmemcached-0.32/m4/pandora_check_compiler_version.m4 +37 -0
  140. data/ext/libmemcached-0.32/m4/pandora_check_cxx_standard.m4 +16 -0
  141. data/ext/libmemcached-0.32/m4/pandora_enable_dtrace.m4 +41 -0
  142. data/ext/libmemcached-0.32/m4/pandora_ensure_gcc_version.m4 +36 -0
  143. data/ext/libmemcached-0.32/m4/pandora_have_better_malloc.m4 +54 -0
  144. data/ext/libmemcached-0.32/m4/pandora_have_sasl.m4 +133 -0
  145. data/ext/libmemcached-0.32/m4/pandora_header_assert.m4 +23 -0
  146. data/ext/libmemcached-0.32/m4/pandora_libtool.m4 +15 -0
  147. data/ext/libmemcached-0.32/m4/pandora_optimize.m4 +79 -0
  148. data/ext/libmemcached-0.32/m4/pandora_shared_ptr.m4 +56 -0
  149. data/ext/libmemcached-0.32/m4/pandora_vc_build.m4 +32 -0
  150. data/ext/libmemcached-0.32/m4/pandora_warnings.m4 +262 -0
  151. data/ext/libmemcached-0.32/m4/pod2man.m4 +7 -0
  152. data/ext/libmemcached-0.32/m4/protocol_binary.m4 +23 -0
  153. data/ext/libmemcached-0.32/m4/setsockopt.m4 +57 -0
  154. data/ext/libmemcached-0.32/m4/visibility.m4 +52 -0
  155. data/ext/libmemcached-0.32/support/Makefile.am +4 -0
  156. data/ext/libmemcached-0.32/support/Makefile.in +487 -0
  157. data/ext/libmemcached-0.32/support/libmemcached-fc.spec.in +105 -0
  158. data/ext/libmemcached-0.32/support/libmemcached.pc.in +10 -0
  159. data/ext/libmemcached-0.32/support/libmemcached.spec +105 -0
  160. data/ext/libmemcached-0.32/support/libmemcached.spec.in +105 -0
  161. data/ext/libmemcached-0.32/support/set_benchmark.sh +5 -0
  162. data/ext/libmemcached-0.32/tests/Makefile.am +113 -0
  163. data/ext/libmemcached-0.32/tests/Makefile.in +762 -0
  164. data/ext/libmemcached-0.32/tests/atomsmasher.c +245 -0
  165. data/ext/libmemcached-0.32/tests/function.c +4904 -0
  166. data/ext/libmemcached-0.32/tests/ketama_test_cases.h +108 -0
  167. data/ext/libmemcached-0.32/tests/output.cmp +7 -0
  168. data/ext/libmemcached-0.32/tests/output.res +7 -0
  169. data/ext/libmemcached-0.32/tests/output2.res +46 -0
  170. data/ext/libmemcached-0.32/tests/plus.cpp +293 -0
  171. data/ext/libmemcached-0.32/tests/r/memcat.res +19 -0
  172. data/ext/libmemcached-0.32/tests/r/memcp.res +27 -0
  173. data/ext/libmemcached-0.32/tests/r/memrm.res +19 -0
  174. data/ext/libmemcached-0.32/tests/r/memslap.res +33 -0
  175. data/ext/libmemcached-0.32/tests/r/memstat.res +33 -0
  176. data/ext/libmemcached-0.32/tests/server.c +118 -0
  177. data/ext/libmemcached-0.32/tests/server.h +25 -0
  178. data/ext/libmemcached-0.32/tests/start.c +16 -0
  179. data/ext/libmemcached-0.32/tests/t/memcat.test +4 -0
  180. data/ext/libmemcached-0.32/tests/t/memcp.test +3 -0
  181. data/ext/libmemcached-0.32/tests/t/memrm.test +3 -0
  182. data/ext/libmemcached-0.32/tests/t/memslap.test +5 -0
  183. data/ext/libmemcached-0.32/tests/t/memstat.test +3 -0
  184. data/ext/libmemcached-0.32/tests/test.c +137 -0
  185. data/ext/libmemcached-0.32/tests/test.h +46 -0
  186. data/ext/libmemcached-0.32/tests/udp.c +76 -0
  187. data/ext/rlibmemcached.i +258 -0
  188. data/ext/rlibmemcached_wrap.c +13917 -0
  189. data/lib/memcached.rb +33 -0
  190. data/lib/memcached/auth.rb +16 -0
  191. data/lib/memcached/behaviors.rb +78 -0
  192. data/lib/memcached/exceptions.rb +84 -0
  193. data/lib/memcached/experimental.rb +48 -0
  194. data/lib/memcached/marshal_codec.rb +10 -0
  195. data/lib/memcached/memcached.rb +732 -0
  196. data/lib/memcached/rails.rb +250 -0
  197. data/test/profile/benchmark.rb +280 -0
  198. data/test/profile/c_profiler.rb +14 -0
  199. data/test/profile/exercise.rb +185 -0
  200. data/test/profile/rb_profiler.rb +21 -0
  201. data/test/profile/valgrind.rb +10 -0
  202. data/test/setup.rb +30 -0
  203. data/test/teardown.rb +0 -0
  204. data/test/test_helper.rb +18 -0
  205. data/test/unit/binding_test.rb +8 -0
  206. data/test/unit/memcached_experimental_test.rb +272 -0
  207. data/test/unit/memcached_test.rb +1487 -0
  208. data/test/unit/rails_test.rb +330 -0
  209. metadata +347 -0
@@ -0,0 +1,209 @@
1
+ BENCHMARKS
2
+ CHANGELOG
3
+ Gemfile
4
+ Gemfile.lock
5
+ LICENSE
6
+ Manifest
7
+ README.rdoc
8
+ Rakefile
9
+ TODO
10
+ ext/extconf-make.rb
11
+ ext/extconf.rb
12
+ ext/libmemcached-0.32/AUTHORS
13
+ ext/libmemcached-0.32/COPYING
14
+ ext/libmemcached-0.32/ChangeLog
15
+ ext/libmemcached-0.32/INSTALL
16
+ ext/libmemcached-0.32/Makefile.am
17
+ ext/libmemcached-0.32/Makefile.in
18
+ ext/libmemcached-0.32/NEWS
19
+ ext/libmemcached-0.32/README
20
+ ext/libmemcached-0.32/THANKS
21
+ ext/libmemcached-0.32/TODO
22
+ ext/libmemcached-0.32/aclocal.m4
23
+ ext/libmemcached-0.32/clients/Makefile.am
24
+ ext/libmemcached-0.32/clients/Makefile.in
25
+ ext/libmemcached-0.32/clients/client_options.h
26
+ ext/libmemcached-0.32/clients/execute.c
27
+ ext/libmemcached-0.32/clients/execute.h
28
+ ext/libmemcached-0.32/clients/generator.c
29
+ ext/libmemcached-0.32/clients/generator.h
30
+ ext/libmemcached-0.32/clients/memcat.c
31
+ ext/libmemcached-0.32/clients/memcp.c
32
+ ext/libmemcached-0.32/clients/memdump.c
33
+ ext/libmemcached-0.32/clients/memerror.c
34
+ ext/libmemcached-0.32/clients/memflush.c
35
+ ext/libmemcached-0.32/clients/memrm.c
36
+ ext/libmemcached-0.32/clients/memslap.c
37
+ ext/libmemcached-0.32/clients/memstat.c
38
+ ext/libmemcached-0.32/clients/utilities.c
39
+ ext/libmemcached-0.32/clients/utilities.h
40
+ ext/libmemcached-0.32/config.h.in
41
+ ext/libmemcached-0.32/config/compile
42
+ ext/libmemcached-0.32/config/config.guess
43
+ ext/libmemcached-0.32/config/config.rpath
44
+ ext/libmemcached-0.32/config/config.sub
45
+ ext/libmemcached-0.32/config/depcomp
46
+ ext/libmemcached-0.32/config/install-sh
47
+ ext/libmemcached-0.32/config/ltmain.sh
48
+ ext/libmemcached-0.32/config/missing
49
+ ext/libmemcached-0.32/configure
50
+ ext/libmemcached-0.32/configure.ac
51
+ ext/libmemcached-0.32/libmemcached/Makefile.am
52
+ ext/libmemcached-0.32/libmemcached/Makefile.in
53
+ ext/libmemcached-0.32/libmemcached/byteorder.c
54
+ ext/libmemcached-0.32/libmemcached/common.h
55
+ ext/libmemcached-0.32/libmemcached/crc.c
56
+ ext/libmemcached-0.32/libmemcached/hsieh_hash.c
57
+ ext/libmemcached-0.32/libmemcached/jenkins_hash.c
58
+ ext/libmemcached-0.32/libmemcached/libmemcached.ver
59
+ ext/libmemcached-0.32/libmemcached/libmemcached_probes.d
60
+ ext/libmemcached-0.32/libmemcached/libmemcached_probes.h
61
+ ext/libmemcached-0.32/libmemcached/md5.c
62
+ ext/libmemcached-0.32/libmemcached/memcached.c
63
+ ext/libmemcached-0.32/libmemcached/memcached.h
64
+ ext/libmemcached-0.32/libmemcached/memcached.hpp
65
+ ext/libmemcached-0.32/libmemcached/memcached/README.txt
66
+ ext/libmemcached-0.32/libmemcached/memcached/protocol_binary.h
67
+ ext/libmemcached-0.32/libmemcached/memcached_allocators.c
68
+ ext/libmemcached-0.32/libmemcached/memcached_analyze.c
69
+ ext/libmemcached-0.32/libmemcached/memcached_auto.c
70
+ ext/libmemcached-0.32/libmemcached/memcached_behavior.c
71
+ ext/libmemcached-0.32/libmemcached/memcached_callback.c
72
+ ext/libmemcached-0.32/libmemcached/memcached_configure.h.in
73
+ ext/libmemcached-0.32/libmemcached/memcached_connect.c
74
+ ext/libmemcached-0.32/libmemcached/memcached_constants.h
75
+ ext/libmemcached-0.32/libmemcached/memcached_delete.c
76
+ ext/libmemcached-0.32/libmemcached/memcached_do.c
77
+ ext/libmemcached-0.32/libmemcached/memcached_dump.c
78
+ ext/libmemcached-0.32/libmemcached/memcached_exist.c
79
+ ext/libmemcached-0.32/libmemcached/memcached_exist.h
80
+ ext/libmemcached-0.32/libmemcached/memcached_fetch.c
81
+ ext/libmemcached-0.32/libmemcached/memcached_flush.c
82
+ ext/libmemcached-0.32/libmemcached/memcached_flush_buffers.c
83
+ ext/libmemcached-0.32/libmemcached/memcached_get.c
84
+ ext/libmemcached-0.32/libmemcached/memcached_get.h
85
+ ext/libmemcached-0.32/libmemcached/memcached_hash.c
86
+ ext/libmemcached-0.32/libmemcached/memcached_hosts.c
87
+ ext/libmemcached-0.32/libmemcached/memcached_internal.h
88
+ ext/libmemcached-0.32/libmemcached/memcached_io.c
89
+ ext/libmemcached-0.32/libmemcached/memcached_io.h
90
+ ext/libmemcached-0.32/libmemcached/memcached_key.c
91
+ ext/libmemcached-0.32/libmemcached/memcached_parse.c
92
+ ext/libmemcached-0.32/libmemcached/memcached_pool.h
93
+ ext/libmemcached-0.32/libmemcached/memcached_purge.c
94
+ ext/libmemcached-0.32/libmemcached/memcached_quit.c
95
+ ext/libmemcached-0.32/libmemcached/memcached_response.c
96
+ ext/libmemcached-0.32/libmemcached/memcached_result.c
97
+ ext/libmemcached-0.32/libmemcached/memcached_result.h
98
+ ext/libmemcached-0.32/libmemcached/memcached_sasl.c
99
+ ext/libmemcached-0.32/libmemcached/memcached_sasl.h
100
+ ext/libmemcached-0.32/libmemcached/memcached_server.c
101
+ ext/libmemcached-0.32/libmemcached/memcached_server.h
102
+ ext/libmemcached-0.32/libmemcached/memcached_stats.c
103
+ ext/libmemcached-0.32/libmemcached/memcached_storage.c
104
+ ext/libmemcached-0.32/libmemcached/memcached_storage.h
105
+ ext/libmemcached-0.32/libmemcached/memcached_strerror.c
106
+ ext/libmemcached-0.32/libmemcached/memcached_string.c
107
+ ext/libmemcached-0.32/libmemcached/memcached_string.h
108
+ ext/libmemcached-0.32/libmemcached/memcached_touch.c
109
+ ext/libmemcached-0.32/libmemcached/memcached_touch.h
110
+ ext/libmemcached-0.32/libmemcached/memcached_types.h
111
+ ext/libmemcached-0.32/libmemcached/memcached_util.h
112
+ ext/libmemcached-0.32/libmemcached/memcached_verbosity.c
113
+ ext/libmemcached-0.32/libmemcached/memcached_version.c
114
+ ext/libmemcached-0.32/libmemcached/memcached_watchpoint.h
115
+ ext/libmemcached-0.32/libmemcached/murmur_hash.c
116
+ ext/libmemcached-0.32/libmemcached/visibility.h
117
+ ext/libmemcached-0.32/libmemcachedutil/Makefile.am
118
+ ext/libmemcached-0.32/libmemcachedutil/Makefile.in
119
+ ext/libmemcached-0.32/libmemcachedutil/libmemcachedutil.ver
120
+ ext/libmemcached-0.32/libmemcachedutil/memcached_pool.c
121
+ ext/libmemcached-0.32/m4/ac_cxx_compile_stdcxx_0x.m4
122
+ ext/libmemcached-0.32/m4/ac_cxx_header_stdcxx_98.m4
123
+ ext/libmemcached-0.32/m4/acx_pthread.m4
124
+ ext/libmemcached-0.32/m4/byteorder.m4
125
+ ext/libmemcached-0.32/m4/deprecated.m4
126
+ ext/libmemcached-0.32/m4/enable_utillib.m4
127
+ ext/libmemcached-0.32/m4/extensions.m4
128
+ ext/libmemcached-0.32/m4/hsieh.m4
129
+ ext/libmemcached-0.32/m4/lib-prefix.m4
130
+ ext/libmemcached-0.32/m4/libtool.m4
131
+ ext/libmemcached-0.32/m4/ltoptions.m4
132
+ ext/libmemcached-0.32/m4/ltsugar.m4
133
+ ext/libmemcached-0.32/m4/ltversion.m4
134
+ ext/libmemcached-0.32/m4/lt~obsolete.m4
135
+ ext/libmemcached-0.32/m4/memcached.m4
136
+ ext/libmemcached-0.32/m4/pandora_64bit.m4
137
+ ext/libmemcached-0.32/m4/pandora_canonical.m4
138
+ ext/libmemcached-0.32/m4/pandora_check_compiler_version.m4
139
+ ext/libmemcached-0.32/m4/pandora_check_cxx_standard.m4
140
+ ext/libmemcached-0.32/m4/pandora_enable_dtrace.m4
141
+ ext/libmemcached-0.32/m4/pandora_ensure_gcc_version.m4
142
+ ext/libmemcached-0.32/m4/pandora_have_better_malloc.m4
143
+ ext/libmemcached-0.32/m4/pandora_have_sasl.m4
144
+ ext/libmemcached-0.32/m4/pandora_header_assert.m4
145
+ ext/libmemcached-0.32/m4/pandora_libtool.m4
146
+ ext/libmemcached-0.32/m4/pandora_optimize.m4
147
+ ext/libmemcached-0.32/m4/pandora_shared_ptr.m4
148
+ ext/libmemcached-0.32/m4/pandora_vc_build.m4
149
+ ext/libmemcached-0.32/m4/pandora_warnings.m4
150
+ ext/libmemcached-0.32/m4/pod2man.m4
151
+ ext/libmemcached-0.32/m4/protocol_binary.m4
152
+ ext/libmemcached-0.32/m4/setsockopt.m4
153
+ ext/libmemcached-0.32/m4/visibility.m4
154
+ ext/libmemcached-0.32/support/Makefile.am
155
+ ext/libmemcached-0.32/support/Makefile.in
156
+ ext/libmemcached-0.32/support/libmemcached-fc.spec.in
157
+ ext/libmemcached-0.32/support/libmemcached.pc.in
158
+ ext/libmemcached-0.32/support/libmemcached.spec
159
+ ext/libmemcached-0.32/support/libmemcached.spec.in
160
+ ext/libmemcached-0.32/support/set_benchmark.sh
161
+ ext/libmemcached-0.32/tests/Makefile.am
162
+ ext/libmemcached-0.32/tests/Makefile.in
163
+ ext/libmemcached-0.32/tests/atomsmasher.c
164
+ ext/libmemcached-0.32/tests/function.c
165
+ ext/libmemcached-0.32/tests/ketama_test_cases.h
166
+ ext/libmemcached-0.32/tests/output.cmp
167
+ ext/libmemcached-0.32/tests/output.res
168
+ ext/libmemcached-0.32/tests/output2.res
169
+ ext/libmemcached-0.32/tests/plus.cpp
170
+ ext/libmemcached-0.32/tests/r/memcat.res
171
+ ext/libmemcached-0.32/tests/r/memcp.res
172
+ ext/libmemcached-0.32/tests/r/memrm.res
173
+ ext/libmemcached-0.32/tests/r/memslap.res
174
+ ext/libmemcached-0.32/tests/r/memstat.res
175
+ ext/libmemcached-0.32/tests/server.c
176
+ ext/libmemcached-0.32/tests/server.h
177
+ ext/libmemcached-0.32/tests/start.c
178
+ ext/libmemcached-0.32/tests/t/memcat.test
179
+ ext/libmemcached-0.32/tests/t/memcp.test
180
+ ext/libmemcached-0.32/tests/t/memrm.test
181
+ ext/libmemcached-0.32/tests/t/memslap.test
182
+ ext/libmemcached-0.32/tests/t/memstat.test
183
+ ext/libmemcached-0.32/tests/test.c
184
+ ext/libmemcached-0.32/tests/test.h
185
+ ext/libmemcached-0.32/tests/udp.c
186
+ ext/rlibmemcached.i
187
+ ext/rlibmemcached_wrap.c
188
+ lib/memcached.rb
189
+ lib/memcached/auth.rb
190
+ lib/memcached/behaviors.rb
191
+ lib/memcached/exceptions.rb
192
+ lib/memcached/experimental.rb
193
+ lib/memcached/marshal_codec.rb
194
+ lib/memcached/memcached.rb
195
+ lib/memcached/rails.rb
196
+ memcached.gemspec
197
+ memcached.pem
198
+ test/profile/benchmark.rb
199
+ test/profile/c_profiler.rb
200
+ test/profile/exercise.rb
201
+ test/profile/rb_profiler.rb
202
+ test/profile/valgrind.rb
203
+ test/setup.rb
204
+ test/teardown.rb
205
+ test/test_helper.rb
206
+ test/unit/binding_test.rb
207
+ test/unit/memcached_experimental_test.rb
208
+ test/unit/memcached_test.rb
209
+ test/unit/rails_test.rb
@@ -0,0 +1,124 @@
1
+ = memcached
2
+
3
+ An interface to the libmemcached C client.
4
+
5
+ {<img src="https://travis-ci.org/evan/memcached.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/evan/memcached]
6
+
7
+ == License
8
+
9
+ Copyright 2009-2013 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file. Portions copyright 2007-2009 TangentOrg, Brian Aker, licensed under the BSD license, and used with permission.
10
+
11
+ == Features
12
+
13
+ * clean API
14
+ * robust access to all memcached features
15
+ * SASL support for the binary protocol
16
+ * multiple hashing modes, including consistent hashing
17
+ * ludicrous speed, including optional pipelined IO with no_reply
18
+
19
+ The <b>memcached</b> library wraps the pure-C libmemcached client via SWIG.
20
+
21
+ == Installation
22
+
23
+ You need Ruby 1.8.7 or Ruby 1.9.2. Other versions may work, but are not guaranteed. You also need the `libsasl2-dev` and `gettext` libraries, which should be provided through your system's package manager.
24
+
25
+ Install the gem:
26
+ sudo gem install memcached --no-rdoc --no-ri
27
+
28
+ == Usage
29
+
30
+ Start a local networked memcached server:
31
+ $ memcached -p 11211 &
32
+
33
+ Now, in Ruby, require the library and instantiate a Memcached object at a global level:
34
+
35
+ require 'memcached'
36
+ $cache = Memcached.new("localhost:11211")
37
+
38
+ Now you can set things and get things:
39
+
40
+ value = 'hello'
41
+ $cache.set 'test', value
42
+ $cache.get 'test' #=> "hello"
43
+
44
+ You can set with an expiration timeout:
45
+
46
+ value = 'hello'
47
+ $cache.set 'test', value, 1
48
+ sleep(2)
49
+ $cache.get 'test' #=> raises Memcached::NotFound
50
+
51
+ You can get multiple values at once:
52
+
53
+ value = 'hello'
54
+ $cache.set 'test', value
55
+ $cache.set 'test2', value
56
+ $cache.get ['test', 'test2', 'missing']
57
+ #=> {"test" => "hello", "test2" => "hello"}
58
+
59
+ You can set a counter and increment it. Note that you must initialize it with an integer, encoded as an unmarshalled ASCII string:
60
+
61
+ start = 1
62
+ $cache.set 'counter', start.to_s, 0, false
63
+ $cache.increment 'counter' #=> 2
64
+ $cache.increment 'counter' #=> 3
65
+ $cache.get('counter', false).to_i #=> 3
66
+
67
+ You can get some server stats:
68
+
69
+ $cache.stats #=> {..., :bytes_written=>[62], :version=>["1.2.4"] ...}
70
+
71
+ Note that the API is not the same as that of <b>Ruby-MemCache</b> or <b>memcache-client</b>. In particular, <tt>nil</tt> is a valid record value. Memcached#get does not return <tt>nil</tt> on failure, rather it raises <b>Memcached::NotFound</b>. This is consistent with the behavior of memcached itself. For example:
72
+
73
+ $cache.set 'test', nil
74
+ $cache.get 'test' #=> nil
75
+ $cache.delete 'test'
76
+ $cache.get 'test' #=> raises Memcached::NotFound
77
+
78
+ == Rails 3 and 4
79
+
80
+ Use {memcached_store gem}[https://github.com/Shopify/memcached_store] to integrate ActiveSupport cache store and memcached gem
81
+
82
+ == Pipelining
83
+
84
+ Pipelining updates is extremely effective in <b>memcached</b>, leading to more than 25x write throughput than the default settings. Use the following options to enable it:
85
+
86
+ :no_block => true,
87
+ :buffer_requests => true,
88
+ :noreply => true,
89
+ :binary_protocol => false
90
+
91
+ Currently #append, #prepend, #set, and #delete are pipelined. Note that when you perform a read, all pending writes are flushed to the servers.
92
+
93
+ == Threading
94
+
95
+ <b>memcached</b> is threadsafe, but each thread requires its own Memcached instance. Create a global Memcached, and then call Memcached#clone each time you spawn a thread.
96
+
97
+ thread = Thread.new do
98
+ cache = $cache.clone
99
+ # Perform operations on cache, not $cache
100
+ cache.set 'example', 1
101
+ cache.get 'example'
102
+ end
103
+
104
+ # Join the thread so that exceptions don't get lost
105
+ thread.join
106
+
107
+ == Legacy applications
108
+
109
+ There is a compatibility wrapper for legacy applications called Memcached::Rails.
110
+
111
+ == Benchmarks
112
+
113
+ <b>memcached</b>, correctly configured, is at least twice as fast as <b>memcache-client</b> and <b>dalli</b>. See link:BENCHMARKS for details.
114
+
115
+ == Reporting problems
116
+
117
+ The support forum is here[http://github.com/evan/memcached/issues].
118
+
119
+ Patches and contributions are very welcome. Please note that contributors are required to assign copyright for their additions to Cloudburst, LLC.
120
+
121
+ == Further resources
122
+
123
+ * {Memcached wiki}[https://code.google.com/p/memcached/wiki/NewStart]
124
+ * {Libmemcached homepage}[libmemcached.org]
@@ -0,0 +1,134 @@
1
+ require 'echoe'
2
+
3
+ ENV["GEM_CERTIFICATE_CHAIN"]="memcached.pem"
4
+
5
+ Echoe.new("memcached") do |p|
6
+ p.author = "Evan Weaver"
7
+ p.project = "evan"
8
+ p.summary = "An interface to the libmemcached C client."
9
+ p.licenses = "Academic Free License 3.0 (AFL-3.0)"
10
+ p.rdoc_pattern = /README|TODO|LICENSE|CHANGELOG|BENCH|COMPAT|exceptions|experimental.rb|behaviors|rails.rb|memcached.rb/
11
+ p.rdoc_options = %w[--line-numbers --inline-source --title Memcached --main README.rdoc --exclude=ext/bin --exclude=ext/libmemcached-.*/(clients|tests)]
12
+ p.retain_gemspec = true
13
+ p.development_dependencies = ["rake", "mocha", "echoe", "activesupport"]
14
+ p.clean_pattern += ["ext/Makefile",
15
+ "ext/bin",
16
+ "ext/include",
17
+ "ext/lib",
18
+ "ext/share",
19
+ "ext/**/Makefile",
20
+ "ext/Makefile.in",
21
+ "ext/libmemcached-*/autom4te.cache",
22
+ "ext/libmemcached-*/clients/memcat",
23
+ "ext/libmemcached-*/clients/memcp",
24
+ "ext/libmemcached-*/clients/memdump",
25
+ "ext/libmemcached-*/clients/memerror",
26
+ "ext/libmemcached-*/clients/memflush",
27
+ "ext/libmemcached-*/clients/memrm",
28
+ "ext/libmemcached-*/clients/memslap",
29
+ "ext/libmemcached-*/clients/memstat",
30
+ "ext/libmemcached-*/tests/atomsmasher",
31
+ "ext/libmemcached-*/tests/startservers",
32
+ "ext/libmemcached-*/tests/testapp",
33
+ "ext/libmemcached-*/tests/testplus",
34
+ "ext/libmemcached-*/tests/udptest",
35
+ "ext/libmemcached-*/config.h",
36
+ "ext/libmemcached-*/config.log",
37
+ "ext/libmemcached-*/config.status",
38
+ "ext/libmemcached-*/docs/*.[1,3]",
39
+ "ext/libmemcached-*/libmemcached/memcached_configure.h",
40
+ "ext/libmemcached-*/libtool",
41
+ "ext/libmemcached-*/stamp*",
42
+ "ext/libmemcached-*/support/libmemcached.pc",
43
+ "ext/libmemcached-*/support/libmemcached-fc.spec",
44
+ "ext/libmemcached-*/**/*.s[oa]",
45
+ "ext/libmemcached-*/**/*.l[oa]",
46
+ "ext/conftest.dSYM",
47
+ "lib/rlibmemcached*",
48
+ "**/*.rbc"]
49
+ end
50
+
51
+ task :swig do
52
+ run("swig -DLIBMEMCACHED_WITH_SASL_SUPPORT -Iext/libmemcached-0.32 -ruby -autorename -o ext/rlibmemcached_wrap.c.in ext/rlibmemcached.i", "Running SWIG")
53
+ swig_patches = {
54
+ "#ifndef RUBY_INIT_STACK" => "#ifdef __NEVER__" # Patching SWIG output for JRuby.
55
+ }.map{|pair| "s/#{pair.join('/')}/"}.join(';')
56
+ # sed has different syntax for inplace switch in BSD and GNU version, so using intermediate file
57
+ run("sed '#{swig_patches}' ext/rlibmemcached_wrap.c.in > ext/rlibmemcached_wrap.c", "Apply patches to SWIG output")
58
+ end
59
+
60
+ task :exceptions do
61
+ $LOAD_PATH << "lib"
62
+ require 'memcached'
63
+ Memcached.constants.sort.each do |const_name|
64
+ const = Memcached.send(:const_get, const_name)
65
+ next if const == Memcached::Success or const == Memcached::Stored
66
+ if const.is_a? Class and const < Memcached::Error
67
+ puts "* Memcached::#{const_name}"
68
+ end
69
+ end
70
+ end
71
+
72
+ task :benchmark do
73
+ exec("ruby #{File.dirname(__FILE__)}/test/profile/benchmark.rb")
74
+ end
75
+
76
+ task :rb_profile do
77
+ exec("ruby #{File.dirname(__FILE__)}/test/profile/rb_profiler.rb")
78
+ end
79
+
80
+ task :c_profile do
81
+ exec("ruby #{File.dirname(__FILE__)}/test/profile/c_profiler.rb")
82
+ end
83
+
84
+ task :valgrind do
85
+ exec("ruby #{File.dirname(__FILE__)}/test/profile/valgrind.rb")
86
+ end
87
+
88
+ def with_vm(vm, cmd)
89
+ bindir = vm.split("/")[0..-2].join("/")
90
+ puts "#{vm} #{cmd} started"
91
+ if !File.exist?("#{bindir}/rake")
92
+ puts "#{vm} not found"
93
+ exit(1)
94
+ elsif system("bash --norc --noprofile -c 'export PATH=#{bindir}:/bin:/usr/bin && which rake && #{bindir}/rake clean && #{bindir}/rake compile'")
95
+ puts "#{vm} compiled"
96
+ if system("bash --norc --noprofile -c 'export PATH=#{bindir}:/bin:/usr/bin && #{bindir}/rake #{cmd}'")
97
+ puts "#{vm} #{cmd} success (1st try)"
98
+ elsif system("bash --norc --noprofile -c 'export PATH=#{bindir}:/bin:/usr/bin && #{bindir}/rake #{cmd}'")
99
+ puts "#{vm} #{cmd} success (2nd try)"
100
+ else
101
+ puts "#{vm} #{cmd} failed"
102
+ exit(1)
103
+ end
104
+ else
105
+ puts "#{vm} compilation failed"
106
+ exit(1)
107
+ end
108
+ end
109
+
110
+ task :test_20 do
111
+ with_vm("/usr/bin/ruby", "test")
112
+ end
113
+
114
+ task :test_19 do
115
+ with_vm("/opt/local/bin/ruby1.9", "test")
116
+ end
117
+
118
+ task :test_rbx do
119
+ with_vm("/usr/local/rubinius/1.2.4/bin/rbx", "test")
120
+ end
121
+
122
+ task :test_all => [:test_20, :test_19, :test_rbx]
123
+
124
+ task :prerelease => [:manifest, :test_all, :install]
125
+
126
+ task :benchmark_all do
127
+ with_vms("benchmark CLIENT=libm")
128
+ end
129
+
130
+ def run(cmd, reason)
131
+ puts reason
132
+ puts cmd
133
+ raise "'#{cmd}' failed" unless system(cmd)
134
+ end