nutcracker 0.2.4.9 → 0.2.4.10mac

Sign up to get free protection for your applications and to get access to all the features.
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
File without changes
@@ -1,9 +1,8 @@
1
- # Makefile.in generated by automake 1.11.3 from Makefile.am.
1
+ # Makefile.in generated by automake 1.10 from Makefile.am.
2
2
  # @configure_input@
3
3
 
4
4
  # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5
- # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
6
- # Foundation, Inc.
5
+ # 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
7
6
  # This Makefile.in is free software; the Free Software Foundation
8
7
  # gives unlimited permission to copy and/or distribute it,
9
8
  # with or without modifications, as long as this notice is preserved.
@@ -18,9 +17,8 @@
18
17
 
19
18
  VPATH = @srcdir@
20
19
  pkgdatadir = $(datadir)/@PACKAGE@
21
- pkgincludedir = $(includedir)/@PACKAGE@
22
20
  pkglibdir = $(libdir)/@PACKAGE@
23
- pkglibexecdir = $(libexecdir)/@PACKAGE@
21
+ pkgincludedir = $(includedir)/@PACKAGE@
24
22
  am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
25
23
  install_sh_DATA = $(install_sh) -c -m 644
26
24
  install_sh_PROGRAM = $(install_sh) -c
@@ -48,7 +46,6 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
48
46
  mkinstalldirs = $(install_sh) -d
49
47
  CONFIG_HEADER = $(top_builddir)/config.h
50
48
  CONFIG_CLEAN_FILES =
51
- CONFIG_CLEAN_VPATH_FILES =
52
49
  LIBRARIES = $(noinst_LIBRARIES)
53
50
  ARFLAGS = cru
54
51
  libhashkit_a_AR = $(AR) $(ARFLAGS)
@@ -59,10 +56,9 @@ am_libhashkit_a_OBJECTS = nc_crc16.$(OBJEXT) nc_crc32.$(OBJEXT) \
59
56
  nc_murmur.$(OBJEXT) nc_one_at_a_time.$(OBJEXT) \
60
57
  nc_random.$(OBJEXT)
61
58
  libhashkit_a_OBJECTS = $(am_libhashkit_a_OBJECTS)
62
- DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
59
+ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
63
60
  depcomp = $(SHELL) $(top_srcdir)/config/depcomp
64
61
  am__depfiles_maybe = depfiles
65
- am__mv = mv -f
66
62
  COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
67
63
  $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
68
64
  LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -97,7 +93,6 @@ CXXFLAGS = @CXXFLAGS@
97
93
  CYGPATH_W = @CYGPATH_W@
98
94
  DEFS = @DEFS@
99
95
  DEPDIR = @DEPDIR@
100
- DLLTOOL = @DLLTOOL@
101
96
  DSYMUTIL = @DSYMUTIL@
102
97
  DUMPBIN = @DUMPBIN@
103
98
  ECHO_C = @ECHO_C@
@@ -121,7 +116,6 @@ LIPO = @LIPO@
121
116
  LN_S = @LN_S@
122
117
  LTLIBOBJS = @LTLIBOBJS@
123
118
  MAKEINFO = @MAKEINFO@
124
- MANIFEST_TOOL = @MANIFEST_TOOL@
125
119
  MKDIR_P = @MKDIR_P@
126
120
  NM = @NM@
127
121
  NMEDIT = @NMEDIT@
@@ -147,7 +141,6 @@ abs_builddir = @abs_builddir@
147
141
  abs_srcdir = @abs_srcdir@
148
142
  abs_top_builddir = @abs_top_builddir@
149
143
  abs_top_srcdir = @abs_top_srcdir@
150
- ac_ct_AR = @ac_ct_AR@
151
144
  ac_ct_CC = @ac_ct_CC@
152
145
  ac_ct_CXX = @ac_ct_CXX@
153
146
  ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -223,14 +216,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
223
216
  @for dep in $?; do \
224
217
  case '$(am__configure_deps)' in \
225
218
  *$$dep*) \
226
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
227
- && { if test -f $@; then exit 0; else break; fi; }; \
219
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
220
+ && exit 0; \
228
221
  exit 1;; \
229
222
  esac; \
230
223
  done; \
231
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/hashkit/Makefile'; \
232
- $(am__cd) $(top_srcdir) && \
233
- $(AUTOMAKE) --foreign src/hashkit/Makefile
224
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/hashkit/Makefile'; \
225
+ cd $(top_srcdir) && \
226
+ $(AUTOMAKE) --foreign src/hashkit/Makefile
234
227
  .PRECIOUS: Makefile
