noderb 0.0.4 → 0.0.6

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 (361) hide show
  1. data/ext/noderb_extension/libuv/AUTHORS +11 -1
  2. data/ext/noderb_extension/libuv/LICENSE +0 -8
  3. data/ext/noderb_extension/libuv/Makefile +5 -5
  4. data/ext/noderb_extension/libuv/README +11 -6
  5. data/ext/noderb_extension/libuv/common.gypi +158 -7
  6. data/ext/noderb_extension/libuv/config-unix.mk +34 -26
  7. data/ext/noderb_extension/libuv/gyp_uv +22 -4
  8. data/ext/noderb_extension/libuv/include/{eio.h → uv-private/eio.h} +2 -2
  9. data/ext/noderb_extension/libuv/include/{uv-unix.h → uv-private/uv-unix.h} +40 -0
  10. data/ext/noderb_extension/libuv/include/{uv-win.h → uv-private/uv-win.h} +96 -14
  11. data/ext/noderb_extension/libuv/include/uv.h +508 -83
  12. data/ext/noderb_extension/libuv/src/unix/cares.c +185 -0
  13. data/ext/noderb_extension/libuv/src/unix/core.c +828 -0
  14. data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config_darwin.h +4 -0
  15. data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config_linux.h +5 -15
  16. data/ext/noderb_extension/libuv/src/{eio → unix/eio}/eio.c +23 -2
  17. data/ext/noderb_extension/libuv/src/unix/error.c +102 -0
  18. data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config_linux.h +26 -15
  19. data/ext/noderb_extension/libuv/src/unix/fs.c +562 -0
  20. data/ext/noderb_extension/libuv/src/unix/internal.h +75 -0
  21. data/ext/noderb_extension/libuv/src/unix/pipe.c +282 -0
  22. data/ext/noderb_extension/libuv/src/unix/process.c +287 -0
  23. data/ext/noderb_extension/libuv/src/unix/stream.c +727 -0
  24. data/ext/noderb_extension/libuv/src/unix/tcp.c +226 -0
  25. data/ext/noderb_extension/libuv/src/unix/udp.c +524 -0
  26. data/ext/noderb_extension/libuv/src/{uv-eio.c → unix/uv-eio.c} +48 -27
  27. data/ext/noderb_extension/libuv/src/{uv-eio.h → unix/uv-eio.h} +1 -1
  28. data/ext/noderb_extension/libuv/src/uv-common.c +24 -14
  29. data/ext/noderb_extension/libuv/src/uv-common.h +12 -7
  30. data/ext/noderb_extension/libuv/src/win/async.c +14 -16
  31. data/ext/noderb_extension/libuv/src/win/cares.c +64 -79
  32. data/ext/noderb_extension/libuv/src/win/core.c +105 -53
  33. data/ext/noderb_extension/libuv/src/win/error.c +23 -13
  34. data/ext/noderb_extension/libuv/src/win/fs.c +807 -0
  35. data/ext/noderb_extension/libuv/src/win/getaddrinfo.c +61 -41
  36. data/ext/noderb_extension/libuv/src/win/handle.c +56 -30
  37. data/ext/noderb_extension/libuv/src/win/internal.h +134 -95
  38. data/ext/noderb_extension/libuv/src/win/loop-watcher.c +21 -18
  39. data/ext/noderb_extension/libuv/src/win/pipe.c +313 -158
  40. data/ext/noderb_extension/libuv/src/win/process.c +117 -131
  41. data/ext/noderb_extension/libuv/src/win/req.c +55 -31
  42. data/ext/noderb_extension/libuv/src/win/stdio.c +5 -5
  43. data/ext/noderb_extension/libuv/src/win/stream.c +19 -14
  44. data/ext/noderb_extension/libuv/src/win/tcp.c +278 -336
  45. data/ext/noderb_extension/libuv/src/win/threadpool.c +73 -0
  46. data/ext/noderb_extension/libuv/src/win/timer.c +44 -37
  47. data/ext/noderb_extension/libuv/src/win/udp.c +592 -0
  48. data/ext/noderb_extension/libuv/src/win/util.c +20 -6
  49. data/ext/noderb_extension/libuv/src/win/winapi.c +23 -6
  50. data/ext/noderb_extension/libuv/src/win/winapi.h +4206 -0
  51. data/ext/noderb_extension/libuv/src/win/winsock.c +270 -0
  52. data/ext/noderb_extension/libuv/src/win/winsock.h +134 -0
  53. data/ext/noderb_extension/libuv/test/benchmark-ares.c +10 -6
  54. data/ext/noderb_extension/libuv/test/benchmark-getaddrinfo.c +10 -7
  55. data/ext/noderb_extension/libuv/test/benchmark-list.h +21 -0
  56. data/ext/noderb_extension/libuv/test/benchmark-ping-pongs.c +11 -7
  57. data/ext/noderb_extension/libuv/test/benchmark-pound.c +147 -58
  58. data/ext/noderb_extension/libuv/test/benchmark-pump.c +29 -23
  59. data/ext/noderb_extension/libuv/test/benchmark-spawn.c +13 -10
  60. data/ext/noderb_extension/libuv/test/benchmark-udp-packet-storm.c +250 -0
  61. data/ext/noderb_extension/libuv/test/dns-server.c +11 -6
  62. data/ext/noderb_extension/libuv/test/echo-server.c +30 -22
  63. data/ext/noderb_extension/libuv/test/test-async.c +3 -3
  64. data/ext/noderb_extension/libuv/test/test-callback-stack.c +6 -6
  65. data/ext/noderb_extension/libuv/test/test-connection-fail.c +6 -5
  66. data/ext/noderb_extension/libuv/test/test-delayed-accept.c +13 -13
  67. data/ext/noderb_extension/libuv/test/test-fs.c +715 -0
  68. data/ext/noderb_extension/libuv/test/test-getaddrinfo.c +11 -8
  69. data/ext/noderb_extension/libuv/test/test-gethostbyname.c +8 -9
  70. data/ext/noderb_extension/libuv/test/test-getsockname.c +142 -16
  71. data/ext/noderb_extension/libuv/test/test-idle.c +4 -3
  72. data/ext/noderb_extension/libuv/test/test-list.h +29 -2
  73. data/ext/noderb_extension/libuv/test/test-loop-handles.c +9 -8
  74. data/ext/noderb_extension/libuv/test/test-ping-pong.c +9 -9
  75. data/ext/noderb_extension/libuv/test/test-pipe-bind-error.c +18 -14
  76. data/ext/noderb_extension/libuv/test/test-ref.c +17 -16
  77. data/ext/noderb_extension/libuv/test/test-shutdown-eof.c +5 -5
  78. data/ext/noderb_extension/libuv/test/test-spawn.c +17 -17
  79. data/ext/noderb_extension/libuv/test/test-tcp-bind-error.c +24 -18
  80. data/ext/noderb_extension/libuv/test/test-tcp-bind6-error.c +19 -14
  81. data/ext/noderb_extension/libuv/test/test-tcp-writealot.c +6 -5
  82. data/ext/noderb_extension/libuv/test/test-threadpool.c +59 -0
  83. data/ext/noderb_extension/libuv/test/test-timer-again.c +15 -12
  84. data/ext/noderb_extension/libuv/test/test-timer.c +8 -8
  85. data/ext/noderb_extension/libuv/test/test-udp-dgram-too-big.c +88 -0
  86. data/ext/noderb_extension/libuv/test/test-udp-ipv6.c +158 -0
  87. data/ext/noderb_extension/libuv/test/test-udp-send-and-recv.c +210 -0
  88. data/ext/noderb_extension/libuv/{all.gyp → uv.gyp} +75 -77
  89. data/ext/noderb_extension/libuv/vcbuild.bat +93 -0
  90. data/ext/noderb_extension/noderb.c +13 -0
  91. data/ext/noderb_extension/noderb_common.h +2 -1
  92. data/ext/noderb_extension/noderb_defer.c +54 -0
  93. data/ext/noderb_extension/noderb_defer.h +15 -0
  94. data/ext/noderb_extension/noderb_dns.c +1 -1
  95. data/ext/noderb_extension/noderb_fs.c +277 -0
  96. data/ext/noderb_extension/noderb_fs.h +27 -0
  97. data/ext/noderb_extension/noderb_process.c +5 -5
  98. data/ext/noderb_extension/noderb_tcp.c +10 -6
  99. data/ext/noderb_extension/noderb_timers.c +1 -1
  100. data/ext/noderb_extension/noderb_tools.c +42 -8
  101. data/ext/noderb_extension/noderb_tools.h +3 -1
  102. data/lib/noderb/defer.rb +25 -0
  103. data/lib/noderb/file.rb +119 -0
  104. data/lib/noderb/fs.rb +72 -0
  105. data/lib/noderb/version.rb +1 -1
  106. data/lib/noderb.rb +8 -0
  107. metadata +102 -266
  108. data/ext/noderb_extension/libuv/BSDmakefile +0 -2
  109. data/ext/noderb_extension/libuv/create-msvs-files.bat +0 -21
  110. data/ext/noderb_extension/libuv/deps/pthread-win32/ANNOUNCE +0 -482
  111. data/ext/noderb_extension/libuv/deps/pthread-win32/BUGS +0 -141
  112. data/ext/noderb_extension/libuv/deps/pthread-win32/Bmakefile +0 -268
  113. data/ext/noderb_extension/libuv/deps/pthread-win32/CONTRIBUTORS +0 -140
  114. data/ext/noderb_extension/libuv/deps/pthread-win32/COPYING +0 -150
  115. data/ext/noderb_extension/libuv/deps/pthread-win32/COPYING.LIB +0 -504
  116. data/ext/noderb_extension/libuv/deps/pthread-win32/ChangeLog +0 -5194
  117. data/ext/noderb_extension/libuv/deps/pthread-win32/FAQ +0 -451
  118. data/ext/noderb_extension/libuv/deps/pthread-win32/GNUmakefile +0 -593
  119. data/ext/noderb_extension/libuv/deps/pthread-win32/MAINTAINERS +0 -4
  120. data/ext/noderb_extension/libuv/deps/pthread-win32/Makefile +0 -516
  121. data/ext/noderb_extension/libuv/deps/pthread-win32/NEWS +0 -1245
  122. data/ext/noderb_extension/libuv/deps/pthread-win32/Nmakefile +0 -24
  123. data/ext/noderb_extension/libuv/deps/pthread-win32/Nmakefile.tests +0 -260
  124. data/ext/noderb_extension/libuv/deps/pthread-win32/PROGRESS +0 -4
  125. data/ext/noderb_extension/libuv/deps/pthread-win32/README +0 -601
  126. data/ext/noderb_extension/libuv/deps/pthread-win32/README.Borland +0 -57
  127. data/ext/noderb_extension/libuv/deps/pthread-win32/README.CV +0 -3036
  128. data/ext/noderb_extension/libuv/deps/pthread-win32/README.NONPORTABLE +0 -783
  129. data/ext/noderb_extension/libuv/deps/pthread-win32/README.Watcom +0 -62
  130. data/ext/noderb_extension/libuv/deps/pthread-win32/README.WinCE +0 -6
  131. data/ext/noderb_extension/libuv/deps/pthread-win32/TODO +0 -7
  132. data/ext/noderb_extension/libuv/deps/pthread-win32/WinCE-PORT +0 -222
  133. data/ext/noderb_extension/libuv/deps/pthread-win32/attr.c +0 -53
  134. data/ext/noderb_extension/libuv/deps/pthread-win32/autostatic.c +0 -69
  135. data/ext/noderb_extension/libuv/deps/pthread-win32/barrier.c +0 -47
  136. data/ext/noderb_extension/libuv/deps/pthread-win32/build/all.gyp +0 -207
  137. data/ext/noderb_extension/libuv/deps/pthread-win32/builddmc.bat +0 -9
  138. data/ext/noderb_extension/libuv/deps/pthread-win32/cancel.c +0 -44
  139. data/ext/noderb_extension/libuv/deps/pthread-win32/cleanup.c +0 -148
  140. data/ext/noderb_extension/libuv/deps/pthread-win32/condvar.c +0 -50
  141. data/ext/noderb_extension/libuv/deps/pthread-win32/config.h +0 -153
  142. data/ext/noderb_extension/libuv/deps/pthread-win32/context.h +0 -74
  143. data/ext/noderb_extension/libuv/deps/pthread-win32/create.c +0 -308
  144. data/ext/noderb_extension/libuv/deps/pthread-win32/dll.c +0 -92
  145. data/ext/noderb_extension/libuv/deps/pthread-win32/errno.c +0 -94
  146. data/ext/noderb_extension/libuv/deps/pthread-win32/exit.c +0 -44
  147. data/ext/noderb_extension/libuv/deps/pthread-win32/fork.c +0 -39
  148. data/ext/noderb_extension/libuv/deps/pthread-win32/global.c +0 -107
  149. data/ext/noderb_extension/libuv/deps/pthread-win32/implement.h +0 -944
  150. data/ext/noderb_extension/libuv/deps/pthread-win32/misc.c +0 -50
  151. data/ext/noderb_extension/libuv/deps/pthread-win32/mutex.c +0 -62
  152. data/ext/noderb_extension/libuv/deps/pthread-win32/need_errno.h +0 -145
  153. data/ext/noderb_extension/libuv/deps/pthread-win32/nonportable.c +0 -47
  154. data/ext/noderb_extension/libuv/deps/pthread-win32/private.c +0 -54
  155. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.c +0 -66
  156. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.dsp +0 -142
  157. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.dsw +0 -29
  158. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.h +0 -1368
  159. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_destroy.c +0 -79
  160. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getdetachstate.c +0 -86
  161. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getinheritsched.c +0 -51
  162. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getschedparam.c +0 -52
  163. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getschedpolicy.c +0 -61
  164. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getscope.c +0 -54
  165. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getstackaddr.c +0 -97
  166. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getstacksize.c +0 -100
  167. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_init.c +0 -117
  168. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setdetachstate.c +0 -91
  169. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setinheritsched.c +0 -57
  170. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setschedparam.c +0 -63
  171. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setschedpolicy.c +0 -55
  172. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setscope.c +0 -62
  173. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setstackaddr.c +0 -97
  174. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setstacksize.c +0 -110
  175. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_destroy.c +0 -103
  176. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_init.c +0 -69
  177. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_wait.c +0 -104
  178. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_destroy.c +0 -83
  179. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_getpshared.c +0 -95
  180. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_init.c +0 -85
  181. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_setpshared.c +0 -119
  182. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cancel.c +0 -189
  183. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_destroy.c +0 -253
  184. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_init.c +0 -167
  185. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_signal.c +0 -231
  186. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_wait.c +0 -567
  187. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_destroy.c +0 -86
  188. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_getpshared.c +0 -97
  189. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_init.c +0 -87
  190. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_setpshared.c +0 -117
  191. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_delay_np.c +0 -172
  192. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_detach.c +0 -136
  193. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_equal.c +0 -76
  194. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_exit.c +0 -106
  195. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getconcurrency.c +0 -45
  196. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getschedparam.c +0 -75
  197. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getspecific.c +0 -87
  198. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getunique_np.c +0 -47
  199. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getw32threadhandle_np.c +0 -65
  200. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_join.c +0 -157
  201. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_key_create.c +0 -108
  202. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_key_delete.c +0 -125
  203. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_kill.c +0 -105
  204. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_consistent.c +0 -187
  205. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_destroy.c +0 -148
  206. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_init.c +0 -130
  207. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_lock.c +0 -269
  208. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_timedlock.c +0 -324
  209. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_trylock.c +0 -154
  210. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_unlock.c +0 -175
  211. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_destroy.c +0 -83
  212. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getkind_np.c +0 -44
  213. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getpshared.c +0 -95
  214. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getrobust.c +0 -113
  215. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_gettype.c +0 -56
  216. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_init.c +0 -86
  217. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setkind_np.c +0 -44
  218. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setpshared.c +0 -119
  219. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setrobust.c +0 -119
  220. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_settype.c +0 -143
  221. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_num_processors_np.c +0 -56
  222. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_once.c +0 -79
  223. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_destroy.c +0 -143
  224. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_init.c +0 -109
  225. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_rdlock.c +0 -102
  226. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_timedrdlock.c +0 -109
  227. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_timedwrlock.c +0 -139
  228. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_tryrdlock.c +0 -102
  229. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_trywrlock.c +0 -122
  230. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_unlock.c +0 -93
  231. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_wrlock.c +0 -133
  232. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_destroy.c +0 -84
  233. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_getpshared.c +0 -97
  234. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_init.c +0 -83
  235. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_setpshared.c +0 -120
  236. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_self.c +0 -141
  237. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setcancelstate.c +0 -125
  238. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setcanceltype.c +0 -126
  239. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setconcurrency.c +0 -53
  240. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setschedparam.c +0 -123
  241. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setspecific.c +0 -167
  242. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_destroy.c +0 -111
  243. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_init.c +0 -123
  244. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_lock.c +0 -80
  245. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_trylock.c +0 -77
  246. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_unlock.c +0 -71
  247. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_testcancel.c +0 -103
  248. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_timechange_handler_np.c +0 -108
  249. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_win32_attach_detach_np.c +0 -258
  250. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_MCS_lock.c +0 -278
  251. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_callUserDestroyRoutines.c +0 -232
  252. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_calloc.c +0 -56
  253. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_cond_check_need_init.c +0 -78
  254. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_getprocessors.c +0 -91
  255. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_is_attr.c +0 -47
  256. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_mutex_check_need_init.c +0 -92
  257. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_new.c +0 -94
  258. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_processInitialize.c +0 -92
  259. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_processTerminate.c +0 -105
  260. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_relmillisecs.c +0 -132
  261. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_reuse.c +0 -151
  262. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_rwlock_cancelwrwait.c +0 -50
  263. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_rwlock_check_need_init.c +0 -77
  264. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_semwait.c +0 -135
  265. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_spinlock_check_need_init.c +0 -78
  266. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_threadDestroy.c +0 -79
  267. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_threadStart.c +0 -357
  268. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_throw.c +0 -189
  269. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_timespec.c +0 -83
  270. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_tkAssocCreate.c +0 -118
  271. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_tkAssocDestroy.c +0 -114
  272. data/ext/noderb_extension/libuv/deps/pthread-win32/rwlock.c +0 -51
  273. data/ext/noderb_extension/libuv/deps/pthread-win32/sched.c +0 -53
  274. data/ext/noderb_extension/libuv/deps/pthread-win32/sched.h +0 -183
  275. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_get_priority_max.c +0 -134
  276. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_get_priority_min.c +0 -135
  277. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_getscheduler.c +0 -71
  278. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_setscheduler.c +0 -83
  279. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_yield.c +0 -71
  280. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_close.c +0 -58
  281. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_destroy.c +0 -144
  282. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_getvalue.c +0 -110
  283. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_init.c +0 -169
  284. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_open.c +0 -58
  285. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_post.c +0 -128
  286. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_post_multiple.c +0 -142
  287. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_timedwait.c +0 -238
  288. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_trywait.c +0 -117
  289. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_unlink.c +0 -58
  290. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_wait.c +0 -187
  291. data/ext/noderb_extension/libuv/deps/pthread-win32/semaphore.c +0 -69
  292. data/ext/noderb_extension/libuv/deps/pthread-win32/semaphore.h +0 -169
  293. data/ext/noderb_extension/libuv/deps/pthread-win32/signal.c +0 -179
  294. data/ext/noderb_extension/libuv/deps/pthread-win32/spin.c +0 -46
  295. data/ext/noderb_extension/libuv/deps/pthread-win32/sync.c +0 -43
  296. data/ext/noderb_extension/libuv/deps/pthread-win32/tsd.c +0 -44
  297. data/ext/noderb_extension/libuv/deps/pthread-win32/version.rc +0 -388
  298. data/ext/noderb_extension/libuv/deps/pthread-win32/w32_CancelableWait.c +0 -161
  299. data/ext/noderb_extension/libuv/doc/iocp-links.html +0 -574
  300. data/ext/noderb_extension/libuv/src/uv-unix.c +0 -2421
  301. data/ext/noderb_extension/libuv/src/win/ntdll.h +0 -130
  302. /data/ext/noderb_extension/libuv/include/{ev.h → uv-private/ev.h} +0 -0
  303. /data/ext/noderb_extension/libuv/include/{ngx-queue.h → uv-private/ngx-queue.h} +0 -0
  304. /data/ext/noderb_extension/libuv/include/{tree.h → uv-private/tree.h} +0 -0
  305. /data/ext/noderb_extension/libuv/src/{uv-cygwin.c → unix/cygwin.c} +0 -0
  306. /data/ext/noderb_extension/libuv/src/{uv-darwin.c → unix/darwin.c} +0 -0
  307. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/Changes +0 -0
  308. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/LICENSE +0 -0
  309. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/Makefile.am +0 -0
  310. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/aclocal.m4 +0 -0
  311. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/autogen.sh +0 -0
  312. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config.h.in +0 -0
  313. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config_cygwin.h +0 -0
  314. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config_freebsd.h +0 -0
  315. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config_sunos.h +0 -0
  316. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/configure.ac +0 -0
  317. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/demo.c +0 -0
  318. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/ecb.h +0 -0
  319. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/eio.3 +0 -0
  320. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/eio.pod +0 -0
  321. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/libeio.m4 +0 -0
  322. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/xthread.h +0 -0
  323. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/Changes +0 -0
  324. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/LICENSE +0 -0
  325. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/Makefile.am +0 -0
  326. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/Makefile.in +0 -0
  327. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/README +0 -0
  328. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/aclocal.m4 +0 -0
  329. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/autogen.sh +0 -0
  330. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config.guess +0 -0
  331. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config.h.in +0 -0
  332. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config.sub +0 -0
  333. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config_cygwin.h +0 -0
  334. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config_darwin.h +0 -0
  335. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config_freebsd.h +0 -0
  336. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config_sunos.h +0 -0
  337. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/configure +0 -0
  338. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/configure.ac +0 -0
  339. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/depcomp +0 -0
  340. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev++.h +0 -0
  341. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev.3 +0 -0
  342. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev.c +0 -0
  343. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev.pod +0 -0
  344. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_epoll.c +0 -0
  345. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_kqueue.c +0 -0
  346. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_poll.c +0 -0
  347. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_port.c +0 -0
  348. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_select.c +0 -0
  349. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_vars.h +0 -0
  350. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_win32.c +0 -0
  351. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_wrap.h +0 -0
  352. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/event.c +0 -0
  353. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/event.h +0 -0
  354. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/install-sh +0 -0
  355. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/libev.m4 +0 -0
  356. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ltmain.sh +0 -0
  357. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/missing +0 -0
  358. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/mkinstalldirs +0 -0
  359. /data/ext/noderb_extension/libuv/src/{uv-freebsd.c → unix/freebsd.c} +0 -0
  360. /data/ext/noderb_extension/libuv/src/{uv-linux.c → unix/linux.c} +0 -0
  361. /data/ext/noderb_extension/libuv/src/{uv-sunos.c → unix/sunos.c} +0 -0
