nutcracker 0.2.4.9 → 0.2.4.10mac

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 (292) hide show
  1. data/README.md +2 -0
  2. data/ext/nutcracker/ChangeLog +0 -0
  3. data/ext/nutcracker/LICENSE +0 -0
  4. data/ext/nutcracker/Makefile +643 -0
  5. data/ext/nutcracker/Makefile.am +0 -0
  6. data/ext/nutcracker/Makefile.in +82 -190
  7. data/ext/nutcracker/NOTICE +0 -0
  8. data/ext/nutcracker/README.md +0 -0
  9. data/ext/nutcracker/aclocal.m4 +122 -231
  10. data/ext/nutcracker/autom4te.cache/output.0 +18664 -0
  11. data/ext/nutcracker/autom4te.cache/output.1 +18664 -0
  12. data/ext/nutcracker/autom4te.cache/output.2 +18664 -0
  13. data/ext/nutcracker/autom4te.cache/requests +494 -0
  14. data/ext/nutcracker/autom4te.cache/traces.0 +2415 -0
  15. data/ext/nutcracker/autom4te.cache/traces.1 +945 -0
  16. data/ext/nutcracker/autom4te.cache/traces.2 +2415 -0
  17. data/ext/nutcracker/conf/nutcracker.leaf.yml +0 -0
  18. data/ext/nutcracker/conf/nutcracker.root.yml +0 -0
  19. data/ext/nutcracker/conf/nutcracker.yml +0 -0
  20. data/ext/nutcracker/config.h +332 -0
  21. data/ext/nutcracker/config.h.in +15 -0
  22. data/ext/nutcracker/config.log +2684 -0
  23. data/ext/nutcracker/config.status +2317 -0
  24. data/ext/nutcracker/config/config.guess +248 -278
  25. data/ext/nutcracker/config/config.sub +77 -234
  26. data/ext/nutcracker/config/depcomp +39 -143
  27. data/ext/nutcracker/config/install-sh +116 -136
  28. data/ext/nutcracker/config/ltmain.sh +788 -1704
  29. data/ext/nutcracker/config/missing +65 -29
  30. data/ext/nutcracker/configure +1068 -2014
  31. data/ext/nutcracker/configure.ac +34 -2
  32. data/ext/nutcracker/contrib/Makefile +494 -0
  33. data/ext/nutcracker/contrib/Makefile.am +0 -0
  34. data/ext/nutcracker/contrib/Makefile.in +47 -120
  35. data/ext/nutcracker/contrib/yaml-0.1.4.tar.gz +0 -0
  36. data/ext/nutcracker/contrib/yaml-0.1.4/Makefile +736 -0
  37. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.0 +13102 -0
  38. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.1 +13085 -0
  39. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.2 +13085 -0
  40. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/requests +476 -0
  41. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.0 +2339 -0
  42. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.1 +545 -0
  43. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.2 +2339 -0
  44. data/ext/nutcracker/contrib/yaml-0.1.4/config.h +81 -0
  45. data/ext/nutcracker/contrib/yaml-0.1.4/config.h.in~ +80 -0
  46. data/ext/nutcracker/contrib/yaml-0.1.4/config.log +688 -0
  47. data/ext/nutcracker/contrib/yaml-0.1.4/config.status +2032 -0
  48. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/annotated.html +51 -0
  49. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/bc_s.png +0 -0
  50. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/classes.html +41 -0
  51. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/closed.png +0 -0
  52. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.css +656 -0
  53. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.png +0 -0
  54. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/files.html +40 -0
  55. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions.html +91 -0
  56. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x62.html +84 -0
  57. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x63.html +87 -0
  58. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x64.html +83 -0
  59. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x65.html +110 -0
  60. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x66.html +79 -0
  61. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x68.html +80 -0
  62. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x69.html +92 -0
  63. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6b.html +71 -0
  64. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6c.html +88 -0
  65. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6d.html +96 -0
  66. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6e.html +71 -0
  67. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6f.html +80 -0
  68. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x70.html +100 -0
  69. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x71.html +71 -0
  70. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x72.html +87 -0
  71. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x73.html +163 -0
  72. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x74.html +115 -0
  73. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x75.html +71 -0
  74. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x76.html +80 -0
  75. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x77.html +77 -0
  76. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars.html +91 -0
  77. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x62.html +84 -0
  78. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x63.html +87 -0
  79. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x64.html +83 -0
  80. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x65.html +110 -0
  81. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x66.html +79 -0
  82. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x68.html +80 -0
  83. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x69.html +92 -0
  84. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6b.html +71 -0
  85. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6c.html +88 -0
  86. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6d.html +96 -0
  87. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6e.html +71 -0
  88. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6f.html +80 -0
  89. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x70.html +100 -0
  90. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x71.html +71 -0
  91. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x72.html +87 -0
  92. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x73.html +163 -0
  93. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x74.html +115 -0
  94. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x75.html +71 -0
  95. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x76.html +80 -0
  96. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x77.html +77 -0
  97. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals.html +667 -0
  98. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_defs.html +81 -0
  99. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_enum.html +78 -0
  100. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_eval.html +373 -0
  101. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_func.html +196 -0
  102. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_type.html +126 -0
  103. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__basic.html +320 -0
  104. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__emitter.html +819 -0
  105. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__events.html +664 -0
  106. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__export.html +60 -0
  107. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__nodes.html +795 -0
  108. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__parser.html +606 -0
  109. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__styles.html +222 -0
  110. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__tokens.html +246 -0
  111. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__version.html +106 -0
  112. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/index.html +31 -0
  113. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/modules.html +42 -0
  114. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_f.png +0 -0
  115. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_h.png +0 -0
  116. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/open.png +0 -0
  117. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__alias__data__s.html +108 -0
  118. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__document__s.html +235 -0
  119. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__emitter__s.html +1300 -0
  120. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__event__s.html +496 -0
  121. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__mark__s.html +108 -0
  122. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__pair__s.html +91 -0
  123. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__s.html +420 -0
  124. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__parser__s.html +1229 -0
  125. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__simple__key__s.html +97 -0
  126. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__tag__directive__s.html +91 -0
  127. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__token__s.html +413 -0
  128. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__version__directive__s.html +91 -0
  129. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_a.png +0 -0
  130. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_b.png +0 -0
  131. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_h.png +0 -0
  132. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_s.png +0 -0
  133. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tabs.css +59 -0
  134. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/yaml_8h.html +525 -0
  135. data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.am +17 -0
  136. data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.in +470 -0
  137. data/ext/nutcracker/contrib/yaml-0.1.4/libtool +8890 -0
  138. data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile +484 -0
  139. data/ext/nutcracker/contrib/yaml-0.1.4/src/api.lo +12 -0
  140. data/ext/nutcracker/contrib/yaml-0.1.4/src/api.o +0 -0
  141. data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.lo +12 -0
  142. data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.o +0 -0
  143. data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.lo +12 -0
  144. data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.o +0 -0
  145. data/ext/nutcracker/contrib/yaml-0.1.4/src/libyaml.la +41 -0
  146. data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.lo +12 -0
  147. data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.o +0 -0
  148. data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.lo +12 -0
  149. data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.o +0 -0
  150. data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.lo +12 -0
  151. data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.o +0 -0
  152. data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.lo +12 -0
  153. data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.o +0 -0
  154. data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.lo +12 -0
  155. data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.o +0 -0
  156. data/ext/nutcracker/contrib/yaml-0.1.4/stamp-h1 +1 -0
  157. data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile +675 -0
  158. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor +0 -0
  159. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt +0 -0
  160. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt.o +0 -0
  161. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor.o +0 -0
  162. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter +0 -0
  163. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt +0 -0
  164. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt.o +0 -0
  165. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter.o +0 -0
  166. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper +0 -0
  167. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper.o +0 -0
  168. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter +0 -0
  169. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter.o +0 -0
  170. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader +0 -0
  171. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader.o +0 -0
  172. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser +0 -0
  173. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser.o +0 -0
  174. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner +0 -0
  175. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner.o +0 -0
  176. data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc +10 -0
  177. data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc.in +10 -0
  178. data/ext/nutcracker/extconf.rb +0 -5
  179. data/ext/nutcracker/libtool +9403 -0
  180. data/ext/nutcracker/m4/libtool.m4 +396 -960
  181. data/ext/nutcracker/m4/ltoptions.m4 +2 -17
  182. data/ext/nutcracker/m4/ltversion.m4 +6 -6
  183. data/ext/nutcracker/notes/c-styleguide.txt +0 -0
  184. data/ext/nutcracker/notes/debug.txt +0 -0
  185. data/ext/nutcracker/notes/memcache.txt +0 -0
  186. data/ext/nutcracker/notes/recommendation.md +0 -0
  187. data/ext/nutcracker/notes/redis.md +0 -0
  188. data/ext/nutcracker/notes/socket.txt +0 -0
  189. data/ext/nutcracker/scripts/nutcracker.init +0 -0
  190. data/ext/nutcracker/scripts/nutcracker.spec +0 -0
  191. data/ext/nutcracker/scripts/redis-check.py +0 -0
  192. data/ext/nutcracker/src/Makefile +647 -0
  193. data/ext/nutcracker/src/Makefile.am +1 -1
  194. data/ext/nutcracker/src/Makefile.in +81 -167
  195. data/ext/nutcracker/src/hashkit/Makefile +476 -0
  196. data/ext/nutcracker/src/hashkit/Makefile.am +0 -0
  197. data/ext/nutcracker/src/hashkit/Makefile.in +37 -72
  198. data/ext/nutcracker/src/hashkit/libhashkit.a +0 -0
  199. data/ext/nutcracker/src/hashkit/nc_crc16.c +0 -0
  200. data/ext/nutcracker/src/hashkit/nc_crc16.o +0 -0
  201. data/ext/nutcracker/src/hashkit/nc_crc32.c +0 -0
  202. data/ext/nutcracker/src/hashkit/nc_crc32.o +0 -0
  203. data/ext/nutcracker/src/hashkit/nc_fnv.c +0 -0
  204. data/ext/nutcracker/src/hashkit/nc_fnv.o +0 -0
  205. data/ext/nutcracker/src/hashkit/nc_hashkit.h +0 -0
  206. data/ext/nutcracker/src/hashkit/nc_hsieh.c +0 -0
  207. data/ext/nutcracker/src/hashkit/nc_hsieh.o +0 -0
  208. data/ext/nutcracker/src/hashkit/nc_jenkins.c +0 -0
  209. data/ext/nutcracker/src/hashkit/nc_jenkins.o +0 -0
  210. data/ext/nutcracker/src/hashkit/nc_ketama.c +0 -0
  211. data/ext/nutcracker/src/hashkit/nc_ketama.o +0 -0
  212. data/ext/nutcracker/src/hashkit/nc_md5.c +0 -0
  213. data/ext/nutcracker/src/hashkit/nc_md5.o +0 -0
  214. data/ext/nutcracker/src/hashkit/nc_modula.c +0 -0
  215. data/ext/nutcracker/src/hashkit/nc_modula.o +0 -0
  216. data/ext/nutcracker/src/hashkit/nc_murmur.c +0 -0
  217. data/ext/nutcracker/src/hashkit/nc_murmur.o +0 -0
  218. data/ext/nutcracker/src/hashkit/nc_one_at_a_time.c +0 -0
  219. data/ext/nutcracker/src/hashkit/nc_one_at_a_time.o +0 -0
  220. data/ext/nutcracker/src/hashkit/nc_random.c +0 -0
  221. data/ext/nutcracker/src/hashkit/nc_random.o +0 -0
  222. data/ext/nutcracker/src/nc.c +0 -0
  223. data/ext/nutcracker/src/nc.o +0 -0
  224. data/ext/nutcracker/src/nc_array.c +0 -0
  225. data/ext/nutcracker/src/nc_array.h +0 -0
  226. data/ext/nutcracker/src/nc_array.o +0 -0
  227. data/ext/nutcracker/src/nc_client.c +0 -0
  228. data/ext/nutcracker/src/nc_client.h +0 -0
  229. data/ext/nutcracker/src/nc_client.o +0 -0
  230. data/ext/nutcracker/src/nc_conf.c +0 -0
  231. data/ext/nutcracker/src/nc_conf.h +0 -0
  232. data/ext/nutcracker/src/nc_conf.o +0 -0
  233. data/ext/nutcracker/src/nc_connection.c +0 -0
  234. data/ext/nutcracker/src/nc_connection.h +0 -0
  235. data/ext/nutcracker/src/nc_connection.o +0 -0
  236. data/ext/nutcracker/src/nc_core.c +29 -26
  237. data/ext/nutcracker/src/nc_core.h +13 -5
  238. data/ext/nutcracker/src/nc_core.o +0 -0
  239. data/ext/nutcracker/src/{nc_event.c → nc_epoll.c} +94 -30
  240. data/ext/nutcracker/src/nc_epoll.o +0 -0
  241. data/ext/nutcracker/src/nc_event.h +33 -13
  242. data/ext/nutcracker/src/nc_kqueue.c +296 -0
  243. data/ext/nutcracker/src/nc_kqueue.o +0 -0
  244. data/ext/nutcracker/src/nc_log.c +0 -0
  245. data/ext/nutcracker/src/nc_log.h +0 -0
  246. data/ext/nutcracker/src/nc_log.o +0 -0
  247. data/ext/nutcracker/src/nc_mbuf.c +0 -0
  248. data/ext/nutcracker/src/nc_mbuf.h +0 -0
  249. data/ext/nutcracker/src/nc_mbuf.o +0 -0
  250. data/ext/nutcracker/src/nc_message.c +0 -0
  251. data/ext/nutcracker/src/nc_message.h +0 -0
  252. data/ext/nutcracker/src/nc_message.o +0 -0
  253. data/ext/nutcracker/src/nc_proxy.c +8 -8
  254. data/ext/nutcracker/src/nc_proxy.h +0 -0
  255. data/ext/nutcracker/src/nc_proxy.o +0 -0
  256. data/ext/nutcracker/src/nc_queue.h +0 -0
  257. data/ext/nutcracker/src/nc_rbtree.c +0 -0
  258. data/ext/nutcracker/src/nc_rbtree.h +0 -0
  259. data/ext/nutcracker/src/nc_rbtree.o +0 -0
  260. data/ext/nutcracker/src/nc_request.c +3 -3
  261. data/ext/nutcracker/src/nc_request.o +0 -0
  262. data/ext/nutcracker/src/nc_response.c +4 -6
  263. data/ext/nutcracker/src/nc_response.o +0 -0
  264. data/ext/nutcracker/src/nc_server.c +5 -5
  265. data/ext/nutcracker/src/nc_server.h +0 -0
  266. data/ext/nutcracker/src/nc_server.o +0 -0
  267. data/ext/nutcracker/src/nc_signal.c +0 -0
  268. data/ext/nutcracker/src/nc_signal.h +0 -0
  269. data/ext/nutcracker/src/nc_signal.o +0 -0
  270. data/ext/nutcracker/src/nc_stats.c +16 -21
  271. data/ext/nutcracker/src/nc_stats.h +3 -4
  272. data/ext/nutcracker/src/nc_stats.o +0 -0
  273. data/ext/nutcracker/src/nc_string.c +0 -0
  274. data/ext/nutcracker/src/nc_string.h +0 -0
  275. data/ext/nutcracker/src/nc_string.o +0 -0
  276. data/ext/nutcracker/src/nc_util.c +16 -0
  277. data/ext/nutcracker/src/nc_util.h +1 -0
  278. data/ext/nutcracker/src/nc_util.o +0 -0
  279. data/ext/nutcracker/src/nutcracker +0 -0
  280. data/ext/nutcracker/src/proto/Makefile +454 -0
  281. data/ext/nutcracker/src/proto/Makefile.am +0 -0
  282. data/ext/nutcracker/src/proto/Makefile.in +37 -72
  283. data/ext/nutcracker/src/proto/libproto.a +0 -0
  284. data/ext/nutcracker/src/proto/nc_memcache.c +0 -0
  285. data/ext/nutcracker/src/proto/nc_memcache.o +0 -0
  286. data/ext/nutcracker/src/proto/nc_proto.h +0 -0
  287. data/ext/nutcracker/src/proto/nc_redis.c +0 -0
  288. data/ext/nutcracker/src/proto/nc_redis.o +0 -0
  289. data/ext/nutcracker/stamp-h1 +1 -0
  290. data/lib/nutcracker.rb +4 -2
  291. data/lib/nutcracker/version.rb +1 -1
  292. metadata +202 -9