235
228
  Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
236
229
  @case '$?' in \
@@ -248,11 +241,10 @@ $(top_srcdir)/configure: $(am__configure_deps)
248
241
  cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
249
242
  $(ACLOCAL_M4): $(am__aclocal_m4_deps)
250
243
  cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
251
- $(am__aclocal_m4_deps):
252
244
 
253
245
  clean-noinstLIBRARIES:
254
246
  -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
255
- libhashkit.a: $(libhashkit_a_OBJECTS) $(libhashkit_a_DEPENDENCIES) $(EXTRA_libhashkit_a_DEPENDENCIES)
247
+ libhashkit.a: $(libhashkit_a_OBJECTS) $(libhashkit_a_DEPENDENCIES)
256
248
  -rm -f libhashkit.a
257
249
  $(libhashkit_a_AR) libhashkit.a $(libhashkit_a_OBJECTS) $(libhashkit_a_LIBADD)
258
250
  $(RANLIB) libhashkit.a
@@ -277,21 +269,21 @@ distclean-compile:
277
269
 
278
270
  .c.o:
279
271
  @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
280
- @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
272
+ @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
281
273
  @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
282
274
  @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
283
275
  @am__fastdepCC_FALSE@ $(COMPILE) -c $<
284
276
 
285
277
  .c.obj:
286
278
  @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
287
- @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
279
+ @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
288
280
  @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
289
281
  @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
290
282
  @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
291
283
 
292
284
  .c.lo:
293
285
  @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
294
- @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
286
+ @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
295
287
  @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
296
288
  @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
297
289
  @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
@@ -307,49 +299,45 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
307
299
  unique=`for i in $$list; do \
308
300
  if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
309
301
  done | \
310
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
311
- END { if (nonempty) { for (i in files) print i; }; }'`; \
302
+ $(AWK) ' { files[$$0] = 1; } \
303
+ END { for (i in files) print i; }'`; \
312
304
  mkid -fID $$unique
313
305
  tags: TAGS
314
306
 
315
307
  TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
316
308
  $(TAGS_FILES) $(LISP)
317
- set x; \
309
+ tags=; \
318
310
  here=`pwd`; \
319
311
  list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
320
312
  unique=`for i in $$list; do \
321
313
  if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
322
314
  done | \
323
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
324
- END { if (nonempty) { for (i in files) print i; }; }'`; \
325
- shift; \
326
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
315
+ $(AWK) ' { files[$$0] = 1; } \
316
+ END { for (i in files) print i; }'`; \
317
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
327
318
  test -n "$$unique" || unique=$$empty_fix; \
328
- if test $$# -gt 0; then \
329
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
330
- "$$@" $$unique; \
331
- else \
332
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
333
- $$unique; \
334
- fi; \
319
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
320
+ $$tags $$unique; \
335
321
  fi
336
322
  ctags: CTAGS
337
323
  CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
338
324
  $(TAGS_FILES) $(LISP)
325
+ tags=; \
326
+ here=`pwd`; \
339
327
  list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
340
328
  unique=`for i in $$list; do \
341
329
  if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
342
330
  done | \
343
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
344
- END { if (nonempty) { for (i in files) print i; }; }'`; \
345
- test -z "$(CTAGS_ARGS)$$unique" \
331
+ $(AWK) ' { files[$$0] = 1; } \
332
+ END { for (i in files) print i; }'`; \
333
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
346
334
  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
347
- $$unique
335
+ $$tags $$unique
348
336
 
349
337
  GTAGS:
350
338
  here=`$(am__cd) $(top_builddir) && pwd` \
351
- && $(am__cd) $(top_srcdir) \
352
- && gtags -i $(GTAGS_ARGS) "$$here"
339
+ && cd $(top_srcdir) \
340
+ && gtags -i $(GTAGS_ARGS) $$here
353
341
 
354
342
  distclean-tags:
355
343
  -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -370,17 +358,13 @@ distdir: $(DISTFILES)
370
358
  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
371
359
  if test -d $$d/$$file; then \
372
360
  dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
373
- if test -d "$(distdir)/$$file"; then \
374
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
375
- fi; \
376
361
  if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
377
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
378
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
362
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
379
363
  fi; \
380
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
364
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
381
365
  else \
382
- test -f "$(distdir)/$$file" \
383
- || cp -p $$d/$$file "$(distdir)/$$file" \
366
+ test -f $(distdir)/$$file \
367
+ || cp -p $$d/$$file $(distdir)/$$file \
384
368
  || exit 1; \
385
369
  fi; \
386
370
  done
@@ -398,22 +382,16 @@ install-am: all-am
398
382
 