@@ -1,49 +1,13 @@
1
1
  {
2
- 'target_defaults': {
3
- 'default_configuration': 'Debug',
4
- 'configurations': {
5
- # TODO: hoist these out and put them somewhere common, because
6
- # RuntimeLibrary MUST MATCH across the entire project
7
- 'Debug': {
8
- 'defines': [ 'DEBUG', '_DEBUG' ],
9
- 'msvs_settings': {
10
- 'VCCLCompilerTool': {
11
- 'RuntimeLibrary': 1, # static debug
12
- },
13
- },
14
- },
15
- 'Release': {
16
- 'defines': [ 'NDEBUG' ],
17
- 'msvs_settings': {
18
- 'VCCLCompilerTool': {
19
- 'RuntimeLibrary': 0, # static release
20
- },
21
- },
22
- }
23
- },
24
- 'msvs_settings': {
25
- 'VCCLCompilerTool': {
26
- },
27
- 'VCLibrarianTool': {
28
- },
29
- 'VCLinkerTool': {
30
- 'GenerateDebugInformation': 'true',
31
- },
32
- },
33
- 'conditions': [
34
- ['OS == "win"', {
35
- 'defines': [
36
- 'WIN32'
37
- ],
38
- }]
39
- ],
40
- },
41
-
42
2
  'targets': [
43
3
  {
44
4
  'target_name': 'uv',
45
- 'type': 'static_library',
46
- 'include_dirs': [ 'include' ],
5
+ 'type': '<(library)',
6
+ 'include_dirs': [
7
+ 'include',
8
+ 'include/uv-private',
9
+ 'src/',
10
+ ],
47
11
  'direct_dependent_settings': {
48
12
  'include_dirs': [ 'include' ],
49
13
  },
@@ -131,28 +95,38 @@
131
95
  '_GNU_SOURCE',
132
96
  ],
133
97
  'sources': [
134
- 'include/tree.h',
135
- 'include/uv-win.h',
98
+ 'include/uv-private/tree.h',
99
+ 'include/uv-private/uv-win.h',
136
100
  'src/ares/config_win32/ares_config.h',
137
101
  'src/win/async.c',
138
102
  'src/win/cares.c',
139
103
  'src/win/core.c',
140
104
  'src/win/error.c',
105
+ 'src/win/fs.c',
141
106
  'src/win/getaddrinfo.c',
142
107
  'src/win/handle.c',
143
108
  'src/win/internal.h',
144
109
  'src/win/loop-watcher.c',
145
- 'src/win/ntdll.h',
146
110
  'src/win/pipe.c',
147
111
  'src/win/process.c',
148
112
  'src/win/req.c',
149
113
  'src/win/stdio.c',
150
114
  'src/win/stream.c',
151
115
  'src/win/tcp.c',
116
+ 'src/win/threadpool.c',
152
117
  'src/win/timer.c',
118
+ 'src/win/udp.c',
153
119
  'src/win/util.c',
154
120
  'src/win/winapi.c',
155
- ]
121
+ 'src/win/winapi.h',
122
+ 'src/win/winsock.c',
123
+ 'src/win/winsock.h',
124
+ ],
125
+ 'link_settings': {
126
+ 'libraries': [
127
+ '-lws2_32.lib',
128
+ ],
129
+ },
156
130
  }, { # Not Windows i.e. POSIX
157
131
  'cflags': [
158
132
  '-g',
@@ -163,40 +137,48 @@
163
137
  '-Wno-unused-parameter'
164
138
  ],
165
139
  'sources': [
166
- 'include/eio.h',
167
- 'include/ev.h',
168
- 'include/ngx-queue.h',
169
- 'include/uv-unix.h',
170
- 'src/uv-eio.c',
171
- 'src/uv-eio.h',
172
- 'src/uv-unix.c',
140
+ 'include/uv-private/eio.h',
141
+ 'include/uv-private/ev.h',
142
+ 'include/uv-private/ngx-queue.h',
143
+ 'include/uv-private/uv-unix.h',
144
+ 'src/unix/core.c',
145
+ 'src/unix/uv-eio.c',
146
+ 'src/unix/uv-eio.h',
147
+ 'src/unix/fs.c',
148
+ 'src/unix/udp.c',
149
+ 'src/unix/tcp.c',
150
+ 'src/unix/pipe.c',
151
+ 'src/unix/stream.c',
152
+ 'src/unix/cares.c',
153
+ 'src/unix/error.c',
154
+ 'src/unix/process.c',
155
+ 'src/unix/internal.h',
156
+ 'src/unix/eio/ecb.h',
157
+ 'src/unix/eio/eio.c',
158
+ 'src/unix/eio/xthread.h',
159
+ 'src/unix/ev/ev.c',
160
+ 'src/unix/ev/ev_vars.h',
161
+ 'src/unix/ev/ev_wrap.h',
162
+ 'src/unix/ev/event.h',
163
+ # TODO: conditionally include the following based on OS?
173
164
  'src/ares/config_cygwin/ares_config.h',
174
165
  'src/ares/config_darwin/ares_config.h',
175
166
  'src/ares/config_freebsd/ares_config.h',
176
167
  'src/ares/config_linux/ares_config.h',
177
168
  'src/ares/config_openbsd/ares_config.h',
178
169
  'src/ares/config_sunos/ares_config.h',
179
- 'src/eio/config_cygwin.h',
180
- 'src/eio/config_darwin.h',
181
- 'src/eio/config_freebsd.h',
182
- 'src/eio/config_linux.h',
183
- 'src/eio/config_sunos.h',
184
- 'src/eio/ecb.h',
185
- 'src/eio/eio.c',
186
- 'src/eio/xthread.h',
187
- 'src/ev/config_cygwin.h',
188
- 'src/ev/config_darwin.h',
189
- 'src/ev/config_freebsd.h',
190
- 'src/ev/config_linux.h',
191
- 'src/ev/config_sunos.h',
192
- 'src/ev/ev.c',
193
- 'src/ev/ev_vars.h',
194
- 'src/ev/ev_wrap.h',
195
- 'src/ev/event.h',
196
- ],
197
- 'include_dirs': [
198
- 'src/ev'
170
+ 'src/unix/eio/config_cygwin.h',
171
+ 'src/unix/eio/config_darwin.h',
172
+ 'src/unix/eio/config_freebsd.h',
173
+ 'src/unix/eio/config_linux.h',
174
+ 'src/unix/eio/config_sunos.h',
175
+ 'src/unix/ev/config_cygwin.h',
176
+ 'src/unix/ev/config_darwin.h',
177
+ 'src/unix/ev/config_freebsd.h',
178
+ 'src/unix/ev/config_linux.h',
179
+ 'src/unix/ev/config_sunos.h',
199
180
  ],
181
+ 'include_dirs': [ 'src/unix/ev', ],
200
182
  'defines': [
201
183
  '_LARGEFILE_SOURCE',
202
184
  '_FILE_OFFSET_BITS=64',
@@ -207,7 +189,7 @@
207
189
  }],
