libzmq 0.0.1

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 (300) hide show
  1. data/LICENSE +703 -0
  2. data/README.md +31 -0
  3. data/lib/libzmq.rb +17 -0
  4. data/lib/libzmq/ffi-rzmq.rb +3 -0
  5. data/libzmq/Makefile +5 -0
  6. data/libzmq/extconf.rb +24 -0
  7. data/libzmq/zeromq-2.1.7/AUTHORS +92 -0
  8. data/libzmq/zeromq-2.1.7/COPYING +674 -0
  9. data/libzmq/zeromq-2.1.7/COPYING.LESSER +206 -0
  10. data/libzmq/zeromq-2.1.7/ChangeLog +15620 -0
  11. data/libzmq/zeromq-2.1.7/INSTALL +237 -0
  12. data/libzmq/zeromq-2.1.7/MAINTAINERS +56 -0
  13. data/libzmq/zeromq-2.1.7/Makefile.am +42 -0
  14. data/libzmq/zeromq-2.1.7/Makefile.in +779 -0
  15. data/libzmq/zeromq-2.1.7/NEWS +275 -0
  16. data/libzmq/zeromq-2.1.7/README +39 -0
  17. data/libzmq/zeromq-2.1.7/acinclude.m4 +582 -0
  18. data/libzmq/zeromq-2.1.7/aclocal.m4 +1206 -0
  19. data/libzmq/zeromq-2.1.7/autogen.sh +45 -0
  20. data/libzmq/zeromq-2.1.7/builds/msvc/Makefile.am +8 -0
  21. data/libzmq/zeromq-2.1.7/builds/msvc/Makefile.in +390 -0
  22. data/libzmq/zeromq-2.1.7/builds/msvc/c_local_lat/c_local_lat.vcproj +176 -0
  23. data/libzmq/zeromq-2.1.7/builds/msvc/c_local_thr/c_local_thr.vcproj +176 -0
  24. data/libzmq/zeromq-2.1.7/builds/msvc/c_remote_lat/c_remote_lat.vcproj +176 -0
  25. data/libzmq/zeromq-2.1.7/builds/msvc/c_remote_thr/c_remote_thr.vcproj +176 -0
  26. data/libzmq/zeromq-2.1.7/builds/msvc/libzmq/libzmq.vcproj +783 -0
  27. data/libzmq/zeromq-2.1.7/builds/msvc/msvc.sln +89 -0
  28. data/libzmq/zeromq-2.1.7/builds/msvc/platform.hpp +32 -0
  29. data/libzmq/zeromq-2.1.7/builds/redhat/zeromq.spec.in +139 -0
  30. data/libzmq/zeromq-2.1.7/config/compile +143 -0
  31. data/libzmq/zeromq-2.1.7/config/config.guess +1502 -0
  32. data/libzmq/zeromq-2.1.7/config/config.sub +1714 -0
  33. data/libzmq/zeromq-2.1.7/config/depcomp +630 -0
  34. data/libzmq/zeromq-2.1.7/config/install-sh +520 -0
  35. data/libzmq/zeromq-2.1.7/config/libtool.m4 +7377 -0
  36. data/libzmq/zeromq-2.1.7/config/ltmain.sh +8413 -0
  37. data/libzmq/zeromq-2.1.7/config/ltoptions.m4 +368 -0
  38. data/libzmq/zeromq-2.1.7/config/ltsugar.m4 +123 -0
  39. data/libzmq/zeromq-2.1.7/config/ltversion.m4 +23 -0
  40. data/libzmq/zeromq-2.1.7/config/lt~obsolete.m4 +92 -0
  41. data/libzmq/zeromq-2.1.7/config/missing +376 -0
  42. data/libzmq/zeromq-2.1.7/configure +21645 -0
  43. data/libzmq/zeromq-2.1.7/configure.in +380 -0
  44. data/libzmq/zeromq-2.1.7/doc/Makefile.am +46 -0
  45. data/libzmq/zeromq-2.1.7/doc/Makefile.in +546 -0
  46. data/libzmq/zeromq-2.1.7/doc/asciidoc.conf +56 -0
  47. data/libzmq/zeromq-2.1.7/doc/zmq.7 +242 -0
  48. data/libzmq/zeromq-2.1.7/doc/zmq.html +846 -0
  49. data/libzmq/zeromq-2.1.7/doc/zmq.txt +218 -0
  50. data/libzmq/zeromq-2.1.7/doc/zmq_bind.3 +166 -0
  51. data/libzmq/zeromq-2.1.7/doc/zmq_bind.html +746 -0
  52. data/libzmq/zeromq-2.1.7/doc/zmq_bind.txt +91 -0
  53. data/libzmq/zeromq-2.1.7/doc/zmq_close.3 +81 -0
  54. data/libzmq/zeromq-2.1.7/doc/zmq_close.html +645 -0
  55. data/libzmq/zeromq-2.1.7/doc/zmq_close.txt +52 -0
  56. data/libzmq/zeromq-2.1.7/doc/zmq_connect.3 +161 -0
  57. data/libzmq/zeromq-2.1.7/doc/zmq_connect.html +732 -0
  58. data/libzmq/zeromq-2.1.7/doc/zmq_connect.txt +89 -0
  59. data/libzmq/zeromq-2.1.7/doc/zmq_cpp.7 +410 -0
  60. data/libzmq/zeromq-2.1.7/doc/zmq_cpp.html +765 -0
  61. data/libzmq/zeromq-2.1.7/doc/zmq_cpp.txt +212 -0
  62. data/libzmq/zeromq-2.1.7/doc/zmq_device.3 +140 -0
  63. data/libzmq/zeromq-2.1.7/doc/zmq_device.html +736 -0
  64. data/libzmq/zeromq-2.1.7/doc/zmq_device.txt +138 -0
  65. data/libzmq/zeromq-2.1.7/doc/zmq_epgm.7 +209 -0
  66. data/libzmq/zeromq-2.1.7/doc/zmq_epgm.html +749 -0
  67. data/libzmq/zeromq-2.1.7/doc/zmq_epgm.txt +162 -0
  68. data/libzmq/zeromq-2.1.7/doc/zmq_errno.3 +78 -0
  69. data/libzmq/zeromq-2.1.7/doc/zmq_errno.html +634 -0
  70. data/libzmq/zeromq-2.1.7/doc/zmq_errno.txt +50 -0
  71. data/libzmq/zeromq-2.1.7/doc/zmq_getsockopt.3 +944 -0
  72. data/libzmq/zeromq-2.1.7/doc/zmq_getsockopt.html +1713 -0
  73. data/libzmq/zeromq-2.1.7/doc/zmq_getsockopt.txt +407 -0
  74. data/libzmq/zeromq-2.1.7/doc/zmq_init.3 +71 -0
  75. data/libzmq/zeromq-2.1.7/doc/zmq_init.html +635 -0
  76. data/libzmq/zeromq-2.1.7/doc/zmq_init.txt +51 -0
  77. data/libzmq/zeromq-2.1.7/doc/zmq_inproc.7 +115 -0
  78. data/libzmq/zeromq-2.1.7/doc/zmq_inproc.html +669 -0
  79. data/libzmq/zeromq-2.1.7/doc/zmq_inproc.txt +89 -0
  80. data/libzmq/zeromq-2.1.7/doc/zmq_ipc.7 +109 -0
  81. data/libzmq/zeromq-2.1.7/doc/zmq_ipc.html +662 -0
  82. data/libzmq/zeromq-2.1.7/doc/zmq_ipc.txt +80 -0
  83. data/libzmq/zeromq-2.1.7/doc/zmq_msg_close.3 +81 -0
  84. data/libzmq/zeromq-2.1.7/doc/zmq_msg_close.html +647 -0
  85. data/libzmq/zeromq-2.1.7/doc/zmq_msg_close.txt +55 -0
  86. data/libzmq/zeromq-2.1.7/doc/zmq_msg_copy.3 +95 -0
  87. data/libzmq/zeromq-2.1.7/doc/zmq_msg_copy.html +656 -0
  88. data/libzmq/zeromq-2.1.7/doc/zmq_msg_copy.txt +57 -0
  89. data/libzmq/zeromq-2.1.7/doc/zmq_msg_data.3 +76 -0
  90. data/libzmq/zeromq-2.1.7/doc/zmq_msg_data.html +633 -0
  91. data/libzmq/zeromq-2.1.7/doc/zmq_msg_data.txt +48 -0
  92. data/libzmq/zeromq-2.1.7/doc/zmq_msg_init.3 +110 -0
  93. data/libzmq/zeromq-2.1.7/doc/zmq_msg_init.html +656 -0
  94. data/libzmq/zeromq-2.1.7/doc/zmq_msg_init.txt +65 -0
  95. data/libzmq/zeromq-2.1.7/doc/zmq_msg_init_data.3 +138 -0
  96. data/libzmq/zeromq-2.1.7/doc/zmq_msg_init_data.html +678 -0
  97. data/libzmq/zeromq-2.1.7/doc/zmq_msg_init_data.txt +83 -0
  98. data/libzmq/zeromq-2.1.7/doc/zmq_msg_init_size.3 +97 -0
  99. data/libzmq/zeromq-2.1.7/doc/zmq_msg_init_size.html +656 -0
  100. data/libzmq/zeromq-2.1.7/doc/zmq_msg_init_size.txt +58 -0
  101. data/libzmq/zeromq-2.1.7/doc/zmq_msg_move.3 +79 -0
  102. data/libzmq/zeromq-2.1.7/doc/zmq_msg_move.html +645 -0
  103. data/libzmq/zeromq-2.1.7/doc/zmq_msg_move.txt +52 -0
  104. data/libzmq/zeromq-2.1.7/doc/zmq_msg_size.3 +76 -0
  105. data/libzmq/zeromq-2.1.7/doc/zmq_msg_size.html +633 -0
  106. data/libzmq/zeromq-2.1.7/doc/zmq_msg_size.txt +48 -0
  107. data/libzmq/zeromq-2.1.7/doc/zmq_pgm.7 +209 -0
  108. data/libzmq/zeromq-2.1.7/doc/zmq_pgm.html +749 -0
  109. data/libzmq/zeromq-2.1.7/doc/zmq_pgm.txt +162 -0
  110. data/libzmq/zeromq-2.1.7/doc/zmq_poll.3 +204 -0
  111. data/libzmq/zeromq-2.1.7/doc/zmq_poll.html +755 -0
  112. data/libzmq/zeromq-2.1.7/doc/zmq_poll.txt +132 -0
  113. data/libzmq/zeromq-2.1.7/doc/zmq_recv.3 +172 -0
  114. data/libzmq/zeromq-2.1.7/doc/zmq_recv.html +746 -0
  115. data/libzmq/zeromq-2.1.7/doc/zmq_recv.txt +121 -0
  116. data/libzmq/zeromq-2.1.7/doc/zmq_send.3 +185 -0
  117. data/libzmq/zeromq-2.1.7/doc/zmq_send.html +755 -0
  118. data/libzmq/zeromq-2.1.7/doc/zmq_send.txt +120 -0
  119. data/libzmq/zeromq-2.1.7/doc/zmq_setsockopt.3 +878 -0
  120. data/libzmq/zeromq-2.1.7/doc/zmq_setsockopt.html +1603 -0
  121. data/libzmq/zeromq-2.1.7/doc/zmq_setsockopt.txt +382 -0
  122. data/libzmq/zeromq-2.1.7/doc/zmq_socket.3 +779 -0
  123. data/libzmq/zeromq-2.1.7/doc/zmq_socket.html +1424 -0
  124. data/libzmq/zeromq-2.1.7/doc/zmq_socket.txt +342 -0
  125. data/libzmq/zeromq-2.1.7/doc/zmq_strerror.3 +78 -0
  126. data/libzmq/zeromq-2.1.7/doc/zmq_strerror.html +634 -0
  127. data/libzmq/zeromq-2.1.7/doc/zmq_strerror.txt +55 -0
  128. data/libzmq/zeromq-2.1.7/doc/zmq_tcp.7 +244 -0
  129. data/libzmq/zeromq-2.1.7/doc/zmq_tcp.html +755 -0
  130. data/libzmq/zeromq-2.1.7/doc/zmq_tcp.txt +162 -0
  131. data/libzmq/zeromq-2.1.7/doc/zmq_term.3 +135 -0
  132. data/libzmq/zeromq-2.1.7/doc/zmq_term.html +672 -0
  133. data/libzmq/zeromq-2.1.7/doc/zmq_term.txt +65 -0
  134. data/libzmq/zeromq-2.1.7/doc/zmq_version.3 +78 -0
  135. data/libzmq/zeromq-2.1.7/doc/zmq_version.html +632 -0
  136. data/libzmq/zeromq-2.1.7/doc/zmq_version.txt +53 -0
  137. data/libzmq/zeromq-2.1.7/foreign/openpgm/Makefile.am +8 -0
  138. data/libzmq/zeromq-2.1.7/foreign/openpgm/Makefile.in +588 -0
  139. data/libzmq/zeromq-2.1.7/foreign/openpgm/libpgm-5.1.115~dfsg.tar.gz +0 -0
  140. data/libzmq/zeromq-2.1.7/foreign/xmlParser/xmlParser.cpp +2923 -0
  141. data/libzmq/zeromq-2.1.7/foreign/xmlParser/xmlParser.hpp +762 -0
  142. data/libzmq/zeromq-2.1.7/include/zmq.h +269 -0
  143. data/libzmq/zeromq-2.1.7/include/zmq.hpp +301 -0
  144. data/libzmq/zeromq-2.1.7/include/zmq_utils.h +64 -0
  145. data/libzmq/zeromq-2.1.7/perf/Makefile.am +21 -0
  146. data/libzmq/zeromq-2.1.7/perf/Makefile.in +566 -0
  147. data/libzmq/zeromq-2.1.7/perf/inproc_lat.cpp +232 -0
  148. data/libzmq/zeromq-2.1.7/perf/inproc_thr.cpp +246 -0
  149. data/libzmq/zeromq-2.1.7/perf/local_lat.cpp +108 -0
  150. data/libzmq/zeromq-2.1.7/perf/local_thr.cpp +138 -0
  151. data/libzmq/zeromq-2.1.7/perf/remote_lat.cpp +121 -0
  152. data/libzmq/zeromq-2.1.7/perf/remote_thr.cpp +104 -0
  153. data/libzmq/zeromq-2.1.7/src/Makefile.am +155 -0
  154. data/libzmq/zeromq-2.1.7/src/Makefile.in +1320 -0
  155. data/libzmq/zeromq-2.1.7/src/array.hpp +147 -0
  156. data/libzmq/zeromq-2.1.7/src/atomic_counter.hpp +164 -0
  157. data/libzmq/zeromq-2.1.7/src/atomic_ptr.hpp +159 -0
  158. data/libzmq/zeromq-2.1.7/src/blob.hpp +34 -0
  159. data/libzmq/zeromq-2.1.7/src/clock.cpp +118 -0
  160. data/libzmq/zeromq-2.1.7/src/clock.hpp +60 -0
  161. data/libzmq/zeromq-2.1.7/src/command.cpp +39 -0
  162. data/libzmq/zeromq-2.1.7/src/command.hpp +147 -0
  163. data/libzmq/zeromq-2.1.7/src/config.hpp +88 -0
  164. data/libzmq/zeromq-2.1.7/src/connect_session.cpp +119 -0
  165. data/libzmq/zeromq-2.1.7/src/connect_session.hpp +65 -0
  166. data/libzmq/zeromq-2.1.7/src/ctx.cpp +322 -0
  167. data/libzmq/zeromq-2.1.7/src/ctx.hpp +159 -0
  168. data/libzmq/zeromq-2.1.7/src/decoder.cpp +129 -0
  169. data/libzmq/zeromq-2.1.7/src/decoder.hpp +207 -0
  170. data/libzmq/zeromq-2.1.7/src/device.cpp +120 -0
  171. data/libzmq/zeromq-2.1.7/src/device.hpp +32 -0
  172. data/libzmq/zeromq-2.1.7/src/devpoll.cpp +190 -0
  173. data/libzmq/zeromq-2.1.7/src/devpoll.hpp +100 -0
  174. data/libzmq/zeromq-2.1.7/src/dist.cpp +200 -0
  175. data/libzmq/zeromq-2.1.7/src/dist.hpp +90 -0
  176. data/libzmq/zeromq-2.1.7/src/encoder.cpp +90 -0
  177. data/libzmq/zeromq-2.1.7/src/encoder.hpp +184 -0
  178. data/libzmq/zeromq-2.1.7/src/epoll.cpp +177 -0
  179. data/libzmq/zeromq-2.1.7/src/epoll.hpp +96 -0
  180. data/libzmq/zeromq-2.1.7/src/err.cpp +238 -0
  181. data/libzmq/zeromq-2.1.7/src/err.hpp +145 -0
  182. data/libzmq/zeromq-2.1.7/src/fd.hpp +45 -0
  183. data/libzmq/zeromq-2.1.7/src/fq.cpp +164 -0
  184. data/libzmq/zeromq-2.1.7/src/fq.hpp +80 -0
  185. data/libzmq/zeromq-2.1.7/src/i_engine.hpp +53 -0
  186. data/libzmq/zeromq-2.1.7/src/i_inout.hpp +50 -0
  187. data/libzmq/zeromq-2.1.7/src/i_poll_events.hpp +46 -0
  188. data/libzmq/zeromq-2.1.7/src/io_object.cpp +107 -0
  189. data/libzmq/zeromq-2.1.7/src/io_object.hpp +78 -0
  190. data/libzmq/zeromq-2.1.7/src/io_thread.cpp +109 -0
  191. data/libzmq/zeromq-2.1.7/src/io_thread.hpp +88 -0
  192. data/libzmq/zeromq-2.1.7/src/ip.cpp +339 -0
  193. data/libzmq/zeromq-2.1.7/src/ip.hpp +68 -0
  194. data/libzmq/zeromq-2.1.7/src/kqueue.cpp +194 -0
  195. data/libzmq/zeromq-2.1.7/src/kqueue.hpp +103 -0
  196. data/libzmq/zeromq-2.1.7/src/lb.cpp +174 -0
  197. data/libzmq/zeromq-2.1.7/src/lb.hpp +79 -0
  198. data/libzmq/zeromq-2.1.7/src/libzmq.pc.in +10 -0
  199. data/libzmq/zeromq-2.1.7/src/likely.hpp +33 -0
  200. data/libzmq/zeromq-2.1.7/src/mailbox.cpp +382 -0
  201. data/libzmq/zeromq-2.1.7/src/mailbox.hpp +62 -0
  202. data/libzmq/zeromq-2.1.7/src/msg_content.hpp +52 -0
  203. data/libzmq/zeromq-2.1.7/src/mutex.hpp +121 -0
  204. data/libzmq/zeromq-2.1.7/src/named_session.cpp +85 -0
  205. data/libzmq/zeromq-2.1.7/src/named_session.hpp +57 -0
  206. data/libzmq/zeromq-2.1.7/src/object.cpp +467 -0
  207. data/libzmq/zeromq-2.1.7/src/object.hpp +127 -0
  208. data/libzmq/zeromq-2.1.7/src/options.cpp +336 -0
  209. data/libzmq/zeromq-2.1.7/src/options.hpp +87 -0
  210. data/libzmq/zeromq-2.1.7/src/own.cpp +214 -0
  211. data/libzmq/zeromq-2.1.7/src/own.hpp +140 -0
  212. data/libzmq/zeromq-2.1.7/src/pair.cpp +180 -0
  213. data/libzmq/zeromq-2.1.7/src/pair.hpp +76 -0
  214. data/libzmq/zeromq-2.1.7/src/pgm_receiver.cpp +259 -0
  215. data/libzmq/zeromq-2.1.7/src/pgm_receiver.hpp +129 -0
  216. data/libzmq/zeromq-2.1.7/src/pgm_sender.cpp +215 -0
  217. data/libzmq/zeromq-2.1.7/src/pgm_sender.hpp +105 -0
  218. data/libzmq/zeromq-2.1.7/src/pgm_socket.cpp +705 -0
  219. data/libzmq/zeromq-2.1.7/src/pgm_socket.hpp +118 -0
  220. data/libzmq/zeromq-2.1.7/src/pipe.cpp +409 -0
  221. data/libzmq/zeromq-2.1.7/src/pipe.hpp +214 -0
  222. data/libzmq/zeromq-2.1.7/src/platform.hpp.in +228 -0
  223. data/libzmq/zeromq-2.1.7/src/poll.cpp +180 -0
  224. data/libzmq/zeromq-2.1.7/src/poll.hpp +104 -0
  225. data/libzmq/zeromq-2.1.7/src/poller.hpp +73 -0
  226. data/libzmq/zeromq-2.1.7/src/poller_base.cpp +99 -0
  227. data/libzmq/zeromq-2.1.7/src/poller_base.hpp +84 -0
  228. data/libzmq/zeromq-2.1.7/src/pub.cpp +31 -0
  229. data/libzmq/zeromq-2.1.7/src/pub.hpp +44 -0
  230. data/libzmq/zeromq-2.1.7/src/pull.cpp +61 -0
  231. data/libzmq/zeromq-2.1.7/src/pull.hpp +60 -0
  232. data/libzmq/zeromq-2.1.7/src/push.cpp +62 -0
  233. data/libzmq/zeromq-2.1.7/src/push.hpp +59 -0
  234. data/libzmq/zeromq-2.1.7/src/reaper.cpp +121 -0
  235. data/libzmq/zeromq-2.1.7/src/reaper.hpp +77 -0
  236. data/libzmq/zeromq-2.1.7/src/rep.cpp +131 -0
  237. data/libzmq/zeromq-2.1.7/src/rep.hpp +59 -0
  238. data/libzmq/zeromq-2.1.7/src/req.cpp +121 -0
  239. data/libzmq/zeromq-2.1.7/src/req.hpp +58 -0
  240. data/libzmq/zeromq-2.1.7/src/select.cpp +211 -0
  241. data/libzmq/zeromq-2.1.7/src/select.hpp +116 -0
  242. data/libzmq/zeromq-2.1.7/src/semaphore.hpp +189 -0
  243. data/libzmq/zeromq-2.1.7/src/session.cpp +347 -0
  244. data/libzmq/zeromq-2.1.7/src/session.hpp +150 -0
  245. data/libzmq/zeromq-2.1.7/src/socket_base.cpp +811 -0
  246. data/libzmq/zeromq-2.1.7/src/socket_base.hpp +207 -0
  247. data/libzmq/zeromq-2.1.7/src/stdint.hpp +63 -0
  248. data/libzmq/zeromq-2.1.7/src/sub.cpp +75 -0
  249. data/libzmq/zeromq-2.1.7/src/sub.hpp +50 -0
  250. data/libzmq/zeromq-2.1.7/src/swap.cpp +325 -0
  251. data/libzmq/zeromq-2.1.7/src/swap.hpp +123 -0
  252. data/libzmq/zeromq-2.1.7/src/tcp_connecter.cpp +310 -0
  253. data/libzmq/zeromq-2.1.7/src/tcp_connecter.hpp +81 -0
  254. data/libzmq/zeromq-2.1.7/src/tcp_listener.cpp +371 -0
  255. data/libzmq/zeromq-2.1.7/src/tcp_listener.hpp +73 -0
  256. data/libzmq/zeromq-2.1.7/src/tcp_socket.cpp +228 -0
  257. data/libzmq/zeromq-2.1.7/src/tcp_socket.hpp +72 -0
  258. data/libzmq/zeromq-2.1.7/src/thread.cpp +97 -0
  259. data/libzmq/zeromq-2.1.7/src/thread.hpp +78 -0
  260. data/libzmq/zeromq-2.1.7/src/transient_session.cpp +41 -0
  261. data/libzmq/zeromq-2.1.7/src/transient_session.hpp +52 -0
  262. data/libzmq/zeromq-2.1.7/src/trie.cpp +181 -0
  263. data/libzmq/zeromq-2.1.7/src/trie.hpp +59 -0
  264. data/libzmq/zeromq-2.1.7/src/uuid.cpp +233 -0
  265. data/libzmq/zeromq-2.1.7/src/uuid.hpp +111 -0
  266. data/libzmq/zeromq-2.1.7/src/windows.hpp +79 -0
  267. data/libzmq/zeromq-2.1.7/src/wire.hpp +99 -0
  268. data/libzmq/zeromq-2.1.7/src/xpub.cpp +76 -0
  269. data/libzmq/zeromq-2.1.7/src/xpub.hpp +61 -0
  270. data/libzmq/zeromq-2.1.7/src/xrep.cpp +337 -0
  271. data/libzmq/zeromq-2.1.7/src/xrep.hpp +116 -0
  272. data/libzmq/zeromq-2.1.7/src/xreq.cpp +74 -0
  273. data/libzmq/zeromq-2.1.7/src/xreq.hpp +65 -0
  274. data/libzmq/zeromq-2.1.7/src/xsub.cpp +172 -0
  275. data/libzmq/zeromq-2.1.7/src/xsub.hpp +80 -0
  276. data/libzmq/zeromq-2.1.7/src/ypipe.hpp +209 -0
  277. data/libzmq/zeromq-2.1.7/src/yqueue.hpp +198 -0
  278. data/libzmq/zeromq-2.1.7/src/zmq.cpp +798 -0
  279. data/libzmq/zeromq-2.1.7/src/zmq_connecter.cpp +166 -0
  280. data/libzmq/zeromq-2.1.7/src/zmq_connecter.hpp +92 -0
  281. data/libzmq/zeromq-2.1.7/src/zmq_engine.cpp +220 -0
  282. data/libzmq/zeromq-2.1.7/src/zmq_engine.hpp +87 -0
  283. data/libzmq/zeromq-2.1.7/src/zmq_init.cpp +216 -0
  284. data/libzmq/zeromq-2.1.7/src/zmq_init.hpp +93 -0
  285. data/libzmq/zeromq-2.1.7/src/zmq_listener.cpp +78 -0
  286. data/libzmq/zeromq-2.1.7/src/zmq_listener.hpp +67 -0
  287. data/libzmq/zeromq-2.1.7/tests/Makefile.am +30 -0
  288. data/libzmq/zeromq-2.1.7/tests/Makefile.in +713 -0
  289. data/libzmq/zeromq-2.1.7/tests/test_hwm.cpp +68 -0
  290. data/libzmq/zeromq-2.1.7/tests/test_pair_inproc.cpp +31 -0
  291. data/libzmq/zeromq-2.1.7/tests/test_pair_ipc.cpp +31 -0
  292. data/libzmq/zeromq-2.1.7/tests/test_pair_tcp.cpp +31 -0
  293. data/libzmq/zeromq-2.1.7/tests/test_reqrep_inproc.cpp +31 -0
  294. data/libzmq/zeromq-2.1.7/tests/test_reqrep_ipc.cpp +31 -0
  295. data/libzmq/zeromq-2.1.7/tests/test_reqrep_tcp.cpp +31 -0
  296. data/libzmq/zeromq-2.1.7/tests/test_shutdown_stress.cpp +87 -0
  297. data/libzmq/zeromq-2.1.7/tests/testutil.hpp +130 -0
  298. data/libzmq/zeromq-2.1.7/version.sh +21 -0
  299. data/libzmq/zeromq-2.1.7/zeromq.spec +139 -0
  300. metadata +348 -0