399
383
  installcheck: installcheck-am
400
384
  install-strip:
401
- if test -z '$(STRIP)'; then \
402
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
403
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
404
- install; \
405
- else \
406
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
407
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
408
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
409
- fi
385
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
386
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
387
+ `test -z '$(STRIP)' || \
388
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
410
389
  mostlyclean-generic:
411
390
 
412
391
  clean-generic:
413
392
 
414
393
  distclean-generic:
415
394
  -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
416
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
417
395
 
418
396
  maintainer-clean-generic:
419
397
  @echo "This command is intended for maintainers to use"
@@ -436,8 +414,6 @@ dvi-am:
436
414
 
437
415
  html: html-am
438
416
 
439
- html-am:
440
-
441
417
  info: info-am
442
418
 
443
419
  info-am:
@@ -446,28 +422,18 @@ install-data-am:
446
422
 
447
423
  install-dvi: install-dvi-am
448
424
 
449
- install-dvi-am:
450
-
451
425
  install-exec-am:
452
426
 
453
427
  install-html: install-html-am
454
428
 
455
- install-html-am:
456
-
457
429
  install-info: install-info-am
458
430
 
459
- install-info-am:
460
-
461
431
  install-man:
462
432
 
463
433
  install-pdf: install-pdf-am
464
434
 
465
- install-pdf-am:
466
-
467
435
  install-ps: install-ps-am
468
436
 
469
- install-ps-am:
470
-
471
437
  installcheck-am:
472
438
 
473
439
  maintainer-clean: maintainer-clean-am
@@ -505,7 +471,6 @@ uninstall-am:
505
471
  mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
506
472
  pdf pdf-am ps ps-am tags uninstall uninstall-am
507
473
 
508
-
509
474
  # Tell versions [3.59,3.63) of GNU make to not export all variables.
510
475
  # Otherwise a system limit (for SysV at least) may be exceeded.
511
476
  .NOEXPORT:
File without changes
File without changes
File without changes
Binary file
File without changes
File without changes
File without changes
File without changes
File without changes
Binary file
File without changes
File without changes
File without changes
File without changes
File without changes
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
File without changes
File without changes
Binary file
@@ -17,9 +17,6 @@
17
17
 
18
18
  #include <stdlib.h>
19
19
  #include <unistd.h>
20
-
21
- #include <sys/epoll.h>
22
-
23
20
  #include <nc_core.h>
24
21
  #include <nc_event.h>
25
22
  #include <nc_conf.h>
@@ -28,6 +25,10 @@
28
25
 
29
26
  static uint32_t ctx_id; /* context generation */
30
27
 
28
+ /* function prototype for use in core_ctx_create() */
29
+ static void
30
+ core_core(void *arg, uint32_t evflags);
31
+
31
32
  static struct context *
32
33
  core_ctx_create(struct instance *nci)
33
34
  {
@@ -41,12 +42,10 @@ core_ctx_create(struct instance *nci)
41
42
  ctx->id = ++ctx_id;
42
43
  ctx->cf = NULL;
43
44
  ctx->stats = NULL;
45
+ ctx->evb = NULL;
44
46
  array_null(&ctx->pool);
45
- ctx->ep = -1;
46
- ctx->nevent = EVENT_SIZE_HINT;
47
47
  ctx->max_timeout = nci->stats_interval;
48
48
  ctx->timeout = ctx->max_timeout;
49
- ctx->event = NULL;
50
49
 
51
50
  /* parse and create configuration */
52
51
  ctx->cf = conf_create(nci->conf_filename);
@@ -74,8 +73,8 @@ core_ctx_create(struct instance *nci)
74
73
  }
75
74
 
76
75
  /* initialize event handling for client, proxy and server */
77
- status = event_init(ctx, EVENT_SIZE_HINT);
78
- if (status != NC_OK) {
76
+ ctx->evb = evbase_create(NC_EVENT_SIZE, &core_core);
77
+ if (ctx->evb == NULL) {
79
78
  stats_destroy(ctx->stats);
80
79
  server_pool_deinit(&ctx->pool);
81
80
  conf_destroy(ctx->cf);
@@ -87,7 +86,7 @@ core_ctx_create(struct instance *nci)
87
86
  status = server_pool_preconnect(ctx);
88
87
  if (status != NC_OK) {
89
88
  server_pool_disconnect(ctx);
90
- event_deinit(ctx);
89
+ evbase_destroy(ctx->evb);
91
90
  stats_destroy(ctx->stats);
92
91
  server_pool_deinit(&ctx->pool);
93
92
  conf_destroy(ctx->cf);
@@ -99,7 +98,7 @@ core_ctx_create(struct instance *nci)
99
98
  status = proxy_init(ctx);
100
99
  if (status != NC_OK) {
101
100
  server_pool_disconnect(ctx);
102
- event_deinit(ctx);
101
+ evbase_destroy(ctx->evb);
103
102
  stats_destroy(ctx->stats);
104
103
  server_pool_deinit(&ctx->pool);
105
104
  conf_destroy(ctx->cf);
@@ -118,7 +117,7 @@ core_ctx_destroy(struct context *ctx)
118
117
  log_debug(LOG_VVERB, "destroy ctx %p id %"PRIu32"", ctx, ctx->id);
119
118
  proxy_deinit(ctx);
120
119
  server_pool_disconnect(ctx);
121
- event_deinit(ctx);
120
+ evbase_destroy(ctx->evb);
122
121
  stats_destroy(ctx->stats);
123
122
  server_pool_deinit(&ctx->pool);
124
123
  conf_destroy(ctx->cf);
@@ -206,9 +205,9 @@ core_close(struct context *ctx, struct conn *conn)
206
205
  conn->eof, conn->done, conn->recv_bytes, conn->send_bytes,
207
206
  conn->err ? ':' : ' ', conn->err ? strerror(conn->err) : "");
208
207
 
209
- status = event_del_conn(ctx->ep, conn);
208
+ status = event_del_conn(ctx->evb, conn);
210
209
  if (status < 0) {
211
- log_warn("event del conn e %d %c %d failed, ignored: %s", ctx->ep,
210
+ log_warn("event del conn %c %d failed, ignored: %s",
212
211
  type, conn->sd, strerror(errno));
213
212
  }
214
213
 
@@ -277,23 +276,33 @@ core_timeout(struct context *ctx)
277
276
  }
278
277
 
279
278
  static void
280
- core_core(struct context *ctx, struct conn *conn, uint32_t events)
279
+ core_core(void *arg, uint32_t evflags)
281
280
  {
282
281
  rstatus_t status;
282
+ struct conn *conn = (struct conn *) arg;
283
+ struct context *ctx;
283
284
 
284
- log_debug(LOG_VVERB, "event %04"PRIX32" on %c %d", events,
285
+
286
+
287
+ if ((conn->proxy) || (conn->client)) {
288
+ ctx = ((struct server_pool *) (conn -> owner)) -> ctx;
289
+ } else {
290
+ ctx = ((struct server_pool *) (((struct server *) (conn -> owner)) -> owner )) -> ctx;
291
+ }
292
+
293
+ log_debug(LOG_VVERB, "event %04"PRIX32" on %c %d", evflags,
285
294
  conn->client ? 'c' : (conn->proxy ? 'p' : 's'), conn->sd);
286
295
 
287
- conn->events = events;
296
+ conn->events = evflags;
288
297
 
289
298
  /* error takes precedence over read | write */
290
- if (events & EPOLLERR) {
299
+ if (evflags & EV_ERR) {
291
300
  core_error(ctx, conn);
292
301
  return;
293
302
  }
294
303
 
295
304
  /* read takes precedence over write */
296
- if (events & (EPOLLIN | EPOLLHUP)) {
305
+ if (evflags & EV_READ) {
297
306
  status = core_recv(ctx, conn);
298
307
  if (status != NC_OK || conn->done || conn->err) {
299
308
  core_close(ctx, conn);
@@ -301,7 +310,7 @@ core_core(struct context *ctx, struct conn *conn, uint32_t events)
301
310
  }
302
311
  }
303
312
 
304
- if (events & EPOLLOUT) {
313
+ if (evflags & EV_WRITE) {
305
314
  status = core_send(ctx, conn);
306
315
  if (status != NC_OK || conn->done || conn->err) {
307
316
  core_close(ctx, conn);
@@ -315,17 +324,11 @@ core_loop(struct context *ctx)
315
324
  {
316
325
  int i, nsd;
317
326
 
318
- nsd = event_wait(ctx->ep, ctx->event, ctx->nevent, ctx->timeout);
327
+ nsd = event_wait(ctx->evb, ctx->timeout);
319
328
  if (nsd < 0) {
320
329
  return nsd;
321
330
  }
322
331
 
323
- for (i = 0; i < nsd; i++) {
324
- struct epoll_event *ev = &ctx->event[i];
325
-
326
- core_core(ctx, ev->data.ptr, ev->events);
327
- }
328
-
329
332
  core_timeout(ctx);
330
333
 
331
334
  stats_swap(ctx->stats);