208
190
  [ 'OS=="mac"', {
209
191
  'include_dirs': [ 'src/ares/config_darwin' ],
210
- 'sources': [ 'src/uv-darwin.c' ],
192
+ 'sources': [ 'src/unix/darwin.c' ],
211
193
  'direct_dependent_settings': {
212
194
  'libraries': [ '-framework CoreServices' ],
213
195
  },
@@ -218,7 +200,7 @@
218
200
  }],
219
201
  [ 'OS=="linux"', {
220
202
  'include_dirs': [ 'src/ares/config_linux' ],
221
- 'sources': [ 'src/uv-linux.c' ],
203
+ 'sources': [ 'src/unix/linux.c' ],
222
204
  'defines': [
223
205
  'EV_CONFIG_H="config_linux.h"',
224
206
  'EIO_CONFIG_H="config_linux.h"',
@@ -246,6 +228,7 @@
246
228
  'test/test-connection-fail.c',
247
229
  'test/test-delayed-accept.c',
248
230
  'test/test-fail-always.c',
231
+ 'test/test-fs.c',
249
232
  'test/test-get-currentexe.c',
250
233
  'test/test-getaddrinfo.c',
251
234
  'test/test-gethostbyname.c',
@@ -263,8 +246,12 @@
263
246
  'test/test-tcp-bind-error.c',
264
247
  'test/test-tcp-bind6-error.c',
265
248
  'test/test-tcp-writealot.c',
249
+ 'test/test-threadpool.c',
266
250
  'test/test-timer-again.c',
267
251
  'test/test-timer.c',
252
+ 'test/test-udp-dgram-too-big.c',
253
+ 'test/test-udp-ipv6.c',
254
+ 'test/test-udp-send-and-recv.c',
268
255
  ],
269
256
  'conditions': [
270
257
  [ 'OS=="win"', {
@@ -281,7 +268,12 @@
281
268
  'test/runner-unix.h',
282
269
  ]
283
270
  }]
284
- ]
271
+ ],
272
+ 'msvs-settings': {
273
+ 'VCLinkerTool': {
274
+ 'SubSystem': 1, # /subsystem:console
275
+ },
276
+ },
285
277
  },
