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,50 @@
1
+ zmq_errno(3)
2
+ ============
3
+
4
+
5
+ NAME
6
+ ----
7
+ zmq_errno - retrieve value of errno for the calling thread
8
+
9
+
10
+ SYNOPSIS
11
+ --------
12
+ *int zmq_errno (void);*
13
+
14
+
15
+ DESCRIPTION
16
+ -----------
17
+ The _zmq_errno()_ function shall retrieve the value of the 'errno' variable for
18
+ the calling thread.
19
+
20
+ The _zmq_errno()_ function is provided to assist users on non-POSIX systems who
21
+ are experiencing issues with retrieving the correct value of 'errno' directly.
22
+ Specifically, users on Win32 systems whose application is using a different C
23
+ run-time library from the C run-time library in use by 0MQ will need to use
24
+ _zmq_errno()_ for correct operation.
25
+
26
+ IMPORTANT: Users not experiencing issues with retrieving the correct value of
27
+ 'errno' should not use this function and should instead access the 'errno'
28
+ variable directly.
29
+
30
+
31
+ RETURN VALUE
32
+ ------------
33
+ The _zmq_errno()_ function shall return the value of the 'errno' variable for
34
+ the calling thread.
35
+
36
+
37
+ ERRORS
38
+ ------
39
+ No errors are defined.
40
+
41
+
42
+ SEE ALSO
43
+ --------
44
+ linkzmq:zmq[7]
45
+
46
+
47
+ AUTHORS
48
+ -------
49
+ This 0MQ manual page was written by Martin Sustrik <sustrik@250bpm.com> and
50
+ Martin Lucina <mato@kotelna.sk>.
@@ -0,0 +1,944 @@
1
+ '\" t
2
+ .\" Title: zmq_getsockopt
3
+ .\" Author: [see the "AUTHORS" section]
4
+ .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
5
+ .\" Date: 05/07/2011
6
+ .\" Manual: 0MQ Manual
7
+ .\" Source: 0MQ 2.1.6
8
+ .\" Language: English
9
+ .\"
10
+ .TH "ZMQ_GETSOCKOPT" "3" "05/07/2011" "0MQ 2\&.1\&.6" "0MQ Manual"
11
+ .\" -----------------------------------------------------------------
12
+ .\" * Define some portability stuff
13
+ .\" -----------------------------------------------------------------
14
+ .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15
+ .\" http://bugs.debian.org/507673
16
+ .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17
+ .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18
+ .ie \n(.g .ds Aq \(aq
19
+ .el .ds Aq '
20
+ .\" -----------------------------------------------------------------
21
+ .\" * set default formatting
22
+ .\" -----------------------------------------------------------------
23
+ .\" disable hyphenation
24
+ .nh
25
+ .\" disable justification (adjust text to left margin only)
26
+ .ad l
27
+ .\" -----------------------------------------------------------------
28
+ .\" * MAIN CONTENT STARTS HERE *
29
+ .\" -----------------------------------------------------------------
30
+ .SH "NAME"
31
+ zmq_getsockopt \- get 0MQ socket options
32
+ .SH "SYNOPSIS"
33
+ .sp
34
+ \fBint zmq_getsockopt (void \fR\fB\fI*socket\fR\fR\fB, int \fR\fB\fIoption_name\fR\fR\fB, void \fR\fB\fI*option_value\fR\fR\fB, size_t \fR\fB\fI*option_len\fR\fR\fB);\fR
35
+ .SH "DESCRIPTION"
36
+ .sp
37
+ The \fIzmq_getsockopt()\fR function shall retrieve the value for the option specified by the \fIoption_name\fR argument for the 0MQ socket pointed to by the \fIsocket\fR argument, and store it in the buffer pointed to by the \fIoption_value\fR argument\&. The \fIoption_len\fR argument is the size in bytes of the buffer pointed to by \fIoption_value\fR; upon successful completion \fIzmq_getsockopt()\fR shall modify the \fIoption_len\fR argument to indicate the actual size of the option value stored in the buffer\&.
38
+ .sp
39
+ The following options can be retrieved with the \fIzmq_getsockopt()\fR function:
40
+ .SS "ZMQ_TYPE: Retrieve socket type"
41
+ .sp
42
+ The \fIZMQ_TYPE\fR option shall retrieve the socket type for the specified \fIsocket\fR\&. The socket type is specified at socket creation time and cannot be modified afterwards\&.
43
+ .TS
44
+ tab(:);
45
+ lt lt
46
+ lt lt
47
+ lt lt
48
+ lt lt.
49
+ T{
50
+ .sp
51
+ Option value type
52
+ T}:T{
53
+ .sp
54
+ int
55
+ T}
56
+ T{
57
+ .sp
58
+ Option value unit
59
+ T}:T{
60
+ .sp
61
+ N/A
62
+ T}
63
+ T{
64
+ .sp
65
+ Default value
66
+ T}:T{
67
+ .sp
68
+ N/A
69
+ T}
70
+ T{
71
+ .sp
72
+ Applicable socket types
73
+ T}:T{
74
+ .sp
75
+ all
76
+ T}
77
+ .TE
78
+ .sp 1
79
+ .SS "ZMQ_RCVMORE: More message parts to follow"
80
+ .sp
81
+ The \fIZMQ_RCVMORE\fR option shall return a boolean value indicating if the multi\-part message currently being read from the specified \fIsocket\fR has more message parts to follow\&. If there are no message parts to follow or if the message currently being read is not a multi\-part message a value of zero shall be returned\&. Otherwise, a value of 1 shall be returned\&.
82
+ .sp
83
+ Refer to \fBzmq_send\fR(3) and \fBzmq_recv\fR(3) for a detailed description of sending/receiving multi\-part messages\&.
84
+ .TS
85
+ tab(:);
86
+ lt lt
87
+ lt lt
88
+ lt lt
89
+ lt lt.
90
+ T{
91
+ .sp
92
+ Option value type
93
+ T}:T{
94
+ .sp
95
+ int64_t
96
+ T}
97
+ T{
98
+ .sp
99
+ Option value unit
100
+ T}:T{
101
+ .sp
102
+ boolean
103
+ T}
104
+ T{
105
+ .sp
106
+ Default value
107
+ T}:T{
108
+ .sp
109
+ N/A
110
+ T}
111
+ T{
112
+ .sp
113
+ Applicable socket types
114
+ T}:T{
115
+ .sp
116
+ all
117
+ T}
118
+ .TE
119
+ .sp 1
120
+ .SS "ZMQ_HWM: Retrieve high water mark"
121
+ .sp
122
+ The \fIZMQ_HWM\fR option shall retrieve the high water mark for the specified \fIsocket\fR\&. The high water mark is a hard limit on the maximum number of outstanding messages 0MQ shall queue in memory for any single peer that the specified \fIsocket\fR is communicating with\&.
123
+ .sp
124
+ If this limit has been reached the socket shall enter an exceptional state and depending on the socket type, 0MQ shall take appropriate action such as blocking or dropping sent messages\&. Refer to the individual socket descriptions in \fBzmq_socket\fR(3) for details on the exact action taken for each socket type\&.
125
+ .sp
126
+ The default \fIZMQ_HWM\fR value of zero means "no limit"\&.
127
+ .TS
128
+ tab(:);
129
+ lt lt
130
+ lt lt
131
+ lt lt
132
+ lt lt.
133
+ T{
134
+ .sp
135
+ Option value type
136
+ T}:T{
137
+ .sp
138
+ uint64_t
139
+ T}
140
+ T{
141
+ .sp
142
+ Option value unit
143
+ T}:T{
144
+ .sp
145
+ messages
146
+ T}
147
+ T{
148
+ .sp
149
+ Default value
150
+ T}:T{
151
+ .sp
152
+ 0
153
+ T}
154
+ T{
155
+ .sp
156
+ Applicable socket types
157
+ T}:T{
158
+ .sp
159
+ all
160
+ T}
161
+ .TE
162
+ .sp 1
163
+ .SS "ZMQ_SWAP: Retrieve disk offload size"
164
+ .sp
165
+ The \fIZMQ_SWAP\fR option shall retrieve the disk offload (swap) size for the specified \fIsocket\fR\&. A socket which has \fIZMQ_SWAP\fR set to a non\-zero value may exceed it\(cqs high water mark; in this case outstanding messages shall be offloaded to storage on disk rather than held in memory\&.
166
+ .sp
167
+ The value of \fIZMQ_SWAP\fR defines the maximum size of the swap space in bytes\&.
168
+ .TS
169
+ tab(:);
170
+ lt lt
171
+ lt lt
172
+ lt lt
173
+ lt lt.
174
+ T{
175
+ .sp
176
+ Option value type
177
+ T}:T{
178
+ .sp
179
+ int64_t
180
+ T}
181
+ T{
182
+ .sp
183
+ Option value unit
184
+ T}:T{
185
+ .sp
186
+ bytes
187
+ T}
188
+ T{
189
+ .sp
190
+ Default value
191
+ T}:T{
192
+ .sp
193
+ 0
194
+ T}
195
+ T{
196
+ .sp
197
+ Applicable socket types
198
+ T}:T{
199
+ .sp
200
+ all
201
+ T}
202
+ .TE
203
+ .sp 1
204
+ .SS "ZMQ_AFFINITY: Retrieve I/O thread affinity"
205
+ .sp
206
+ The \fIZMQ_AFFINITY\fR option shall retrieve the I/O thread affinity for newly created connections on the specified \fIsocket\fR\&.
207
+ .sp
208
+ Affinity determines which threads from the 0MQ I/O thread pool associated with the socket\(cqs \fIcontext\fR shall handle newly created connections\&. A value of zero specifies no affinity, meaning that work shall be distributed fairly among all 0MQ I/O threads in the thread pool\&. For non\-zero values, the lowest bit corresponds to thread 1, second lowest bit to thread 2 and so on\&. For example, a value of 3 specifies that subsequent connections on \fIsocket\fR shall be handled exclusively by I/O threads 1 and 2\&.
209
+ .sp
210
+ See also \fBzmq_init\fR(3) for details on allocating the number of I/O threads for a specific \fIcontext\fR\&.
211
+ .TS
212
+ tab(:);
213
+ lt lt
214
+ lt lt
215
+ lt lt
216
+ lt lt.
217
+ T{
218
+ .sp
219
+ Option value type
220
+ T}:T{
221
+ .sp
222
+ uint64_t
223
+ T}
224
+ T{
225
+ .sp
226
+ Option value unit
227
+ T}:T{
228
+ .sp
229
+ N/A (bitmap)
230
+ T}
231
+ T{
232
+ .sp
233
+ Default value
234
+ T}:T{
235
+ .sp
236
+ 0
237
+ T}
238
+ T{
239
+ .sp
240
+ Applicable socket types
241
+ T}:T{
242
+ .sp
243
+ N/A
244
+ T}
245
+ .TE
246
+ .sp 1
247
+ .SS "ZMQ_IDENTITY: Retrieve socket identity"
248
+ .sp
249
+ The \fIZMQ_IDENTITY\fR option shall retrieve the identity of the specified \fIsocket\fR\&. Socket identity determines if existing 0MQ infrastructure (\fImessage queues\fR, \fIforwarding devices\fR) shall be identified with a specific application and persist across multiple runs of the application\&.
250
+ .sp
251
+ If the socket has no identity, each run of an application is completely separate from other runs\&. However, with identity set the socket shall re\-use any existing 0MQ infrastructure configured by the previous run(s)\&. Thus the application may receive messages that were sent in the meantime, \fImessage queue\fR limits shall be shared with previous run(s) and so on\&.
252
+ .sp
253
+ Identity can be at least one byte and at most 255 bytes long\&. Identities starting with binary zero are reserved for use by 0MQ infrastructure\&.
254
+ .TS
255
+ tab(:);
256
+ lt lt
257
+ lt lt
258
+ lt lt
259
+ lt lt.
260
+ T{
261
+ .sp
262
+ Option value type
263
+ T}:T{
264
+ .sp
265
+ binary data
266
+ T}
267
+ T{
268
+ .sp
269
+ Option value unit
270
+ T}:T{
271
+ .sp
272
+ N/A
273
+ T}
274
+ T{
275
+ .sp
276
+ Default value
277
+ T}:T{
278
+ .sp
279
+ NULL
280
+ T}
281
+ T{
282
+ .sp
283
+ Applicable socket types
284
+ T}:T{
285
+ .sp
286
+ all
287
+ T}
288
+ .TE
289
+ .sp 1
290
+ .SS "ZMQ_RATE: Retrieve multicast data rate"
291
+ .sp
292
+ The \fIZMQ_RATE\fR option shall retrieve the maximum send or receive data rate for multicast transports using the specified \fIsocket\fR\&.
293
+ .TS
294
+ tab(:);
295
+ lt lt
296
+ lt lt
297
+ lt lt
298
+ lt lt.
299
+ T{
300
+ .sp
301
+ Option value type
302
+ T}:T{
303
+ .sp
304
+ int64_t
305
+ T}
306
+ T{
307
+ .sp
308
+ Option value unit
309
+ T}:T{
310
+ .sp
311
+ kilobits per second
312
+ T}
313
+ T{
314
+ .sp
315
+ Default value
316
+ T}:T{
317
+ .sp
318
+ 100
319
+ T}
320
+ T{
321
+ .sp
322
+ Applicable socket types
323
+ T}:T{
324
+ .sp
325
+ all, when using multicast transports
326
+ T}
327
+ .TE
328
+ .sp 1
329
+ .SS "ZMQ_RECOVERY_IVL: Get multicast recovery interval"
330
+ .sp
331
+ The \fIZMQ_RECOVERY_IVL\fR option shall retrieve the recovery interval for multicast transports using the specified \fIsocket\fR\&. The recovery interval determines the maximum time in seconds that a receiver can be absent from a multicast group before unrecoverable data loss will occur\&.
332
+ .TS
333
+ tab(:);
334
+ lt lt
335
+ lt lt
336
+ lt lt
337
+ lt lt.
338
+ T{
339
+ .sp
340
+ Option value type
341
+ T}:T{
342
+ .sp
343
+ int64_t
344
+ T}
345
+ T{
346
+ .sp
347
+ Option value unit
348
+ T}:T{
349
+ .sp
350
+ seconds
351
+ T}
352
+ T{
353
+ .sp
354
+ Default value
355
+ T}:T{
356
+ .sp
357
+ 10
358
+ T}
359
+ T{
360
+ .sp
361
+ Applicable socket types
362
+ T}:T{
363
+ .sp
364
+ all, when using multicast transports
365
+ T}
366
+ .TE
367
+ .sp 1
368
+ .SS "ZMQ_RECOVERY_IVL_MSEC: Get multicast recovery interval in milliseconds"
369
+ .sp
370
+ The \fIZMQ_RECOVERY_IVL\(cq_MSEC option shall retrieve the recovery interval, in milliseconds, for multicast transports using the specified \*(Aqsocket\fR\&. The recovery interval determines the maximum time in seconds that a receiver can be absent from a multicast group before unrecoverable data loss will occur\&.
371
+ .sp
372
+ For backward compatibility, the default value of \fIZMQ_RECOVERY_IVL_MSEC\fR is \-1 indicating that the recovery interval should be obtained from the \fIZMQ_RECOVERY_IVL\fR option\&. However, if the \fIZMQ_RECOVERY_IVL_MSEC\fR value is not zero, then it will take precedence, and be used\&.
373
+ .TS
374
+ tab(:);
375
+ lt lt
376
+ lt lt
377
+ lt lt
378
+ lt lt.
379
+ T{
380
+ .sp
381
+ Option value type
382
+ T}:T{
383
+ .sp
384
+ int64_t
385
+ T}
386
+ T{
387
+ .sp
388
+ Option value unit
389
+ T}:T{
390
+ .sp
391
+ milliseconds
392
+ T}
393
+ T{
394
+ .sp
395
+ Default value
396
+ T}:T{
397
+ .sp
398
+ \-1
399
+ T}
400
+ T{
401
+ .sp
402
+ Applicable socket types
403
+ T}:T{
404
+ .sp
405
+ all, when using multicast transports
406
+ T}
407
+ .TE
408
+ .sp 1
409
+ .SS "ZMQ_MCAST_LOOP: Control multicast loop\-back"
410
+ .sp
411
+ The \fIZMQ_MCAST_LOOP\fR option controls whether data sent via multicast transports can also be received by the sending host via loop\-back\&. A value of zero indicates that the loop\-back functionality is disabled, while the default value of 1 indicates that the loop\-back functionality is enabled\&. Leaving multicast loop\-back enabled when it is not required can have a negative impact on performance\&. Where possible, disable \fIZMQ_MCAST_LOOP\fR in production environments\&.
412
+ .TS
413
+ tab(:);
414
+ lt lt
415
+ lt lt
416
+ lt lt
417
+ lt lt.
418
+ T{
419
+ .sp
420
+ Option value type
421
+ T}:T{
422
+ .sp
423
+ int64_t
424
+ T}
425
+ T{
426
+ .sp
427
+ Option value unit
428
+ T}:T{
429
+ .sp
430
+ boolean
431
+ T}
432
+ T{
433
+ .sp
434
+ Default value
435
+ T}:T{
436
+ .sp
437
+ 1
438
+ T}
439
+ T{
440
+ .sp
441
+ Applicable socket types
442
+ T}:T{
443
+ .sp
444
+ all, when using multicast transports
445
+ T}
446
+ .TE
447
+ .sp 1
448
+ .SS "ZMQ_SNDBUF: Retrieve kernel transmit buffer size"
449
+ .sp
450
+ The \fIZMQ_SNDBUF\fR option shall retrieve the underlying kernel transmit buffer size for the specified \fIsocket\fR\&. A value of zero means that the OS default is in effect\&. For details refer to your operating system documentation for the \fISO_SNDBUF\fR socket option\&.
451
+ .TS
452
+ tab(:);
453
+ lt lt
454
+ lt lt
455
+ lt lt
456
+ lt lt.
457
+ T{
458
+ .sp
459
+ Option value type
460
+ T}:T{
461
+ .sp
462
+ uint64_t
463
+ T}
464
+ T{
465
+ .sp
466
+ Option value unit
467
+ T}:T{
468
+ .sp
469
+ bytes
470
+ T}
471
+ T{
472
+ .sp
473
+ Default value
474
+ T}:T{
475
+ .sp
476
+ 0
477
+ T}
478
+ T{
479
+ .sp
480
+ Applicable socket types
481
+ T}:T{
482
+ .sp
483
+ all
484
+ T}
485
+ .TE
486
+ .sp 1
487
+ .SS "ZMQ_RCVBUF: Retrieve kernel receive buffer size"
488
+ .sp
489
+ The \fIZMQ_RCVBUF\fR option shall retrieve the underlying kernel receive buffer size for the specified \fIsocket\fR\&. A value of zero means that the OS default is in effect\&. For details refer to your operating system documentation for the \fISO_RCVBUF\fR socket option\&.
490
+ .TS
491
+ tab(:);
492
+ lt lt
493
+ lt lt
494
+ lt lt
495
+ lt lt.
496
+ T{
497
+ .sp
498
+ Option value type
499
+ T}:T{
500
+ .sp
501
+ uint64_t
502
+ T}
503
+ T{
504
+ .sp
505
+ Option value unit
506
+ T}:T{
507
+ .sp
508
+ bytes
509
+ T}
510
+ T{
511
+ .sp
512
+ Default value
513
+ T}:T{
514
+ .sp
515
+ 0
516
+ T}
517
+ T{
518
+ .sp
519
+ Applicable socket types
520
+ T}:T{
521
+ .sp
522
+ all
523
+ T}
524
+ .TE
525
+ .sp 1
526
+ .SS "ZMQ_LINGER: Retrieve linger period for socket shutdown"
527
+ .sp
528
+ The \fIZMQ_LINGER\fR option shall retrieve the linger period for the specified \fIsocket\fR\&. The linger period determines how long pending messages which have yet to be sent to a peer shall linger in memory after a socket is closed with \fBzmq_close\fR(3), and further affects the termination of the socket\(cqs context with \fBzmq_term\fR(3)\&. The following outlines the different behaviours:
529
+ .sp
530
+ .RS 4
531
+ .ie n \{\
532
+ \h'-04'\(bu\h'+03'\c
533
+ .\}
534
+ .el \{\
535
+ .sp -1
536
+ .IP \(bu 2.3
537
+ .\}
538
+ The default value of
539
+ \fI\-1\fR
540
+ specifies an infinite linger period\&. Pending messages shall not be discarded after a call to
541
+ \fIzmq_close()\fR; attempting to terminate the socket\(cqs context with
542
+ \fIzmq_term()\fR
543
+ shall block until all pending messages have been sent to a peer\&.
544
+ .RE
545
+ .sp
546
+ .RS 4
547
+ .ie n \{\
548
+ \h'-04'\(bu\h'+03'\c
549
+ .\}
550
+ .el \{\
551
+ .sp -1
552
+ .IP \(bu 2.3
553
+ .\}
554
+ The value of
555
+ \fI0\fR
556
+ specifies no linger period\&. Pending messages shall be discarded immediately when the socket is closed with
557
+ \fIzmq_close()\fR\&.
558
+ .RE
559
+ .sp
560
+ .RS 4
561
+ .ie n \{\
562
+ \h'-04'\(bu\h'+03'\c
563
+ .\}
564
+ .el \{\
565
+ .sp -1
566
+ .IP \(bu 2.3
567
+ .\}
568
+ Positive values specify an upper bound for the linger period in milliseconds\&. Pending messages shall not be discarded after a call to
569
+ \fIzmq_close()\fR; attempting to terminate the socket\(cqs context with
570
+ \fIzmq_term()\fR
571
+ shall block until either all pending messages have been sent to a peer, or the linger period expires, after which any pending messages shall be discarded\&.
572
+ .TS
573
+ tab(:);
574
+ lt lt
575
+ lt lt
576
+ lt lt
577
+ lt lt.
578
+ T{
579
+ Option value type
580
+ T}:T{
581
+ int
582
+ T}
583
+ T{
584
+ Option value unit
585
+ T}:T{
586
+ milliseconds
587
+ T}
588
+ T{
589
+ Default value
590
+ T}:T{
591
+ \-1 (infinite)
592
+ T}
593
+ T{
594
+ Applicable socket types
595
+ T}:T{
596
+ all
597
+ T}
598
+ .TE
599
+ .sp 1
600
+ .RE
601
+ .SS "ZMQ_RECONNECT_IVL: Retrieve reconnection interval"
602
+ .sp
603
+ The \fIZMQ_RECONNECT_IVL\fR option shall retrieve the initial reconnection interval for the specified \fIsocket\fR\&. The reconnection interval is the period 0MQ shall wait between attempts to reconnect disconnected peers when using connection\-oriented transports\&.
604
+ .if n \{\
605
+ .sp
606
+ .\}
607
+ .RS 4
608
+ .it 1 an-trap
609
+ .nr an-no-space-flag 1
610
+ .nr an-break-flag 1
611
+ .br
612
+ .ps +1
613
+ \fBNote\fR
614
+ .ps -1
615
+ .br
616
+ .sp
617
+ The reconnection interval may be randomized by 0MQ to prevent reconnection storms in topologies with a large number of peers per socket\&.
618
+ .sp .5v
619
+ .RE
620
+ .TS
621
+ tab(:);
622
+ lt lt
623
+ lt lt
624
+ lt lt
625
+ lt lt.
626
+ T{
627
+ .sp
628
+ Option value type
629
+ T}:T{
630
+ .sp
631
+ int
632
+ T}
633
+ T{
634
+ .sp
635
+ Option value unit
636
+ T}:T{
637
+ .sp
638
+ milliseconds
639
+ T}
640
+ T{
641
+ .sp
642
+ Default value
643
+ T}:T{
644
+ .sp
645
+ 100
646
+ T}
647
+ T{
648
+ .sp
649
+ Applicable socket types
650
+ T}:T{
651
+ .sp
652
+ all, only for connection\-oriented transports
653
+ T}
654
+ .TE
655
+ .sp 1
656
+ .SS "ZMQ_RECONNECT_IVL_MAX: Retrieve maximum reconnection interval"
657
+ .sp
658
+ The \fIZMQ_RECONNECT_IVL_MAX\fR option shall retrieve the maximum reconnection interval for the specified \fIsocket\fR\&. This is the maximum period 0MQ shall wait between attempts to reconnect\&. On each reconnect attempt, the previous interval shall be doubled untill ZMQ_RECONNECT_IVL_MAX is reached\&. This allows for exponential backoff strategy\&. Default value means no exponential backoff is performed and reconnect interval calculations are only based on ZMQ_RECONNECT_IVL\&.
659
+ .if n \{\
660
+ .sp
661
+ .\}
662
+ .RS 4
663
+ .it 1 an-trap
664
+ .nr an-no-space-flag 1
665
+ .nr an-break-flag 1
666
+ .br
667
+ .ps +1
668
+ \fBNote\fR
669
+ .ps -1
670
+ .br
671
+ .sp
672
+ Values less than ZMQ_RECONNECT_IVL will be ignored\&.
673
+ .sp .5v
674
+ .RE
675
+ .TS
676
+ tab(:);
677
+ lt lt
678
+ lt lt
679
+ lt lt
680
+ lt lt.
681
+ T{
682
+ .sp
683
+ Option value type
684
+ T}:T{
685
+ .sp
686
+ int
687
+ T}
688
+ T{
689
+ .sp
690
+ Option value unit
691
+ T}:T{
692
+ .sp
693
+ milliseconds
694
+ T}
695
+ T{
696
+ .sp
697
+ Default value
698
+ T}:T{
699
+ .sp
700
+ 0 (only use ZMQ_RECONNECT_IVL)
701
+ T}
702
+ T{
703
+ .sp
704
+ Applicable socket types
705
+ T}:T{
706
+ .sp
707
+ all, only for connection\-oriented transport
708
+ T}
709
+ .TE
710
+ .sp 1
711
+ .SS "ZMQ_BACKLOG: Retrieve maximum length of the queue of outstanding connections"
712
+ .sp
713
+ The \fIZMQ_BACKLOG\fR option shall retrieve the maximum length of the queue of outstanding peer connections for the specified \fIsocket\fR; this only applies to connection\-oriented transports\&. For details refer to your operating system documentation for the \fIlisten\fR function\&.
714
+ .TS
715
+ tab(:);
716
+ lt lt
717
+ lt lt
718
+ lt lt
719
+ lt lt.
720
+ T{
721
+ .sp
722
+ Option value type
723
+ T}:T{
724
+ .sp
725
+ int
726
+ T}
727
+ T{
728
+ .sp
729
+ Option value unit
730
+ T}:T{
731
+ .sp
732
+ connections
733
+ T}
734
+ T{
735
+ .sp
736
+ Default value
737
+ T}:T{
738
+ .sp
739
+ 100
740
+ T}
741
+ T{
742
+ .sp
743
+ Applicable socket types
744
+ T}:T{
745
+ .sp
746
+ all, only for connection\-oriented transports
747
+ T}
748
+ .TE
749
+ .sp 1
750
+ .SS "ZMQ_FD: Retrieve file descriptor associated with the socket"
751
+ .sp
752
+ The \fIZMQ_FD\fR option shall retrieve the file descriptor associated with the specified \fIsocket\fR\&. The returned file descriptor can be used to integrate the socket into an existing event loop; the 0MQ library shall signal any pending events on the socket in an \fIedge\-triggered\fR fashion by making the file descriptor become ready for reading\&.
753
+ .if n \{\
754
+ .sp
755
+ .\}
756
+ .RS 4
757
+ .it 1 an-trap
758
+ .nr an-no-space-flag 1
759
+ .nr an-break-flag 1
760
+ .br
761
+ .ps +1
762
+ \fBNote\fR
763
+ .ps -1
764
+ .br
765
+ .sp
766
+ The ability to read from the returned file descriptor does not necessarily indicate that messages are available to be read from, or can be written to, the underlying socket; applications must retrieve the actual event state with a subsequent retrieval of the \fIZMQ_EVENTS\fR option\&.
767
+ .sp .5v
768
+ .RE
769
+ .if n \{\
770
+ .sp
771
+ .\}
772
+ .RS 4
773
+ .it 1 an-trap
774
+ .nr an-no-space-flag 1
775
+ .nr an-break-flag 1
776
+ .br
777
+ .ps +1
778
+ \fBCaution\fR
779
+ .ps -1
780
+ .br
781
+ .sp
782
+ The returned file descriptor is intended for use with a \fIpoll\fR or similar system call only\&. Applications must never attempt to read or write data to it directly, neither should they try to close it\&.
783
+ .sp .5v
784
+ .RE
785
+ .TS
786
+ tab(:);
787
+ lt lt
788
+ lt lt
789
+ lt lt
790
+ lt lt.
791
+ T{
792
+ .sp
793
+ Option value type
794
+ T}:T{
795
+ .sp
796
+ int on POSIX systems, SOCKET on Windows
797
+ T}
798
+ T{
799
+ .sp
800
+ Option value unit
801
+ T}:T{
802
+ .sp
803
+ N/A
804
+ T}
805
+ T{
806
+ .sp
807
+ Default value
808
+ T}:T{
809
+ .sp
810
+ N/A
811
+ T}
812
+ T{
813
+ .sp
814
+ Applicable socket types
815
+ T}:T{
816
+ .sp
817
+ all
818
+ T}
819
+ .TE
820
+ .sp 1
821
+ .SS "ZMQ_EVENTS: Retrieve socket event state"
822
+ .sp
823
+ The \fIZMQ_EVENTS\fR option shall retrieve the event state for the specified \fIsocket\fR\&. The returned value is a bit mask constructed by OR\(cqing a combination of the following event flags:
824
+ .PP
825
+ \fBZMQ_POLLIN\fR
826
+ .RS 4
827
+ Indicates that at least one message may be received from the specified socket without blocking\&.
828
+ .RE
829
+ .PP
830
+ \fBZMQ_POLLOUT\fR
831
+ .RS 4
832
+ Indicates that at least one message may be sent to the specified socket without blocking\&.
833
+ .RE
834
+ .sp
835
+ The combination of a file descriptor returned by the \fIZMQ_FD\fR option being ready for reading but no actual events returned by a subsequent retrieval of the \fIZMQ_EVENTS\fR option is valid; applications should simply ignore this case and restart their polling operation/event loop\&.
836
+ .TS
837
+ tab(:);
838
+ lt lt
839
+ lt lt
840
+ lt lt
841
+ lt lt.
842
+ T{
843
+ .sp
844
+ Option value type
845
+ T}:T{
846
+ .sp
847
+ uint32_t
848
+ T}
849
+ T{
850
+ .sp
851
+ Option value unit
852
+ T}:T{
853
+ .sp
854
+ N/A (flags)
855
+ T}
856
+ T{
857
+ .sp
858
+ Default value
859
+ T}:T{
860
+ .sp
861
+ N/A
862
+ T}
863
+ T{
864
+ .sp
865
+ Applicable socket types
866
+ T}:T{
867
+ .sp
868
+ all
869
+ T}
870
+ .TE
871
+ .sp 1
872
+ .SH "RETURN VALUE"
873
+ .sp
874
+ The \fIzmq_getsockopt()\fR function shall return zero if successful\&. Otherwise it shall return \-1 and set \fIerrno\fR to one of the values defined below\&.
875
+ .SH "ERRORS"
876
+ .PP
877
+ \fBEINVAL\fR
878
+ .RS 4
879
+ The requested option
880
+ \fIoption_name\fR
881
+ is unknown, or the requested
882
+ \fIoption_len\fR
883
+ or
884
+ \fIoption_value\fR
885
+ is invalid, or the size of the buffer pointed to by
886
+ \fIoption_value\fR, as specified by
887
+ \fIoption_len\fR, is insufficient for storing the option value\&.
888
+ .RE
889
+ .PP
890
+ \fBETERM\fR
891
+ .RS 4
892
+ The 0MQ
893
+ \fIcontext\fR
894
+ associated with the specified
895
+ \fIsocket\fR
896
+ was terminated\&.
897
+ .RE
898
+ .PP
899
+ \fBENOTSOCK\fR
900
+ .RS 4
901
+ The provided
902
+ \fIsocket\fR
903
+ was invalid\&.
904
+ .RE
905
+ .PP
906
+ \fBEINTR\fR
907
+ .RS 4
908
+ The operation was interrupted by delivery of a signal\&.
909
+ .RE
910
+ .SH "EXAMPLE"
911
+ .PP
912
+ \fBRetrieving the high water mark\fR.
913
+ .sp
914
+ .if n \{\
915
+ .RS 4
916
+ .\}
917
+ .nf
918
+ /* Retrieve high water mark into hwm */
919
+ int64_t hwm;
920
+ size_t hwm_size = sizeof (hwm);
921
+ rc = zmq_getsockopt (socket, ZMQ_HWM, &hwm, &hwm_size);
922
+ assert (rc == 0);
923
+ .fi
924
+ .if n \{\
925
+ .RE
926
+ .\}
927
+ .sp
928
+ .SH "SEE ALSO"
929
+ .sp
930
+ \fBzmq_setsockopt\fR(3) \fBzmq_socket\fR(3) \fBzmq\fR(7)
931
+ .SH "AUTHORS"
932
+ .sp
933
+ This 0MQ manual page was written by Martin Sustrik <\m[blue]\fBsustrik@250bpm\&.com\fR\m[]\&\s-2\u[1]\d\s+2> and Martin Lucina <\m[blue]\fBmato@kotelna\&.sk\fR\m[]\&\s-2\u[2]\d\s+2>\&.
934
+ .SH "NOTES"
935
+ .IP " 1." 4
936
+ sustrik@250bpm.com
937
+ .RS 4
938
+ \%mailto:sustrik@250bpm.com
939
+ .RE
940
+ .IP " 2." 4
941
+ mato@kotelna.sk
942
+ .RS 4
943
+ \%mailto:mato@kotelna.sk
944
+ .RE