@@ -0,0 +1,269 @@
1
+ /*
2
+ Copyright (c) 2007-2011 iMatix Corporation
3
+ Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4
+
5
+ This file is part of 0MQ.
6
+
7
+ 0MQ is free software; you can redistribute it and/or modify it under
8
+ the terms of the GNU Lesser General Public License as published by
9
+ the Free Software Foundation; either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ 0MQ is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU Lesser General Public License for more details.
16
+
17
+ You should have received a copy of the GNU Lesser General Public License
18
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
19
+ */
20
+
21
+ #ifndef __ZMQ_H_INCLUDED__
22
+ #define __ZMQ_H_INCLUDED__
23
+
24
+ #ifdef __cplusplus
25
+ extern "C" {
26
+ #endif
27
+
28
+ #include <errno.h>
29
+ #include <stddef.h>
30
+ #if defined _WIN32
31
+ #include "winsock2.h"
32
+ #endif
33
+
34
+ /* Handle DSO symbol visibility */
35
+ #if defined _WIN32
36
+ # if defined DLL_EXPORT
37
+ # define ZMQ_EXPORT __declspec(dllexport)
38
+ # else
39
+ # define ZMQ_EXPORT __declspec(dllimport)
40
+ # endif
41
+ #else
42
+ # if defined __SUNPRO_C || defined __SUNPRO_CC
43
+ # define ZMQ_EXPORT __global
44
+ # elif (defined __GNUC__ && __GNUC__ >= 4) || defined __INTEL_COMPILER
45
+ # define ZMQ_EXPORT __attribute__ ((visibility("default")))
46
+ # else
47
+ # define ZMQ_EXPORT
48
+ # endif
49
+ #endif
50
+
51
+ /******************************************************************************/
52
+ /* 0MQ versioning support. */
53
+ /******************************************************************************/
54
+
55
+ /* Version macros for compile-time API version detection */
56
+ #define ZMQ_VERSION_MAJOR 2
57
+ #define ZMQ_VERSION_MINOR 1
58
+ #define ZMQ_VERSION_PATCH 7
59
+
60
+ #define ZMQ_MAKE_VERSION(major, minor, patch) \
61
+ ((major) * 10000 + (minor) * 100 + (patch))
62
+ #define ZMQ_VERSION \
63
+ ZMQ_MAKE_VERSION(ZMQ_VERSION_MAJOR, ZMQ_VERSION_MINOR, ZMQ_VERSION_PATCH)
64
+
65
+ /* Run-time API version detection */
66
+ ZMQ_EXPORT void zmq_version (int *major, int *minor, int *patch);
67
+
68
+ /******************************************************************************/
69
+ /* 0MQ errors. */
70
+ /******************************************************************************/
71
+
72
+ /* A number random enough not to collide with different errno ranges on */
73
+ /* different OSes. The assumption is that error_t is at least 32-bit type. */
74
+ #define ZMQ_HAUSNUMERO 156384712
75
+
76
+ /* On Windows platform some of the standard POSIX errnos are not defined. */
77
+ #ifndef ENOTSUP
78
+ #define ENOTSUP (ZMQ_HAUSNUMERO + 1)
79
+ #endif
80
+ #ifndef EPROTONOSUPPORT
81
+ #define EPROTONOSUPPORT (ZMQ_HAUSNUMERO + 2)
82
+ #endif
83
+ #ifndef ENOBUFS
84
+ #define ENOBUFS (ZMQ_HAUSNUMERO + 3)
85
+ #endif
86
+ #ifndef ENETDOWN
87
+ #define ENETDOWN (ZMQ_HAUSNUMERO + 4)
88
+ #endif
89
+ #ifndef EADDRINUSE
90
+ #define EADDRINUSE (ZMQ_HAUSNUMERO + 5)
91
+ #endif
92
+ #ifndef EADDRNOTAVAIL
93
+ #define EADDRNOTAVAIL (ZMQ_HAUSNUMERO + 6)
94
+ #endif
95
+ #ifndef ECONNREFUSED
96
+ #define ECONNREFUSED (ZMQ_HAUSNUMERO + 7)
97
+ #endif
98
+ #ifndef EINPROGRESS
99
+ #define EINPROGRESS (ZMQ_HAUSNUMERO + 8)
100
+ #endif
101
+ #ifndef ENOTSOCK
102
+ #define ENOTSOCK (ZMQ_HAUSNUMERO + 9)
103
+ #endif
104
+
105
+ /* Native 0MQ error codes. */
106
+ #define EFSM (ZMQ_HAUSNUMERO + 51)
107
+ #define ENOCOMPATPROTO (ZMQ_HAUSNUMERO + 52)
108
+ #define ETERM (ZMQ_HAUSNUMERO + 53)
109
+ #define EMTHREAD (ZMQ_HAUSNUMERO + 54)
110
+
111
+ /* This function retrieves the errno as it is known to 0MQ library. The goal */
112
+ /* of this function is to make the code 100% portable, including where 0MQ */
113
+ /* compiled with certain CRT library (on Windows) is linked to an */
114
+ /* application that uses different CRT library. */
115
+ ZMQ_EXPORT int zmq_errno (void);
116
+
117
+ /* Resolves system errors and 0MQ errors to human-readable string. */
118
+ ZMQ_EXPORT const char *zmq_strerror (int errnum);
119
+
120
+ /******************************************************************************/
121
+ /* 0MQ message definition. */
122
+ /******************************************************************************/
123
+
124
+ /* Maximal size of "Very Small Message". VSMs are passed by value */
125
+ /* to avoid excessive memory allocation/deallocation. */
126
+ /* If VMSs larger than 255 bytes are required, type of 'vsm_size' */
127
+ /* field in zmq_msg_t structure should be modified accordingly. */
128
+ #define ZMQ_MAX_VSM_SIZE 30
129
+
130
+ /* Message types. These integers may be stored in 'content' member of the */
131
+ /* message instead of regular pointer to the data. */
132
+ #define ZMQ_DELIMITER 31
133
+ #define ZMQ_VSM 32
134
+
135
+ /* Message flags. ZMQ_MSG_SHARED is strictly speaking not a message flag */
136
+ /* (it has no equivalent in the wire format), however, making it a flag */
137
+ /* allows us to pack the stucture tigher and thus improve performance. */
138
+ #define ZMQ_MSG_MORE 1
139
+ #define ZMQ_MSG_SHARED 128
140
+ #define ZMQ_MSG_MASK 129 /* Merges all the flags */
141
+
142
+ /* A message. Note that 'content' is not a pointer to the raw data. */
143
+ /* Rather it is pointer to zmq::msg_content_t structure */
144
+ /* (see src/msg_content.hpp for its definition). */
145
+ typedef struct
146
+ {
147
+ void *content;
148
+ unsigned char flags;
149
+ unsigned char vsm_size;
150
+ unsigned char vsm_data [ZMQ_MAX_VSM_SIZE];
151
+ } zmq_msg_t;
152
+
153
+ typedef void (zmq_free_fn) (void *data, void *hint);
154
+
155
+ ZMQ_EXPORT int zmq_msg_init (zmq_msg_t *msg);
156
+ ZMQ_EXPORT int zmq_msg_init_size (zmq_msg_t *msg, size_t size);
157
+ ZMQ_EXPORT int zmq_msg_init_data (zmq_msg_t *msg, void *data,
158
+ size_t size, zmq_free_fn *ffn, void *hint);
159
+ ZMQ_EXPORT int zmq_msg_close (zmq_msg_t *msg);
160
+ ZMQ_EXPORT int zmq_msg_move (zmq_msg_t *dest, zmq_msg_t *src);
161
+ ZMQ_EXPORT int zmq_msg_copy (zmq_msg_t *dest, zmq_msg_t *src);
162
+ ZMQ_EXPORT void *zmq_msg_data (zmq_msg_t *msg);
163
+ ZMQ_EXPORT size_t zmq_msg_size (zmq_msg_t *msg);
164
+
165
+ /******************************************************************************/
166
+ /* 0MQ infrastructure (a.k.a. context) initialisation & termination. */
167
+ /******************************************************************************/
168
+
169
+ ZMQ_EXPORT void *zmq_init (int io_threads);
170
+ ZMQ_EXPORT int zmq_term (void *context);
171
+
172
+ /******************************************************************************/
173
+ /* 0MQ socket definition. */
174
+ /******************************************************************************/
175
+
176
+ /* Socket types. */
177
+ #define ZMQ_PAIR 0
178
+ #define ZMQ_PUB 1
179
+ #define ZMQ_SUB 2
180
+ #define ZMQ_REQ 3
181
+ #define ZMQ_REP 4
182
+ #define ZMQ_DEALER 5
183
+ #define ZMQ_ROUTER 6
184
+ #define ZMQ_PULL 7
185
+ #define ZMQ_PUSH 8
186
+ #define ZMQ_XPUB 9
187
+ #define ZMQ_XSUB 10
188
+ #define ZMQ_XREQ ZMQ_DEALER /* Old alias, remove in 3.x */
189
+ #define ZMQ_XREP ZMQ_ROUTER /* Old alias, remove in 3.x */
190
+ #define ZMQ_UPSTREAM ZMQ_PULL /* Old alias, remove in 3.x */
191
+ #define ZMQ_DOWNSTREAM ZMQ_PUSH /* Old alias, remove in 3.x */
192
+
193
+ /* Socket options. */
194
+ #define ZMQ_HWM 1
195
+ #define ZMQ_SWAP 3
196
+ #define ZMQ_AFFINITY 4
197
+ #define ZMQ_IDENTITY 5
198
+ #define ZMQ_SUBSCRIBE 6
199
+ #define ZMQ_UNSUBSCRIBE 7
200
+ #define ZMQ_RATE 8
201
+ #define ZMQ_RECOVERY_IVL 9
202
+ #define ZMQ_MCAST_LOOP 10
203
+ #define ZMQ_SNDBUF 11
204
+ #define ZMQ_RCVBUF 12
205
+ #define ZMQ_RCVMORE 13
206
+ #define ZMQ_FD 14
207
+ #define ZMQ_EVENTS 15
208
+ #define ZMQ_TYPE 16
209
+ #define ZMQ_LINGER 17
210
+ #define ZMQ_RECONNECT_IVL 18
211
+ #define ZMQ_BACKLOG 19
212
+ #define ZMQ_RECOVERY_IVL_MSEC 20 /* opt. recovery time, reconcile in 3.x */
213
+ #define ZMQ_RECONNECT_IVL_MAX 21
214
+
215
+ /* Send/recv options. */
216
+ #define ZMQ_NOBLOCK 1
217
+ #define ZMQ_SNDMORE 2
218
+
219
+ ZMQ_EXPORT void *zmq_socket (void *context, int type);
220
+ ZMQ_EXPORT int zmq_close (void *s);
221
+ ZMQ_EXPORT int zmq_setsockopt (void *s, int option, const void *optval,
222
+ size_t optvallen);
223
+ ZMQ_EXPORT int zmq_getsockopt (void *s, int option, void *optval,
224
+ size_t *optvallen);
225
+ ZMQ_EXPORT int zmq_bind (void *s, const char *addr);
226
+ ZMQ_EXPORT int zmq_connect (void *s, const char *addr);
227
+ ZMQ_EXPORT int zmq_send (void *s, zmq_msg_t *msg, int flags);
228
+ ZMQ_EXPORT int zmq_recv (void *s, zmq_msg_t *msg, int flags);
229
+
230
+ /******************************************************************************/
231
+ /* I/O multiplexing. */
232
+ /******************************************************************************/
233
+
234
+ #define ZMQ_POLLIN 1
235
+ #define ZMQ_POLLOUT 2
236
+ #define ZMQ_POLLERR 4
237
+
238
+ typedef struct
239
+ {
240
+ void *socket;
241
+ #if defined _WIN32
242
+ SOCKET fd;
243
+ #else
244
+ int fd;
245
+ #endif
246
+ short events;
247
+ short revents;
248
+ } zmq_pollitem_t;
249
+
250
+ ZMQ_EXPORT int zmq_poll (zmq_pollitem_t *items, int nitems, long timeout);
251
+
252
+ /******************************************************************************/
253
+ /* Built-in devices */
254
+ /******************************************************************************/
255
+
256
+ #define ZMQ_STREAMER 1
257
+ #define ZMQ_FORWARDER 2
258
+ #define ZMQ_QUEUE 3
259
+
260
+ ZMQ_EXPORT int zmq_device (int device, void * insocket, void* outsocket);
261
+
262
+ #undef ZMQ_EXPORT
263
+
264
+ #ifdef __cplusplus
265
+ }
266
+ #endif
267
+
268
+ #endif
269
+
@@ -0,0 +1,301 @@
1
+ /*
2
+ Copyright (c) 2007-2011 iMatix Corporation
3
+ Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
4
+
5
+ This file is part of 0MQ.
6
+
7
+ 0MQ is free software; you can redistribute it and/or modify it under
8
+ the terms of the GNU Lesser General Public License as published by
9
+ the Free Software Foundation; either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ 0MQ is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU Lesser General Public License for more details.
16
+
17
+ You should have received a copy of the GNU Lesser General Public License
18
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
19
+ */
20
+
21
+ #ifndef __ZMQ_HPP_INCLUDED__
22
+ #define __ZMQ_HPP_INCLUDED__
23
+
24
+ #include "zmq.h"
25
+
26
+ #include <cassert>
27
+ #include <cstring>
28
+ #include <exception>
29
+
30
+ namespace zmq
31
+ {
32
+
33
+ typedef zmq_free_fn free_fn;
34
+ typedef zmq_pollitem_t pollitem_t;
35
+
36
+ class error_t : public std::exception
37
+ {
38
+ public:
39
+
40
+ error_t () : errnum (zmq_errno ()) {}
41
+
42
+ virtual const char *what () const throw ()
43
+ {
44
+ return zmq_strerror (errnum);
45
+ }
46
+
47
+ int num () const
48
+ {
49
+ return errnum;
50
+ }
51
+
52
+ private:
53
+
54
+ int errnum;
55
+ };
56
+
57
+ inline int poll (zmq_pollitem_t *items_, int nitems_, long timeout_ = -1)
58
+ {
59
+ int rc = zmq_poll (items_, nitems_, timeout_);
60
+ if (rc < 0)
61
+ throw error_t ();
62
+ return rc;
63
+ }
64
+
65
+ inline void device (int device_, void * insocket_, void* outsocket_)
66
+ {
67
+ int rc = zmq_device (device_, insocket_, outsocket_);
68
+ if (rc != 0)
69
+ throw error_t ();
70
+ }
71
+
72
+ inline void version (int *major_, int *minor_, int *patch_)
73
+ {
74
+ zmq_version (major_, minor_, patch_);
75
+ }
76
+
77
+ class message_t : private zmq_msg_t
78
+ {
79
+ friend class socket_t;
80
+
81
+ public:
82
+
83
+ inline message_t ()
84
+ {
85
+ int rc = zmq_msg_init (this);
86
+ if (rc != 0)
87
+ throw error_t ();
88
+ }
89
+
90
+ inline message_t (size_t size_)
91
+ {
92
+ int rc = zmq_msg_init_size (this, size_);
93
+ if (rc != 0)
94
+ throw error_t ();
95
+ }
96
+
97
+ inline message_t (void *data_, size_t size_, free_fn *ffn_,
98
+ void *hint_ = NULL)
99
+ {
100
+ int rc = zmq_msg_init_data (this, data_, size_, ffn_, hint_);
101
+ if (rc != 0)
102
+ throw error_t ();
103
+ }
104
+
105
+ inline ~message_t ()
106
+ {
107
+ int rc = zmq_msg_close (this);
108
+ assert (rc == 0);
109
+ }
110
+
111
+ inline void rebuild ()
112
+ {
113
+ int rc = zmq_msg_close (this);
114
+ if (rc != 0)
115
+ throw error_t ();
116
+ rc = zmq_msg_init (this);
117
+ if (rc != 0)
118
+ throw error_t ();
119
+ }
120
+
121
+ inline void rebuild (size_t size_)
122
+ {
123
+ int rc = zmq_msg_close (this);
124
+ if (rc != 0)
125
+ throw error_t ();
126
+ rc = zmq_msg_init_size (this, size_);
127
+ if (rc != 0)
128
+ throw error_t ();
129
+ }
130
+
131
+ inline void rebuild (void *data_, size_t size_, free_fn *ffn_,
132
+ void *hint_ = NULL)
133
+ {
134
+ int rc = zmq_msg_close (this);
135
+ if (rc != 0)
136
+ throw error_t ();
137
+ rc = zmq_msg_init_data (this, data_, size_, ffn_, hint_);
138
+ if (rc != 0)
139
+ throw error_t ();
140
+ }
141
+
142
+ inline void move (message_t *msg_)
143
+ {
144
+ int rc = zmq_msg_move (this, (zmq_msg_t*) msg_);
145
+ if (rc != 0)
146
+ throw error_t ();
147
+ }
148
+
149
+ inline void copy (message_t *msg_)
150
+ {
151
+ int rc = zmq_msg_copy (this, (zmq_msg_t*) msg_);
152
+ if (rc != 0)
153
+ throw error_t ();
154
+ }
155
+
156
+ inline void *data ()
157
+ {
158
+ return zmq_msg_data (this);
159
+ }
160
+
161
+ inline size_t size ()
162
+ {
163
+ return zmq_msg_size (this);
164
+ }
165
+
166
+ private:
167
+
168
+ // Disable implicit message copying, so that users won't use shared
169
+ // messages (less efficient) without being aware of the fact.
170
+ message_t (const message_t&);
171
+ void operator = (const message_t&);
172
+ };
173
+
174
+ class context_t
175
+ {
176
+ friend class socket_t;
177
+
178
+ public:
179
+
180
+ inline context_t (int io_threads_)
181
+ {
182
+ ptr = zmq_init (io_threads_);
183
+ if (ptr == NULL)
184
+ throw error_t ();
185
+ }
186
+
187
+ inline ~context_t ()
188
+ {
189
+ int rc = zmq_term (ptr);
190
+ assert (rc == 0);
191
+ }
192
+
193
+ // Be careful with this, it's probably only useful for
194
+ // using the C api together with an existing C++ api.
195
+ // Normally you should never need to use this.
196
+ inline operator void* ()
197
+ {
198
+ return ptr;
199
+ }
200
+
201
+ private:
202
+
203
+ void *ptr;
204
+
205
+ context_t (const context_t&);
206
+ void operator = (const context_t&);
207
+ };
208
+
209
+ class socket_t
210
+ {
211
+ public:
212
+
213
+ inline socket_t (context_t &context_, int type_)
214
+ {
215
+ ptr = zmq_socket (context_.ptr, type_);
216
+ if (ptr == NULL)
217
+ throw error_t ();
218
+ }
219
+
220
+ inline ~socket_t ()
221
+ {
222
+ close();
223
+ }
224
+
225
+ inline operator void* ()
226
+ {
227
+ return ptr;
228
+ }
229
+
230
+ inline void close()
231
+ {
232
+ if(ptr == NULL)
233
+ // already closed
234
+ return ;
235
+ int rc = zmq_close (ptr);
236
+ if (rc != 0)
237
+ throw error_t ();
238
+ ptr = 0 ;
239
+ }
240
+
241
+ inline void setsockopt (int option_, const void *optval_,
242
+ size_t optvallen_)
243
+ {
244
+ int rc = zmq_setsockopt (ptr, option_, optval_, optvallen_);
245
+ if (rc != 0)
246
+ throw error_t ();
247
+ }
248
+
249
+ inline void getsockopt (int option_, void *optval_,
250
+ size_t *optvallen_)
251
+ {
252
+ int rc = zmq_getsockopt (ptr, option_, optval_, optvallen_);
253
+ if (rc != 0)
254
+ throw error_t ();
255
+ }
256
+
257
+ inline void bind (const char *addr_)
258
+ {
259
+ int rc = zmq_bind (ptr, addr_);
260
+ if (rc != 0)
261
+ throw error_t ();
262
+ }
263
+
264
+ inline void connect (const char *addr_)
265
+ {
266
+ int rc = zmq_connect (ptr, addr_);
267
+ if (rc != 0)
268
+ throw error_t ();
269
+ }
270
+
271
+ inline bool send (message_t &msg_, int flags_ = 0)
272
+ {
273
+ int rc = zmq_send (ptr, &msg_, flags_);
274
+ if (rc == 0)
275
+ return true;
276
+ if (rc == -1 && zmq_errno () == EAGAIN)
277
+ return false;
278
+ throw error_t ();
279
+ }
280
+
281
+ inline bool recv (message_t *msg_, int flags_ = 0)
282
+ {
283
+ int rc = zmq_recv (ptr, msg_, flags_);
284
+ if (rc == 0)
285
+ return true;
286
+ if (rc == -1 && zmq_errno () == EAGAIN)
287
+ return false;
288
+ throw error_t ();
289
+ }
290
+
291
+ private:
292
+
293
+ void *ptr;
294
+
295
+ socket_t (const socket_t&);
296
+ void operator = (const socket_t&);
297
+ };
298
+
299
+ }
300
+
301
+ #endif