286
278
 
287
279
  {
@@ -297,6 +289,7 @@
297
289
  'test/benchmark-pump.c',
298
290
  'test/benchmark-sizes.c',
299
291
  'test/benchmark-spawn.c',
292
+ 'test/benchmark-udp-packet-storm.c',
300
293
  'test/dns-server.c',
301
294
  'test/echo-server.c',
302
295
  'test/run-benchmarks.c',
@@ -319,7 +312,12 @@
319
312
  'test/runner-unix.h',
320
313
  ]
321
314
  }]
322
- ]
315
+ ],
316
+ 'msvs-settings': {
317
+ 'VCLinkerTool': {
318
+ 'SubSystem': 1, # /subsystem:console
319
+ },
320
+ },
323
321
  }
324
322
  ]
325
323
  }
@@ -0,0 +1,93 @@
1
+ @echo off
2
+
3
+ cd %~dp0
4
+
5
+ if /i "%1"=="help" goto help
6
+ if /i "%1"=="--help" goto help
7
+ if /i "%1"=="-help" goto help
8
+ if /i "%1"=="/help" goto help
9
+ if /i "%1"=="?" goto help
10
+ if /i "%1"=="-?" goto help
11
+ if /i "%1"=="--?" goto help
12
+ if /i "%1"=="/?" goto help
13
+
14
+ @rem Process arguments.
15
+ set config=
16
+ set target=Build
17
+ set noprojgen=
18
+ set nobuild=
19
+ set run=
20
+
21
+ :next-arg
22
+ if "%1"=="" goto args-done
23
+ if /i "%1"=="debug" set config=Debug&goto arg-ok
24
+ if /i "%1"=="release" set config=Release&goto arg-ok
25
+ if /i "%1"=="test" set run=run-tests.exe&goto arg-ok
26
+ if /i "%1"=="bench" set run=run-benchmarks.exe&goto arg-ok
27
+ if /i "%1"=="clean" set target=Clean&goto arg-ok
28
+ if /i "%1"=="noprojgen" set noprojgen=1&goto arg-ok
29
+ if /i "%1"=="nobuild" set nobuild=1&goto arg-ok
30
+ :arg-ok
31
+ shift
32
+ goto next-arg
33
+ :args-done
34
+
35
+ if not "%config%"=="" goto project-gen
36
+ if "%run%"=="run-tests.exe" set config=Debug& goto project-gen
37
+ if "%run%"=="run-benchmarks.exe" set config=Release& goto project-gen
38
+ set config=Debug
39
+
40
+ :project-gen
41
+ @rem Skip project generation if requested.
42
+ if defined noprojgen goto msbuild
43
+
44
+ @rem Generate the VS project.
45
+
46
+ if exist build\gyp goto have_gyp
47
+ echo svn co http://gyp.googlecode.com/svn/trunk@983 build/gyp
48
+ svn co http://gyp.googlecode.com/svn/trunk@983 build/gyp
49
+ if errorlevel 1 goto gyp_install_failed
50
+ goto have_gyp
51
+
52
+ :gyp_install_failed
53
+ echo Failed to download gyp. Make sure you have subversion installed, or
54
+ echo manually install gyp into %~dp0build\gyp.
55
+ goto exit
56
+
57
+ :have_gyp
58
+ python gyp_uv
59
+ if errorlevel 1 goto create-msvs-files-failed
60
+ if not exist uv.sln goto create-msvs-files-failed
61
+ echo Project files generated.
62
+
63
+ :msbuild
64
+ @rem Skip project generation if requested.
65
+ if defined nobuild goto run
66
+
67
+ if not defined VCINSTALLDIR echo Build skipped. To build, this file needs to run from VS cmd prompt.& goto run
68
+
69
+ @rem Build the sln with msbuild.
70
+ msbuild uv.sln /t:%target% /p:Configuration=%config% /clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo
71
+ if errorlevel 1 goto exit
72
+
73
+ :run
74
+ @rem Run tests if requested.
75
+ if "%run%"=="" goto exit
76
+ if not exist %config%\%run% goto exit
77
+ echo running '%config%\%run%'
78
+ %config%\%run%
79
+ goto exit
80
+
81
+ :create-msvs-files-failed
82
+ echo Failed to create vc project files.
83
+ goto exit
84
+
85
+ :help
86
+ echo vcbuild.bat [debug/release] [test/bench] [clean] [noprojgen] [nobuild]
87
+ echo Examples:
88
+ echo vcbuild.bat : builds debug build
89
+ echo vcbuild.bat test : builds debug build and runs tests
90
+ echo vcbuild.bat release bench: builds release build and runs benchmarks
91
+ goto exit
92
+
93
+ :exit
@@ -6,6 +6,8 @@
6
6
  #include <noderb_dns.h>