Binary file
File without changes
File without changes
Binary file
File without changes
File without changes
Binary file
File without changes
File without changes
Binary file
@@ -163,18 +163,18 @@ proxy_listen(struct context *ctx, struct conn *p)
163
163
  return NC_ERROR;
164
164
  }
165
165
 
166
- status = event_add_conn(ctx->ep, p);
166
+ status = event_add_conn(ctx->evb, p);
167
167
  if (status < 0) {
168
- log_error("event add conn e %d p %d on addr '%.*s' failed: %s",
169
- ctx->ep, p->sd, pool->addrstr.len, pool->addrstr.data,
168
+ log_error("event add conn p %d on addr '%.*s' failed: %s",
169
+ p->sd, pool->addrstr.len, pool->addrstr.data,
170
170
  strerror(errno));
171
171
  return NC_ERROR;
172
172
  }
173
173
 
174
- status = event_del_out(ctx->ep, p);
174
+ status = event_del_out(ctx->evb, p);
175
175
  if (status < 0) {
176
- log_error("event del out e %d p %d on addr '%.*s' failed: %s",
177
- ctx->ep, p->sd, pool->addrstr.len, pool->addrstr.data,
176
+ log_error("event del out p %d on addr '%.*s' failed: %s",
177
+ p->sd, pool->addrstr.len, pool->addrstr.data,
178
178
  strerror(errno));
179
179
  return NC_ERROR;
180
180
  }
@@ -325,9 +325,9 @@ proxy_accept(struct context *ctx, struct conn *p)
325
325
  }
326
326
  }