7
7
  #include <noderb_timers.h>
8
8
  #include <noderb_tools.h>
9
+ //#include <noderb_defer.h>
10
+ #include <noderb_fs.h>
9
11
 
10
12
  // Core NodeRb module
11
13
  VALUE nodeRb;
@@ -40,12 +42,23 @@ void Init_noderb_extension() {
40
42
  rb_define_method(nodeRbProcess, "kill_process", nodeRb_process_kill, 1);
41
43
  // Define utility methods
42
44
  rb_define_singleton_method(nodeRb, "next_tick_native", nodeRb_nextTick, 0);
45
+ rb_define_singleton_method(nodeRb, "start_proxy", nodeRb_startProxy, 2);
46
+ rb_define_singleton_method(nodeRb, "stop_proxy", nodeRb_stopProxy, 1);
43
47
  // DNS related methods
44
48
  rb_define_singleton_method(nodeRb, "resolve_native", nodeRb_dns_resolve, 2);
45
49
  // Timer related functions
46
50
  rb_define_singleton_method(nodeRb, "once_native", nodeRb_timers_once, 3);
47
51
  VALUE timer = rb_define_module_under(nodeRb, "Timer");
48
52
  rb_define_method(timer, "stop_timer", nodeRb_timers_stop, 0);
53
+ // Defer functions
54
+ //rb_define_singleton_method(nodeRb, "defer_native", nodeRb_defer, 2);
55
+ // Filesystem functions
56
+ VALUE nodeRbFile = rb_define_module_under(nodeRb, "File");
57
+ VALUE nodeRbFS = rb_define_class_under(nodeRb, "FileSystem", rb_cObject);
58
+ // File operations
59
+ rb_define_method(nodeRbFile, "operation_native", nodeRb_fs_file_operation, 2);
60
+ // Filesystem operations
61
+ rb_define_singleton_method(nodeRbFS, "fs_native", nodeRb_fs_operation, 4);
49
62
  // Define starting methods
50
63
  rb_define_singleton_method(nodeRb, "start", nodeRb_start, 0);
51
64
  rb_define_singleton_method(nodeRb, "start_server_native", nodeRb_tcp_startServer, 3);
@@ -4,7 +4,8 @@
4
4
  #define NODERB_BASIC_HANDLE \
5
5
  long target; \
6
6
  char* target_callback; \
7
- void* proxy;
7
+ int proxy_enabled; \
8
+ void* proxy_target;
8
9
 
9
10
  typedef struct {
10
11
  NODERB_BASIC_HANDLE
@@ -0,0 +1,54 @@
1
+ #include <noderb_common.h>
2
+
3
+ #include <noderb_defer.h>
4
+ #include <noderb_tools.h>
5
+
6
+ typedef struct {
7
+ long worker;
8
+ long callback;
9
+ long result;
10
+ } nodeRb_defer_handle;
11
+
12
+ void nodeRb_defer_work_done(uv_work_t* req){
13
+ // // Load data
14
+ // nodeRb_defer_handle* data = (nodeRb_defer_handle*) req->data;
15
+ // printf("Finish: %p\n", data);
16
+ // VALUE result = nodeRb_get_class_from_id(data->result);
17
+ // VALUE callback = nodeRb_get_class_from_id(data->callback);
18
+ // // Call the callback
19
+ // rb_funcall(callback, rb_intern("call"), 1, result);
20
+ // // Clean up
21
+ // nodeRb_unregister_instance(callback);
22
+ // nodeRb_unregister_instance(result);
23
+ // free(data);
24
+ // free(req);
25
+ }
26
+
27
+ void nodeRb_defer_work(uv_work_t* req){
28
+ // // Load data
29
+ // nodeRb_defer_handle* data = (nodeRb_defer_handle*) req->data;
30
+ // VALUE callback = nodeRb_get_class_from_id(data->worker);
31
+ // printf("Run: %p\n", data);
32
+ // // Call the callback
33
+ // rb_funcall(callback, rb_intern("start"), 0, 0);
34
+ // // Clean up
35
+ // printf("Run2: %p\n", data);
36
+ // nodeRb_unregister_instance(callback);
37
+ // data->worker = 0;
38
+ }
39
+
40
+ VALUE nodeRb_defer(VALUE self, VALUE worker, VALUE callback){
41
+ // // Initialize memory
42
+ // uv_work_t* handle = (uv_work_t*) malloc(sizeof(uv_work_t));
43
+ // nodeRb_defer_handle* data = (nodeRb_defer_handle*) malloc(sizeof(nodeRb_defer_handle));
44
+ // printf("Request: %p\n", data);
45
+ // // Safe from GC
46
+ // nodeRb_register_instance(worker);
47
+ // nodeRb_register_instance(callback);
48
+ // // Save data
49
+ // data->worker = rb_num2long(rb_obj_id(worker));
50
+ // data->callback = rb_num2long(rb_obj_id(callback));
51
+ // handle->data = data;
52
+ // // Queue the work
53
+ // uv_queue_work(handle, nodeRb_defer_work, nodeRb_defer_work_done);
54
+ }
@@ -0,0 +1,15 @@
1
+ #ifndef NODERB_DEFER_H
2
+ #define NODERB_DEFER_H
3
+
4
+ #ifdef __cplusplus
5
+ extern "C" {
6
+ #endif
7
+
8
+ VALUE nodeRb_defer(VALUE self, VALUE worker, VALUE callback);
9
+
10
+ #ifdef __cplusplus
11
+ }
12
+ #endif
13
+
14
+ #endif /* NODERB_DEFER_H */
15
+
@@ -31,7 +31,7 @@ VALUE nodeRb_dns_resolve(VALUE self, VALUE host, VALUE callback){
31
31
  // Save data
32
32
  data->target = rb_num2long(rb_obj_id(callback));
33
33
  // Resolve
34
- uv_getaddrinfo(handle, nodeRb_dns_resolved, rb_string_value_cstr(&host), NULL, NULL);
34
+ uv_getaddrinfo(uv_default_loop(), handle, nodeRb_dns_resolved, rb_string_value_cstr(&host), NULL, NULL);
35
35
  // Save callback
36
36
  handle->data = data;
37
37
  }