327
327
 
328
- status = event_add_conn(ctx->ep, c);
328
+ status = event_add_conn(ctx->evb, c);
329
329
  if (status < 0) {
330
- log_error("event add conn of c %d from p %d failed: %s", c->sd, p->sd,
330
+ log_error("event add conn from p %d failed: %s", p->sd,
331
331
  strerror(errno));
332
332
  c->close(ctx, c);
333
333
  return status;
File without changes
Binary file
File without changes
File without changes
File without changes
Binary file
@@ -413,7 +413,7 @@ req_forward_error(struct context *ctx, struct conn *conn, struct msg *msg)
413
413
  }
414
414
 
415
415
  if (req_done(conn, TAILQ_FIRST(&conn->omsg_q))) {
416
- status = event_add_out(ctx->ep, conn);
416
+ status = event_add_out(ctx->evb, conn);
417
417
  if (status != NC_OK) {
418
418
  conn->err = errno;
419
419
  }
@@ -482,7 +482,7 @@ req_forward(struct context *ctx, struct conn *c_conn, struct msg *msg)
482
482
 
483
483
  /* enqueue the message (request) into server inq */
484
484
  if (TAILQ_EMPTY(&s_conn->imsg_q)) {
485
- status = event_add_out(ctx->ep, s_conn);
485
+ status = event_add_out(ctx->evb, s_conn);
486
486
  if (status != NC_OK) {
487
487
  req_forward_error(ctx, c_conn, msg);
488
488
  s_conn->err = errno;
@@ -533,7 +533,7 @@ req_send_next(struct context *ctx, struct conn *conn)
533
533
  nmsg = TAILQ_FIRST(&conn->imsg_q);
534
534
  if (nmsg == NULL) {
535
535
  /* nothing to send as the server inq is empty */
536
- status = event_del_out(ctx->ep, conn);
536
+ status = event_del_out(ctx->evb, conn);
537
537
  if (status != NC_OK) {
538
538
  conn->err = errno;
539
539
  }
Binary file
@@ -157,11 +157,9 @@ rsp_filter(struct context *ctx, struct conn *conn, struct msg *msg)
157
157
 
158
158
  pmsg = TAILQ_FIRST(&conn->omsg_q);
159
159
  if (pmsg == NULL) {
160
- log_error("filter stray rsp %"PRIu64" len %"PRIu32" on s %d", msg->id,
161
- msg->mlen, conn->sd);
160
+ log_debug(LOG_ERR, "filter stray rsp %"PRIu64" len %"PRIu32" on s %d",
161
+ msg->id, msg->mlen, conn->sd);
162
162
  rsp_put(msg);
163
- errno = EINVAL;
164
- conn->err = errno;
165
163
  return true;
166
164
  }
167
165
  ASSERT(pmsg->peer == NULL);
@@ -222,7 +220,7 @@ rsp_forward(struct context *ctx, struct conn *s_conn, struct msg *msg)
222
220
  ASSERT(c_conn->client && !c_conn->proxy);
223
221
 
224
222
  if (req_done(c_conn, TAILQ_FIRST(&c_conn->omsg_q))) {
225
- status = event_add_out(ctx->ep, c_conn);
223
+ status = event_add_out(ctx->evb, c_conn);
226
224
  if (status != NC_OK) {
227
225
  c_conn->err = errno;
228
226
  }
@@ -267,7 +265,7 @@ rsp_send_next(struct context *ctx, struct conn *conn)
267
265
  log_debug(LOG_INFO, "c %d is done", conn->sd);
268
266
  }
269
267
 
270
- status = event_del_out(ctx->ep, conn);
268
+ status = event_del_out(ctx->evb, conn);
271
269
  if (status != NC_OK) {
272
270
  conn->err = errno;
273
271
  }
Binary file
@@ -367,7 +367,7 @@ server_close(struct context *ctx, struct conn *conn)
367
367
  msg->err = conn->err;
368
368
 
369
369
  if (req_done(c_conn, TAILQ_FIRST(&c_conn->omsg_q))) {
370
- event_add_out(ctx->ep, msg->owner);
370
+ event_add_out(ctx->evb, msg->owner);
371
371
  }
372
372
 
373
373
  log_debug(LOG_INFO, "close s %d schedule error for req %"PRIu64" "
@@ -397,7 +397,7 @@ server_close(struct context *ctx, struct conn *conn)
397
397
  msg->err = conn->err;
398
398
 
399
399
  if (req_done(c_conn, TAILQ_FIRST(&c_conn->omsg_q))) {
400
- event_add_out(ctx->ep, msg->owner);
400
+ event_add_out(ctx->evb, msg->owner);
401
401
  }
402
402
 
403
403
  log_debug(LOG_INFO, "close s %d schedule error for req %"PRIu64" "
@@ -476,10 +476,10 @@ server_connect(struct context *ctx, struct server *server, struct conn *conn)
476
476
  }
477
477
  }
478
478
 
479
- status = event_add_conn(ctx->ep, conn);
479
+ status = event_add_conn(ctx->evb, conn);
480
480
  if (status != NC_OK) {
481
- log_error("event add conn e %d s %d for server '%.*s' failed: %s",
482
- ctx->ep, conn->sd, server->pname.len, server->pname.data,
481
+ log_error("event add conn s %d for server '%.*s' failed: %s",
482
+ conn->sd, server->pname.len, server->pname.data,
483
483
  strerror(errno));
484
484
  goto error;
485
485
  }
File without changes
Binary file
File without changes
File without changes
Binary file
@@ -21,11 +21,11 @@
21
21
 
22
22
  #include <sys/types.h>
23
23
  #include <sys/socket.h>
24
- #include <sys/epoll.h>
25
24
  #include <netinet/in.h>
26
25
 
27
26
  #include <nc_core.h>
28
27
  #include <nc_server.h>
28
+ #include <nc_event.h>
29
29
 
30
30
  struct stats_desc {
31
31
  char *name; /* stats name */
@@ -777,15 +777,7 @@ stats_loop(void *arg)
777
777
  int n;
778
778
 
779
779
  for (;;) {
780
- n = epoll_wait(st->ep, &st->event, 1, st->interval);
781
- if (n < 0) {
782
- if (errno == EINTR) {
783
- continue;
784
- }
785
- log_error("epoll wait on e %d with event m %d failed: %s",
786
- st->ep, st->sd, strerror(errno));
787
- break;
788
- }
780
+ n = event_wait(st->st_evb, st->interval);
789
781
 
790
782
  /* aggregate stats from shadow (b) -> sum (c) */
791
783
  stats_aggregate(st);
@@ -847,7 +839,6 @@ static rstatus_t
847
839
  stats_start_aggregator(struct stats *st)
848
840
  {
849
841
  rstatus_t status;
850
- struct epoll_event ev;
851
842
 
852
843
  if (!stats_enabled) {
853
844
  return NC_OK;
@@ -858,25 +849,28 @@ stats_start_aggregator(struct stats *st)
858
849
  return status;
859
850
  }
860
851
 
861
- st->ep = epoll_create(10);
862
- if (st->ep < 0) {
863
- log_error("epoll create failed: %s", strerror(errno));
852
+ st->st_evb = evbase_create(1, NULL);
853
+ if (st->st_evb == NULL) {
854
+ log_error("stats aggregator create failed: %s", strerror(errno));
864
855
  return NC_ERROR;
865
856
  }
866
857
 
867
- ev.data.fd = st->sd;
868
- ev.events = EPOLLIN;
858
+ ASSERT(st->st_evb != NULL);
859
+ ASSERT(st->sd >= 0);
869
860
 
870
- status = epoll_ctl(st->ep, EPOLL_CTL_ADD, st->sd, &ev);
861
+ status = event_add_st(st->st_evb, st->sd);
871
862
  if (status < 0) {
872
- log_error("epoll ctl on e %d sd %d failed: %s", st->ep, st->sd,
873
- strerror(errno));
863
+ log_error("stats aggregator create failed: %s", strerror(errno));
864
+ evbase_destroy(st->st_evb);
865
+ st->st_evb = NULL;
874
866
  return NC_ERROR;
875
867
  }
876
868
 
877
869
  status = pthread_create(&st->tid, NULL, stats_loop, st);
878
870
  if (status < 0) {
879
871
  log_error("stats aggregator create failed: %s", strerror(status));
872
+ evbase_destroy(st->st_evb);
873
+ st->st_evb = NULL;
880
874
  return NC_ERROR;
881
875
  }
882
876
 
@@ -891,7 +885,8 @@ stats_stop_aggregator(struct stats *st)
891
885
  }
892
886
 
893
887
  close(st->sd);
894
- close(st->ep);
888
+ evbase_destroy(st->st_evb);
889
+ st->st_evb = NULL;
895
890
  }
896
891
 
897
892
  struct stats *
@@ -921,7 +916,7 @@ stats_create(uint16_t stats_port, char *stats_ip, int stats_interval,
921
916
  array_null(&st->sum);
922
917
 
923
918
  st->tid = (pthread_t) -1;
924
- st->ep = -1;
919
+ st->st_evb = NULL;
925
920
  st->sd = -1;
926
921
 
927
922
  string_set_text(&st->service_str, "service");
@@ -18,9 +18,8 @@
18
18
  #ifndef _NC_STATS_H_
19
19
  #define _NC_STATS_H_
20
20
 
21
- #include <sys/epoll.h>
22
-
23
21
  #include <nc_core.h>
22
+ #include <nc_event.h>
24
23
 
25
24
  #define STATS_POOL_CODEC(ACTION) \
26
25
  /* client behavior */ \
@@ -101,8 +100,8 @@ struct stats {
101
100
 
102
101
  pthread_t tid; /* stats aggregator thread */
103
102
  int sd; /* stats descriptor */
104
- int ep; /* epoll device */
105
- struct epoll_event event; /* epoll event */
103
+
104
+ struct evbase *st_evb;
106
105
 
107
106
  struct string service_str; /* service string */
108
107
  struct string service; /* service */
Binary file
File without changes
File without changes
Binary file
@@ -22,7 +22,10 @@
22
22
  #include <unistd.h>
23
23
  #include <fcntl.h>
24
24
  #include <netdb.h>
25
+
26
+ #ifdef NC_HAVE_BACKTRACE
25
27
  #include <execinfo.h>
28
+ #endif
26
29
 
27
30
  #include <sys/time.h>
28
31
  #include <sys/types.h>
@@ -275,6 +278,7 @@ _nc_free(void *ptr, const char *name, int line)
275
278
  void
276
279
  nc_stacktrace(int skip_count)
277
280
  {
281
+ #ifdef NC_HAVE_BACKTRACE
278
282
  void *stack[64];
279
283
  char **symbols;
280
284
  int size, i, j;
@@ -292,6 +296,7 @@ nc_stacktrace(int skip_count)
292
296
  }
293
297
 
294
298
  free(symbols);
299
+ #endif
295
300
  }
296
301
 
297
302
  void
@@ -617,3 +622,14 @@ nc_unresolve_desc(int sd)
617
622
 
618
623
  return nc_unresolve_addr(addr, addrlen);
619
624
  }
625
+
626
+ struct timespec
627
+ nc_millisec_to_timespec (int n_millisec)
628
+ {
629
+ struct timeval tv = {n_millisec/1000LL, (n_millisec%1000LL)*1000LL};
630
+ struct timespec ts;
631
+
632
+ TIMEVAL_TO_TIMESPEC(&tv, &ts);
633
+
634
+ return ts;
635
+ }
@@ -190,6 +190,7 @@ int _scnprintf(char *buf, size_t size, const char *fmt, ...);
190
190
  int _vscnprintf(char *buf, size_t size, const char *fmt, va_list args);
191
191
  int64_t nc_usec_now(void);
192
192
  int64_t nc_msec_now(void);
193
+ struct timespec nc_millisec_to_timespec(int millisec);
193
194
 
194
195
  /*
195
196
  * Address resolution for internet (ipv4 and ipv6) and unix domain
Binary file
Binary file
@@ -0,0 +1,454 @@
1
+ # Makefile.in generated by automake 1.10 from Makefile.am.
2
+ # src/proto/Makefile. Generated from Makefile.in by configure.
3
+
4
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5
+ # 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
6
+ # This Makefile.in is free software; the Free Software Foundation
7
+ # gives unlimited permission to copy and/or distribute it,
8
+ # with or without modifications, as long as this notice is preserved.
9
+
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12
+ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13
+ # PARTICULAR PURPOSE.
14
+
15
+
16
+
17
+
18
+
19
+ pkgdatadir = $(datadir)/nutcracker
20
+ pkglibdir = $(libdir)/nutcracker
21
+ pkgincludedir = $(includedir)/nutcracker
22
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23
+ install_sh_DATA = $(install_sh) -c -m 644
24
+ install_sh_PROGRAM = $(install_sh) -c
25
+ install_sh_SCRIPT = $(install_sh) -c
26
+ INSTALL_HEADER = $(INSTALL_DATA)
27
+ transform = $(program_transform_name)
28
+ NORMAL_INSTALL = :
29
+ PRE_INSTALL = :
30
+ POST_INSTALL = :
31
+ NORMAL_UNINSTALL = :
32
+ PRE_UNINSTALL = :
33
+ POST_UNINSTALL = :
34
+ build_triplet = i386-apple-darwin11.4.2
35
+ host_triplet = i386-apple-darwin11.4.2
36
+ subdir = src/proto
37
+ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
38
+ $(srcdir)/Makefile.in
39
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
40
+ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
41
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
42
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
43
+ $(top_srcdir)/configure.ac
44
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
45
+ $(ACLOCAL_M4)
46
+ mkinstalldirs = $(install_sh) -d
47
+ CONFIG_HEADER = $(top_builddir)/config.h
48
+ CONFIG_CLEAN_FILES =
49
+ LIBRARIES = $(noinst_LIBRARIES)
50
+ ARFLAGS = cru
51
+ libproto_a_AR = $(AR) $(ARFLAGS)
52
+ libproto_a_LIBADD =
53
+ am_libproto_a_OBJECTS = nc_memcache.$(OBJEXT) nc_redis.$(OBJEXT)
54
+ libproto_a_OBJECTS = $(am_libproto_a_OBJECTS)
55
+ DEFAULT_INCLUDES = -I. -I$(top_builddir)
56
+ depcomp = $(SHELL) $(top_srcdir)/config/depcomp
57
+ am__depfiles_maybe = depfiles
58
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
59
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
60
+ LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
61
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
62
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
63
+ CCLD = $(CC)
64
+ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
65
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
66
+ $(LDFLAGS) -o $@
67
+ SOURCES = $(libproto_a_SOURCES)
68
+ DIST_SOURCES = $(libproto_a_SOURCES)
69
+ HEADERS = $(noinst_HEADERS)
70
+ ETAGS = etags
71
+ CTAGS = ctags
72
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
73
+ ACLOCAL = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run aclocal-1.10
74
+ AMTAR = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run tar
75
+ AR = ar
76
+ AUTOCONF = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run autoconf
77
+ AUTOHEADER = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run autoheader
78
+ AUTOMAKE = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run automake-1.10
79
+ AWK = awk
80
+ CC = gcc
81
+ CCDEPMODE = depmode=gcc3
82
+ CFLAGS = -g -O2
83
+ CPP = gcc -E
84
+ CPPFLAGS =
85
+ CXX = g++
86
+ CXXCPP = g++ -E
87
+ CXXDEPMODE = depmode=gcc3
88
+ CXXFLAGS = -g -O2
89
+ CYGPATH_W = echo
90
+ DEFS = -DHAVE_CONFIG_H
91
+ DEPDIR = .deps
92
+ DSYMUTIL = dsymutil
93
+ DUMPBIN =
94
+ ECHO_C = \c
95
+ ECHO_N =
96
+ ECHO_T =
97
+ EGREP = /usr/bin/grep -E
98
+ EXEEXT =
99
+ FGREP = /usr/bin/grep -F
100
+ GREP = /usr/bin/grep
101
+ INSTALL = /usr/bin/install -c
102
+ INSTALL_DATA = ${INSTALL} -m 644
103
+ INSTALL_PROGRAM = ${INSTALL}
104
+ INSTALL_SCRIPT = ${INSTALL}
105
+ INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
106
+ LD = /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld
107
+ LDFLAGS =
108
+ LIBOBJS =
109
+ LIBS = -lpthread -lm
110
+ LIBTOOL = $(SHELL) $(top_builddir)/libtool
111
+ LIPO = lipo
112
+ LN_S = ln -s
113
+ LTLIBOBJS =
114
+ MAKEINFO = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run makeinfo
115
+ MKDIR_P = ../../config/install-sh -c -d
116
+ NM = /usr/bin/nm
117
+ NMEDIT = nmedit
118
+ OBJDUMP = false
119
+ OBJEXT = o
120
+ OTOOL = otool
121
+ OTOOL64 = :
122
+ PACKAGE = nutcracker
123
+ PACKAGE_BUGREPORT = manj@twitter.com
124
+ PACKAGE_NAME = nutcracker
125
+ PACKAGE_STRING = nutcracker 0.2.4
126
+ PACKAGE_TARNAME = nutcracker
127
+ PACKAGE_URL =
128
+ PACKAGE_VERSION = 0.2.4
129
+ PATH_SEPARATOR = :
130
+ RANLIB = ranlib
131
+ SED = /usr/bin/sed
132
+ SET_MAKE =
133
+ SHELL = /bin/sh
134
+ STRIP = strip
135
+ VERSION = 0.2.4
136
+ abs_builddir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/src/proto
137
+ abs_srcdir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/src/proto
138
+ abs_top_builddir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd
139
+ abs_top_srcdir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd
140
+ ac_ct_CC = gcc
141
+ ac_ct_CXX = g++
142
+ ac_ct_DUMPBIN =
143
+ am__include = include
144
+ am__leading_dot = .
145
+ am__quote =
146
+ am__tar = ${AMTAR} chof - "$$tardir"
147
+ am__untar = ${AMTAR} xf -
148
+ bindir = ${exec_prefix}/bin
149
+ build = i386-apple-darwin11.4.2
150
+ build_alias =
151
+ build_cpu = i386
152
+ build_os = darwin11.4.2
153
+ build_vendor = apple
154
+ builddir = .
155
+ datadir = ${datarootdir}
156
+ datarootdir = ${prefix}/share
157
+ docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
158
+ dvidir = ${docdir}
159
+ exec_prefix = ${prefix}
160
+ host = i386-apple-darwin11.4.2
161
+ host_alias =
162
+ host_cpu = i386
163
+ host_os = darwin11.4.2
164
+ host_vendor = apple
165
+ htmldir = ${docdir}
166
+ includedir = ${prefix}/include
167
+ infodir = ${datarootdir}/info
168
+ install_sh = $(SHELL) /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/install-sh
169
+ libdir = ${exec_prefix}/lib
170
+ libexecdir = ${exec_prefix}/libexec
171
+ localedir = ${datarootdir}/locale
172
+ localstatedir = ${prefix}/var
173
+ mandir = ${datarootdir}/man
174
+ mkdir_p = $(top_builddir)/config/install-sh -c -d
175
+ oldincludedir = /usr/include
176
+ pdfdir = ${docdir}
177
+ prefix = /usr/local
178
+ program_transform_name = s,x,x,
179
+ psdir = ${docdir}
180
+ sbindir = ${exec_prefix}/sbin
181
+ sharedstatedir = ${prefix}/com
182
+ srcdir = .
183
+ subdirs = contrib/yaml-0.1.4
184
+ sysconfdir = ${prefix}/etc
185
+ target_alias =
186
+ top_build_prefix = ../../
187
+ top_builddir = ../..
188
+ top_srcdir = ../..
189
+ MAINTAINERCLEANFILES = Makefile.in
190
+ AM_CPPFLAGS = -I $(top_srcdir)/src
191
+ AM_CFLAGS = -Wall -Wshadow -Wno-unused-parameter -Wno-unused-value
192
+ noinst_LIBRARIES = libproto.a
193
+ noinst_HEADERS = nc_proto.h
194
+ libproto_a_SOURCES = \
195
+ nc_memcache.c \
196
+ nc_redis.c
197
+
198
+ all: all-am
199
+
200
+ .SUFFIXES:
201
+ .SUFFIXES: .c .lo .o .obj
202
+ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
203
+ @for dep in $?; do \
204
+ case '$(am__configure_deps)' in \
205
+ *$$dep*) \
206
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
207
+ && exit 0; \
208
+ exit 1;; \
209
+ esac; \
210
+ done; \
211
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/proto/Makefile'; \
212
+ cd $(top_srcdir) && \
213
+ $(AUTOMAKE) --foreign src/proto/Makefile
214
+ .PRECIOUS: Makefile
215
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
216
+ @case '$?' in \
217
+ *config.status*) \
218
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
219
+ *) \
220
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
221
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
222
+ esac;
223
+
224
+ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
225
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
226
+
227
+ $(top_srcdir)/configure: $(am__configure_deps)
228
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
229
+ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
230
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
231
+
232
+ clean-noinstLIBRARIES:
233
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
234
+ libproto.a: $(libproto_a_OBJECTS) $(libproto_a_DEPENDENCIES)
235
+ -rm -f libproto.a
236
+ $(libproto_a_AR) libproto.a $(libproto_a_OBJECTS) $(libproto_a_LIBADD)
237
+ $(RANLIB) libproto.a
238
+
239
+ mostlyclean-compile:
240
+ -rm -f *.$(OBJEXT)
241
+
242
+ distclean-compile:
243
+ -rm -f *.tab.c
244
+
245
+ include ./$(DEPDIR)/nc_memcache.Po
246
+ include ./$(DEPDIR)/nc_redis.Po
247
+
248
+ .c.o:
249
+ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
250
+ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
251
+ # source='$<' object='$@' libtool=no \
252
+ # DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
253
+ # $(COMPILE) -c $<
254
+
255
+ .c.obj:
256
+ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
257
+ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
258
+ # source='$<' object='$@' libtool=no \
259
+ # DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
260
+ # $(COMPILE) -c `$(CYGPATH_W) '$<'`
261
+
262
+ .c.lo:
263
+ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
264
+ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
265
+ # source='$<' object='$@' libtool=yes \
266
+ # DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
267
+ # $(LTCOMPILE) -c -o $@ $<
268
+
269
+ mostlyclean-libtool:
270
+ -rm -f *.lo
271
+
272
+ clean-libtool:
273
+ -rm -rf .libs _libs
274
+
275
+ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
276
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
277
+ unique=`for i in $$list; do \
278
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
279
+ done | \
280
+ $(AWK) ' { files[$$0] = 1; } \
281
+ END { for (i in files) print i; }'`; \
282
+ mkid -fID $$unique
283
+ tags: TAGS
284
+
285
+ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
286
+ $(TAGS_FILES) $(LISP)
287
+ tags=; \
288
+ here=`pwd`; \
289
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
290
+ unique=`for i in $$list; do \
291
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
292
+ done | \
293
+ $(AWK) ' { files[$$0] = 1; } \
294
+ END { for (i in files) print i; }'`; \
295
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
296
+ test -n "$$unique" || unique=$$empty_fix; \
297
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
298
+ $$tags $$unique; \
299
+ fi
300
+ ctags: CTAGS
301
+ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
302
+ $(TAGS_FILES) $(LISP)
303
+ tags=; \
304
+ here=`pwd`; \
305
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
306
+ unique=`for i in $$list; do \
307
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
308
+ done | \
309
+ $(AWK) ' { files[$$0] = 1; } \
310
+ END { for (i in files) print i; }'`; \
311
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
312
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
313
+ $$tags $$unique
314
+
315
+ GTAGS:
316
+ here=`$(am__cd) $(top_builddir) && pwd` \
317
+ && cd $(top_srcdir) \
318
+ && gtags -i $(GTAGS_ARGS) $$here
319
+
320
+ distclean-tags:
321
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
322
+
323
+ distdir: $(DISTFILES)
324
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
325
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
326
+ list='$(DISTFILES)'; \
327
+ dist_files=`for file in $$list; do echo $$file; done | \
328
+ sed -e "s|^$$srcdirstrip/||;t" \
329
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
330
+ case $$dist_files in \
331
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
332
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
333
+ sort -u` ;; \
334
+ esac; \
335
+ for file in $$dist_files; do \
336
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
337
+ if test -d $$d/$$file; then \
338
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
339
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
340
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
341
+ fi; \
342
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
343
+ else \
344
+ test -f $(distdir)/$$file \
345
+ || cp -p $$d/$$file $(distdir)/$$file \
346
+ || exit 1; \
347
+ fi; \
348
+ done
349
+ check-am: all-am
350
+ check: check-am
351
+ all-am: Makefile $(LIBRARIES) $(HEADERS)
352
+ installdirs:
353
+ install: install-am
354
+ install-exec: install-exec-am
355
+ install-data: install-data-am
356
+ uninstall: uninstall-am
357
+
358
+ install-am: all-am
359
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
360
+
361
+ installcheck: installcheck-am
362
+ install-strip:
363
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
364
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
365
+ `test -z '$(STRIP)' || \
366
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
367
+ mostlyclean-generic:
368
+
369
+ clean-generic:
370
+
371
+ distclean-generic:
372
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
373
+
374
+ maintainer-clean-generic:
375
+ @echo "This command is intended for maintainers to use"
376
+ @echo "it deletes files that may require special tools to rebuild."
377
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
378
+ clean: clean-am
379
+
380
+ clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
381
+ mostlyclean-am
382
+
383
+ distclean: distclean-am
384
+ -rm -rf ./$(DEPDIR)
385
+ -rm -f Makefile
386
+ distclean-am: clean-am distclean-compile distclean-generic \
387
+ distclean-tags
388
+
389
+ dvi: dvi-am
390
+
391
+ dvi-am:
392
+
393
+ html: html-am
394
+
395
+ info: info-am
396
+
397
+ info-am:
398
+
399
+ install-data-am:
400
+
401
+ install-dvi: install-dvi-am
402
+
403
+ install-exec-am:
404
+
405
+ install-html: install-html-am
406
+
407
+ install-info: install-info-am
408
+
409
+ install-man:
410
+
411
+ install-pdf: install-pdf-am
412
+
413
+ install-ps: install-ps-am
414
+
415
+ installcheck-am:
416
+
417
+ maintainer-clean: maintainer-clean-am
418
+ -rm -rf ./$(DEPDIR)
419
+ -rm -f Makefile
420
+ maintainer-clean-am: distclean-am maintainer-clean-generic
421
+
422
+ mostlyclean: mostlyclean-am
423
+
424
+ mostlyclean-am: mostlyclean-compile mostlyclean-generic \
425
+ mostlyclean-libtool
426
+
427
+ pdf: pdf-am
428
+
429
+ pdf-am:
430
+
431
+ ps: ps-am
432
+
433
+ ps-am:
434
+
435
+ uninstall-am:
436
+
437
+ .MAKE: install-am install-strip
438
+
439
+ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
440
+ clean-libtool clean-noinstLIBRARIES ctags distclean \
441
+ distclean-compile distclean-generic distclean-libtool \
442
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
443
+ install install-am install-data install-data-am install-dvi \
444
+ install-dvi-am install-exec install-exec-am install-html \
445
+ install-html-am install-info install-info-am install-man \
446
+ install-pdf install-pdf-am install-ps install-ps-am \
447
+ install-strip installcheck installcheck-am installdirs \
448
+ maintainer-clean maintainer-clean-generic mostlyclean \
449
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
450
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
451
+
452
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
453
+ # Otherwise a system limit (for SysV at least) may be exceeded.
454
+ .NOEXPORT: