laag-libczmq 4.1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (697) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +57 -0
  3. data/LICENSE.txt +373 -0
  4. data/README.org +34 -0
  5. data/ext/laag/libczmq/extconf.rb +24 -0
  6. data/laag-libczmq.gemspec +21 -0
  7. data/lib/laag/libczmq.rb +30 -0
  8. data/vendor/github.com/zeromq/czmq/.editorconfig +19 -0
  9. data/vendor/github.com/zeromq/czmq/.gitattributes +5 -0
  10. data/vendor/github.com/zeromq/czmq/.github/PULL_REQUEST_TEMPLATE.md +28 -0
  11. data/vendor/github.com/zeromq/czmq/.gitignore +137 -0
  12. data/vendor/github.com/zeromq/czmq/.travis.yml +126 -0
  13. data/vendor/github.com/zeromq/czmq/AUTHORS +69 -0
  14. data/vendor/github.com/zeromq/czmq/CMakeLists.txt +653 -0
  15. data/vendor/github.com/zeromq/czmq/CONTRIBUTING.md +19 -0
  16. data/vendor/github.com/zeromq/czmq/Dockerfile +29 -0
  17. data/vendor/github.com/zeromq/czmq/Findlibsodium.cmake +47 -0
  18. data/vendor/github.com/zeromq/czmq/Findlibzmq.cmake +49 -0
  19. data/vendor/github.com/zeromq/czmq/Findlz4.cmake +49 -0
  20. data/vendor/github.com/zeromq/czmq/Findsystemd.cmake +49 -0
  21. data/vendor/github.com/zeromq/czmq/Finduuid.cmake +49 -0
  22. data/vendor/github.com/zeromq/czmq/INSTALL.cygwin +13 -0
  23. data/vendor/github.com/zeromq/czmq/ISSUES.cygwin +6 -0
  24. data/vendor/github.com/zeromq/czmq/Jenkinsfile +439 -0
  25. data/vendor/github.com/zeromq/czmq/LICENSE +373 -0
  26. data/vendor/github.com/zeromq/czmq/Makefile.am +70 -0
  27. data/vendor/github.com/zeromq/czmq/NEWS +823 -0
  28. data/vendor/github.com/zeromq/czmq/README.cygwin +23 -0
  29. data/vendor/github.com/zeromq/czmq/README.md +9345 -0
  30. data/vendor/github.com/zeromq/czmq/README.txt +512 -0
  31. data/vendor/github.com/zeromq/czmq/Vagrantfile +49 -0
  32. data/vendor/github.com/zeromq/czmq/acinclude.m4 +7 -0
  33. data/vendor/github.com/zeromq/czmq/api/zactor.api +77 -0
  34. data/vendor/github.com/zeromq/czmq/api/zargs.api +110 -0
  35. data/vendor/github.com/zeromq/czmq/api/zarmour.api +103 -0
  36. data/vendor/github.com/zeromq/czmq/api/zcert.api +128 -0
  37. data/vendor/github.com/zeromq/czmq/api/zcertstore.api +80 -0
  38. data/vendor/github.com/zeromq/czmq/api/zchunk.api +171 -0
  39. data/vendor/github.com/zeromq/czmq/api/zclock.api +43 -0
  40. data/vendor/github.com/zeromq/czmq/api/zconfig.api +205 -0
  41. data/vendor/github.com/zeromq/czmq/api/zdigest.api +45 -0
  42. data/vendor/github.com/zeromq/czmq/api/zdir.api +124 -0
  43. data/vendor/github.com/zeromq/czmq/api/zdir_patch.api +62 -0
  44. data/vendor/github.com/zeromq/czmq/api/zfile.api +157 -0
  45. data/vendor/github.com/zeromq/czmq/api/zframe.api +157 -0
  46. data/vendor/github.com/zeromq/czmq/api/zgossip_msg.api +104 -0
  47. data/vendor/github.com/zeromq/czmq/api/zhash.api +184 -0
  48. data/vendor/github.com/zeromq/czmq/api/zhashx.api +295 -0
  49. data/vendor/github.com/zeromq/czmq/api/ziflist.api +73 -0
  50. data/vendor/github.com/zeromq/czmq/api/zlist.api +158 -0
  51. data/vendor/github.com/zeromq/czmq/api/zlistx.api +220 -0
  52. data/vendor/github.com/zeromq/czmq/api/zloop.api +176 -0
  53. data/vendor/github.com/zeromq/czmq/api/zmsg.api +250 -0
  54. data/vendor/github.com/zeromq/czmq/api/zpoller.api +71 -0
  55. data/vendor/github.com/zeromq/czmq/api/zproc.api +247 -0
  56. data/vendor/github.com/zeromq/czmq/api/zsock.api +412 -0
  57. data/vendor/github.com/zeromq/czmq/api/zsock_option.api +847 -0
  58. data/vendor/github.com/zeromq/czmq/api/zstr.api +119 -0
  59. data/vendor/github.com/zeromq/czmq/api/zsys.api +490 -0
  60. data/vendor/github.com/zeromq/czmq/api/ztimerset.api +69 -0
  61. data/vendor/github.com/zeromq/czmq/api/ztrie.api +80 -0
  62. data/vendor/github.com/zeromq/czmq/api/zuuid.api +82 -0
  63. data/vendor/github.com/zeromq/czmq/appveyor.yml +73 -0
  64. data/vendor/github.com/zeromq/czmq/autogen.sh +52 -0
  65. data/vendor/github.com/zeromq/czmq/bindings/jni/.gitignore +8 -0
  66. data/vendor/github.com/zeromq/czmq/bindings/jni/CMakeLists.txt +79 -0
  67. data/vendor/github.com/zeromq/czmq/bindings/jni/Findczmq.cmake +47 -0
  68. data/vendor/github.com/zeromq/czmq/bindings/jni/README.md +130 -0
  69. data/vendor/github.com/zeromq/czmq/bindings/jni/android/CMakeLists.txt +79 -0
  70. data/vendor/github.com/zeromq/czmq/bindings/jni/android/android_toolchain.cmake +52 -0
  71. data/vendor/github.com/zeromq/czmq/bindings/jni/android/build.sh +68 -0
  72. data/vendor/github.com/zeromq/czmq/bindings/jni/build.gradle +151 -0
  73. data/vendor/github.com/zeromq/czmq/bindings/jni/ci_build.sh +96 -0
  74. data/vendor/github.com/zeromq/czmq/bindings/jni/gradle/wrapper/gradle-wrapper.jar +0 -0
  75. data/vendor/github.com/zeromq/czmq/bindings/jni/gradle/wrapper/gradle-wrapper.properties +6 -0
  76. data/vendor/github.com/zeromq/czmq/bindings/jni/gradlew +164 -0
  77. data/vendor/github.com/zeromq/czmq/bindings/jni/gradlew.bat +90 -0
  78. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/.gitignore +8 -0
  79. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/configure.bat +93 -0
  80. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/platform.h +1 -0
  81. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/Common.props +21 -0
  82. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/DLL.props +16 -0
  83. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/Debug.props +29 -0
  84. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/DebugDEXE.props +21 -0
  85. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/DebugDLL.props +20 -0
  86. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/DebugLEXE.props +20 -0
  87. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/DebugLIB.props +21 -0
  88. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/DebugLTCG.props +20 -0
  89. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/DebugSEXE.props +21 -0
  90. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/EXE.props +17 -0
  91. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/LIB.props +16 -0
  92. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/LTCG.props +13 -0
  93. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/Link.props +21 -0
  94. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/Messages.props +15 -0
  95. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/Output.props +30 -0
  96. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/Release.props +41 -0
  97. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/ReleaseDEXE.props +20 -0
  98. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/ReleaseDLL.props +19 -0
  99. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/ReleaseLEXE.props +20 -0
  100. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/ReleaseLIB.props +19 -0
  101. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/ReleaseLTCG.props +19 -0
  102. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/ReleaseSEXE.props +20 -0
  103. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/Win32.props +20 -0
  104. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/properties/x64.props +23 -0
  105. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/resource.h +14 -0
  106. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/resource.rc +94 -0
  107. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2010/build.bat +48 -0
  108. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2010/call_javah.bat +84 -0
  109. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2010/czmq.sln +25 -0
  110. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2010/libczmqjni/libczmqjni.props +69 -0
  111. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2010/libczmqjni/libczmqjni.vcxproj +165 -0
  112. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2010/libczmqjni/libczmqjni.vcxproj.filters +210 -0
  113. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2012/build.bat +48 -0
  114. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2012/call_javah.bat +84 -0
  115. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2012/czmq.sln +25 -0
  116. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2012/libczmqjni/libczmqjni.props +69 -0
  117. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2012/libczmqjni/libczmqjni.vcxproj +165 -0
  118. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2012/libczmqjni/libczmqjni.vcxproj.filters +210 -0
  119. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2013/build.bat +48 -0
  120. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2013/call_javah.bat +84 -0
  121. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2013/czmq.sln +25 -0
  122. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2013/libczmqjni/libczmqjni.props +69 -0
  123. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2013/libczmqjni/libczmqjni.vcxproj +165 -0
  124. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2013/libczmqjni/libczmqjni.vcxproj.filters +210 -0
  125. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2015/build.bat +48 -0
  126. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2015/call_javah.bat +84 -0
  127. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2015/czmq.sln +25 -0
  128. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2015/libczmqjni/libczmqjni.props +69 -0
  129. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2015/libczmqjni/libczmqjni.vcxproj +165 -0
  130. data/vendor/github.com/zeromq/czmq/bindings/jni/msvc/vs2015/libczmqjni/libczmqjni.vcxproj.filters +210 -0
  131. data/vendor/github.com/zeromq/czmq/bindings/jni/settings.gradle +1 -0
  132. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zarmour.c +132 -0
  133. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zcert.c +188 -0
  134. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zcertstore.c +69 -0
  135. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zchunk.c +191 -0
  136. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zclock.c +54 -0
  137. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zconfig.c +252 -0
  138. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zdigest.c +66 -0
  139. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zdir.c +116 -0
  140. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_ZdirPatch.c +88 -0
  141. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zfile.c +186 -0
  142. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zframe.c +199 -0
  143. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zhash.c +174 -0
  144. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zhashx.c +175 -0
  145. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Ziflist.c +112 -0
  146. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zlist.c +135 -0
  147. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zlistx.c +189 -0
  148. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zloop.c +95 -0
  149. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zmsg.c +261 -0
  150. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zpoller.c +74 -0
  151. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zproc.c +278 -0
  152. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zsock.c +1310 -0
  153. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zstr.c +108 -0
  154. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zsys.c +445 -0
  155. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Ztimerset.c +68 -0
  156. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Ztrie.c +86 -0
  157. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/c/org_zeromq_czmq_Zuuid.c +125 -0
  158. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zarmour.java +148 -0
  159. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zcert.java +178 -0
  160. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zcertstore.java +94 -0
  161. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zchunk.java +204 -0
  162. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zclock.java +67 -0
  163. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zconfig.java +253 -0
  164. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zdigest.java +78 -0
  165. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zdir.java +159 -0
  166. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/ZdirPatch.java +96 -0
  167. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zfile.java +217 -0
  168. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zframe.java +212 -0
  169. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zhash.java +223 -0
  170. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zhashx.java +248 -0
  171. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Ziflist.java +124 -0
  172. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zlist.java +171 -0
  173. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zlistx.java +247 -0
  174. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zloop.java +134 -0
  175. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zmsg.java +308 -0
  176. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zpoller.java +105 -0
  177. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zproc.java +331 -0
  178. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zsock.java +1556 -0
  179. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zstr.java +117 -0
  180. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zsys.java +534 -0
  181. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Ztimerset.java +87 -0
  182. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Ztrie.java +102 -0
  183. data/vendor/github.com/zeromq/czmq/bindings/jni/src/main/java/org/zeromq/czmq/Zuuid.java +127 -0
  184. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZarmourTest.java +25 -0
  185. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZcertTest.java +25 -0
  186. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZcertstoreTest.java +25 -0
  187. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZchunkTest.java +25 -0
  188. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZclockTest.java +25 -0
  189. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZconfigTest.java +25 -0
  190. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZdigestTest.java +25 -0
  191. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZdirPatchTest.java +25 -0
  192. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZdirTest.java +25 -0
  193. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZfileTest.java +25 -0
  194. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZframeTest.java +25 -0
  195. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZhashTest.java +25 -0
  196. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZhashxTest.java +25 -0
  197. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZiflistTest.java +25 -0
  198. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZlistTest.java +25 -0
  199. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZlistxTest.java +25 -0
  200. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZloopTest.java +25 -0
  201. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZmsgTest.java +25 -0
  202. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZpollerTest.java +25 -0
  203. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZprocTest.java +25 -0
  204. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZsockTest.java +25 -0
  205. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZstrTest.java +25 -0
  206. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZsysTest.java +25 -0
  207. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZtimersetTest.java +25 -0
  208. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZtrieTest.java +25 -0
  209. data/vendor/github.com/zeromq/czmq/bindings/jni/src/test/java/org/zeromq/czmq/ZuuidTest.java +25 -0
  210. data/vendor/github.com/zeromq/czmq/bindings/lua_ffi/czmq_ffi.lua +4079 -0
  211. data/vendor/github.com/zeromq/czmq/bindings/nodejs/.gitignore +10 -0
  212. data/vendor/github.com/zeromq/czmq/bindings/nodejs/.prebuildrc +2 -0
  213. data/vendor/github.com/zeromq/czmq/bindings/nodejs/README.md +4373 -0
  214. data/vendor/github.com/zeromq/czmq/bindings/nodejs/binding.cc +8324 -0
  215. data/vendor/github.com/zeromq/czmq/bindings/nodejs/binding.gyp +49 -0
  216. data/vendor/github.com/zeromq/czmq/bindings/nodejs/binding.h +952 -0
  217. data/vendor/github.com/zeromq/czmq/bindings/nodejs/build.sh +79 -0
  218. data/vendor/github.com/zeromq/czmq/bindings/nodejs/index.js +39 -0
  219. data/vendor/github.com/zeromq/czmq/bindings/nodejs/package.json +26 -0
  220. data/vendor/github.com/zeromq/czmq/bindings/nodejs/test_binding.js +32 -0
  221. data/vendor/github.com/zeromq/czmq/bindings/python/ci_build.sh +59 -0
  222. data/vendor/github.com/zeromq/czmq/bindings/python/czmq/__init__.py +3 -0
  223. data/vendor/github.com/zeromq/czmq/bindings/python/czmq/_czmq_ctypes.py +8344 -0
  224. data/vendor/github.com/zeromq/czmq/bindings/python/test.py +1078 -0
  225. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/README.md +28 -0
  226. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zactor.py +78 -0
  227. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zargs.py +133 -0
  228. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zarmour.py +124 -0
  229. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zcert.py +132 -0
  230. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zcertstore.py +84 -0
  231. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zchunk.py +192 -0
  232. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zclock.py +59 -0
  233. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zconfig.py +211 -0
  234. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zdigest.py +64 -0
  235. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zdir.py +144 -0
  236. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/ZdirPatch.py +79 -0
  237. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zfile.py +185 -0
  238. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zframe.py +160 -0
  239. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zhash.py +197 -0
  240. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zhashx.py +271 -0
  241. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Ziflist.py +103 -0
  242. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zlist.py +176 -0
  243. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zlistx.py +235 -0
  244. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zloop.py +171 -0
  245. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zmsg.py +250 -0
  246. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zpoller.py +89 -0
  247. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zproc.py +287 -0
  248. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zsock.py +1283 -0
  249. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zstr.py +123 -0
  250. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zsys.py +532 -0
  251. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Ztimerset.py +78 -0
  252. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Ztrie.py +93 -0
  253. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/Zuuid.py +100 -0
  254. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/__init__.py +33 -0
  255. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/_cdefs.inc +4081 -0
  256. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/build.py +345 -0
  257. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/cdefs.py +4086 -0
  258. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/dlopen.py +33 -0
  259. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/czmq_cffi/utils.py +50 -0
  260. data/vendor/github.com/zeromq/czmq/bindings/python_cffi/setup.py +23 -0
  261. data/vendor/github.com/zeromq/czmq/bindings/qml/.gitignore +1 -0
  262. data/vendor/github.com/zeromq/czmq/bindings/qml/README.md +157 -0
  263. data/vendor/github.com/zeromq/czmq/bindings/qml/Rakefile +34 -0
  264. data/vendor/github.com/zeromq/czmq/bindings/qml/qml_czmq_bindings.pro +136 -0
  265. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZactor.cpp +88 -0
  266. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZactor.h +86 -0
  267. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZargs.cpp +121 -0
  268. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZargs.h +105 -0
  269. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZarmour.cpp +135 -0
  270. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZarmour.h +108 -0
  271. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZcert.cpp +166 -0
  272. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZcert.h +122 -0
  273. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZcertstore.cpp +95 -0
  274. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZcertstore.h +93 -0
  275. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZchunk.cpp +214 -0
  276. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZchunk.h +149 -0
  277. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZclock.cpp +67 -0
  278. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZclock.h +77 -0
  279. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZconfig.cpp +255 -0
  280. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZconfig.h +165 -0
  281. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZdigest.cpp +70 -0
  282. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZdigest.h +78 -0
  283. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZdir.cpp +158 -0
  284. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZdir.h +134 -0
  285. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZdirPatch.cpp +89 -0
  286. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZdirPatch.h +84 -0
  287. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZfile.cpp +204 -0
  288. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZfile.h +152 -0
  289. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZframe.cpp +200 -0
  290. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZframe.h +143 -0
  291. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZhash.cpp +219 -0
  292. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZhash.h +174 -0
  293. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZhashx.cpp +308 -0
  294. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZhashx.h +225 -0
  295. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZiflist.cpp +111 -0
  296. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZiflist.h +96 -0
  297. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZlist.cpp +184 -0
  298. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZlist.h +148 -0
  299. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZlistx.cpp +244 -0
  300. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZlistx.h +184 -0
  301. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZloop.cpp +177 -0
  302. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZloop.h +149 -0
  303. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZmsg.cpp +313 -0
  304. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZmsg.h +209 -0
  305. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZpoller.cpp +95 -0
  306. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZpoller.h +97 -0
  307. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZproc.cpp +296 -0
  308. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZproc.h +211 -0
  309. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZsock.cpp +1471 -0
  310. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZsock.h +882 -0
  311. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZstr.cpp +137 -0
  312. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZstr.h +120 -0
  313. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZsys.cpp +541 -0
  314. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZsys.h +373 -0
  315. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZtimerset.cpp +84 -0
  316. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZtimerset.h +86 -0
  317. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZtrie.cpp +101 -0
  318. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZtrie.h +95 -0
  319. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZuuid.cpp +116 -0
  320. data/vendor/github.com/zeromq/czmq/bindings/qml/src/QmlZuuid.h +99 -0
  321. data/vendor/github.com/zeromq/czmq/bindings/qml/src/qml_czmq_plugin.h +174 -0
  322. data/vendor/github.com/zeromq/czmq/bindings/qml/src/qmldir +2 -0
  323. data/vendor/github.com/zeromq/czmq/bindings/qml/test/tst_QmlCZMQ.qml +16 -0
  324. data/vendor/github.com/zeromq/czmq/bindings/qt/README.md +87 -0
  325. data/vendor/github.com/zeromq/czmq/bindings/qt/buildlib/buildlib.pro +36 -0
  326. data/vendor/github.com/zeromq/czmq/bindings/qt/common.pri +20 -0
  327. data/vendor/github.com/zeromq/czmq/bindings/qt/config.pri +1 -0
  328. data/vendor/github.com/zeromq/czmq/bindings/qt/qczmq.pro +13 -0
  329. data/vendor/github.com/zeromq/czmq/bindings/qt/selftest/main.cpp +57 -0
  330. data/vendor/github.com/zeromq/czmq/bindings/qt/selftest/selftest.pro +19 -0
  331. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qczmq.h +96 -0
  332. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qczmq.pri +81 -0
  333. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzactor.cpp +98 -0
  334. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzactor.h +61 -0
  335. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzargs.cpp +130 -0
  336. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzargs.h +72 -0
  337. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzarmour.cpp +162 -0
  338. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzarmour.h +83 -0
  339. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzcert.cpp +191 -0
  340. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzcert.h +97 -0
  341. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzcertstore.cpp +105 -0
  342. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzcertstore.h +68 -0
  343. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzchunk.cpp +250 -0
  344. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzchunk.h +124 -0
  345. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzclock.cpp +78 -0
  346. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzclock.h +52 -0
  347. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzconfig.cpp +292 -0
  348. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzconfig.h +140 -0
  349. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzdigest.cpp +80 -0
  350. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzdigest.h +53 -0
  351. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzdir.cpp +176 -0
  352. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzdir.h +109 -0
  353. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzdirpatch.cpp +101 -0
  354. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzdirpatch.h +59 -0
  355. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzfile.cpp +243 -0
  356. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzfile.h +127 -0
  357. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzframe.cpp +231 -0
  358. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzframe.h +118 -0
  359. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzhash.cpp +250 -0
  360. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzhash.h +149 -0
  361. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzhashx.cpp +350 -0
  362. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzhashx.h +200 -0
  363. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qziflist.cpp +133 -0
  364. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qziflist.h +71 -0
  365. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzlist.cpp +220 -0
  366. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzlist.h +123 -0
  367. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzlistx.cpp +296 -0
  368. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzlistx.h +159 -0
  369. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzloop.cpp +211 -0
  370. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzloop.h +124 -0
  371. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzmsg.cpp +354 -0
  372. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzmsg.h +184 -0
  373. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzpoller.cpp +100 -0
  374. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzpoller.h +67 -0
  375. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzproc.cpp +365 -0
  376. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzproc.h +186 -0
  377. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzsock.cpp +1719 -0
  378. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzsock.h +815 -0
  379. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzstr.cpp +128 -0
  380. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzstr.h +78 -0
  381. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzsys.cpp +600 -0
  382. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzsys.h +321 -0
  383. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qztimerset.cpp +98 -0
  384. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qztimerset.h +61 -0
  385. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qztrie.cpp +117 -0
  386. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qztrie.h +70 -0
  387. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzuuid.cpp +135 -0
  388. data/vendor/github.com/zeromq/czmq/bindings/qt/src/qzuuid.h +74 -0
  389. data/vendor/github.com/zeromq/czmq/bindings/ruby/Rakefile +8 -0
  390. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi.rb +875 -0
  391. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/version.rb +15 -0
  392. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zactor.rb +219 -0
  393. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zargs.rb +259 -0
  394. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zarmour.rb +286 -0
  395. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zcert.rb +304 -0
  396. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zcertstore.rb +224 -0
  397. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zchunk.rb +388 -0
  398. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zclock.rb +140 -0
  399. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zconfig.rb +462 -0
  400. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zdigest.rb +156 -0
  401. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zdir.rb +283 -0
  402. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zdir_patch.rb +194 -0
  403. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zfile.rb +361 -0
  404. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zframe.rb +360 -0
  405. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zhash.rb +386 -0
  406. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zhashx.rb +617 -0
  407. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/ziflist.rb +219 -0
  408. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zlist.rb +365 -0
  409. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zlistx.rb +478 -0
  410. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zloop.rb +396 -0
  411. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zmsg.rb +515 -0
  412. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zpoller.rb +194 -0
  413. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zproc.rb +497 -0
  414. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zsock.rb +4673 -0
  415. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zstr.rb +242 -0
  416. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zsys.rb +836 -0
  417. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/ztimerset.rb +203 -0
  418. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/ztrie.rb +221 -0
  419. data/vendor/github.com/zeromq/czmq/bindings/ruby/lib/czmq/ffi/zuuid.rb +227 -0
  420. data/vendor/github.com/zeromq/czmq/bindings/ruby/spec/ffi_spec.rb +15 -0
  421. data/vendor/github.com/zeromq/czmq/bindings/ruby/spec/spec_helper.rb +8 -0
  422. data/vendor/github.com/zeromq/czmq/builds/android/android_build_helper.sh +298 -0
  423. data/vendor/github.com/zeromq/czmq/builds/android/build.sh +94 -0
  424. data/vendor/github.com/zeromq/czmq/builds/android/ci_build.sh +41 -0
  425. data/vendor/github.com/zeromq/czmq/builds/check_zproject/ci_build.sh +52 -0
  426. data/vendor/github.com/zeromq/czmq/builds/check_zproto/ci_build.sh +23 -0
  427. data/vendor/github.com/zeromq/czmq/builds/cmake/ci_build.sh +93 -0
  428. data/vendor/github.com/zeromq/czmq/builds/cygwin/Makefile.cygwin +32 -0
  429. data/vendor/github.com/zeromq/czmq/builds/docs/ci_build.sh +24 -0
  430. data/vendor/github.com/zeromq/czmq/builds/gyp/.gitignore +5 -0
  431. data/vendor/github.com/zeromq/czmq/builds/gyp/README.md +33 -0
  432. data/vendor/github.com/zeromq/czmq/builds/gyp/platform.h +46 -0
  433. data/vendor/github.com/zeromq/czmq/builds/gyp/project.gyp +195 -0
  434. data/vendor/github.com/zeromq/czmq/builds/mingw32/Makefile.mingw32 +33 -0
  435. data/vendor/github.com/zeromq/czmq/builds/mingw32/platform.h +0 -0
  436. data/vendor/github.com/zeromq/czmq/builds/msvc/.gitignore +8 -0
  437. data/vendor/github.com/zeromq/czmq/builds/msvc/configure.bat +93 -0
  438. data/vendor/github.com/zeromq/czmq/builds/msvc/nuget/package.bat +14 -0
  439. data/vendor/github.com/zeromq/czmq/builds/msvc/nuget/package.nuspec +92 -0
  440. data/vendor/github.com/zeromq/czmq/builds/msvc/nuget/package.targets +128 -0
  441. data/vendor/github.com/zeromq/czmq/builds/msvc/nuget/package.xml +29 -0
  442. data/vendor/github.com/zeromq/czmq/builds/msvc/platform.h +1 -0
  443. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/Common.props +21 -0
  444. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/DLL.props +16 -0
  445. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/Debug.props +29 -0
  446. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/DebugDEXE.props +21 -0
  447. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/DebugDLL.props +20 -0
  448. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/DebugLEXE.props +20 -0
  449. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/DebugLIB.props +21 -0
  450. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/DebugLTCG.props +20 -0
  451. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/DebugSEXE.props +21 -0
  452. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/EXE.props +17 -0
  453. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/LIB.props +16 -0
  454. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/LTCG.props +13 -0
  455. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/Link.props +21 -0
  456. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/Messages.props +15 -0
  457. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/Output.props +30 -0
  458. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/Release.props +41 -0
  459. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/ReleaseDEXE.props +20 -0
  460. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/ReleaseDLL.props +19 -0
  461. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/ReleaseLEXE.props +20 -0
  462. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/ReleaseLIB.props +19 -0
  463. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/ReleaseLTCG.props +19 -0
  464. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/ReleaseSEXE.props +20 -0
  465. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/Win32.props +20 -0
  466. data/vendor/github.com/zeromq/czmq/builds/msvc/properties/x64.props +23 -0
  467. data/vendor/github.com/zeromq/czmq/builds/msvc/resource.h +14 -0
  468. data/vendor/github.com/zeromq/czmq/builds/msvc/resource.rc +94 -0
  469. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2008/czmq/czmq.sln +65 -0
  470. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2008/czmq/czmq.vcproj +1411 -0
  471. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/.gitignore +1 -0
  472. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/build.bat +129 -0
  473. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/czmq.import.props +59 -0
  474. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/czmq.sln +81 -0
  475. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/czmq_selftest/czmq_selftest.props +75 -0
  476. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/czmq_selftest/czmq_selftest.vcxproj +146 -0
  477. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/libczmq/libczmq.import.xml +29 -0
  478. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/libczmq/libczmq.props +81 -0
  479. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/libczmq/libczmq.vcxproj +215 -0
  480. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/libczmq/libczmq.vcxproj.filters +203 -0
  481. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/test_randof/test_randof.props +75 -0
  482. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/test_randof/test_randof.vcxproj +146 -0
  483. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/zmakecert/zmakecert.props +75 -0
  484. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/zmakecert/zmakecert.vcxproj +146 -0
  485. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/zsp/zsp.props +75 -0
  486. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2010/zsp/zsp.vcxproj +146 -0
  487. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/.gitignore +1 -0
  488. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/build.bat +129 -0
  489. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/czmq.import.props +59 -0
  490. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/czmq.sln +81 -0
  491. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/czmq_selftest/czmq_selftest.props +75 -0
  492. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/czmq_selftest/czmq_selftest.vcxproj +146 -0
  493. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/libczmq/libczmq.import.xml +29 -0
  494. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/libczmq/libczmq.props +81 -0
  495. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/libczmq/libczmq.vcxproj +215 -0
  496. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/libczmq/libczmq.vcxproj.filters +203 -0
  497. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/test_randof/test_randof.props +75 -0
  498. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/test_randof/test_randof.vcxproj +146 -0
  499. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/zmakecert/zmakecert.props +75 -0
  500. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/zmakecert/zmakecert.vcxproj +146 -0
  501. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/zsp/zsp.props +75 -0
  502. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2012/zsp/zsp.vcxproj +146 -0
  503. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2013/build.bat +129 -0
  504. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2013/czmq.import.props +59 -0
  505. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2013/czmq.sln +81 -0
  506. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2013/czmq_selftest/czmq_selftest.props +75 -0
  507. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2013/czmq_selftest/czmq_selftest.vcxproj +146 -0
  508. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2013/libczmq/libczmq.import.xml +29 -0
  509. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2013/libczmq/libczmq.props +81 -0
  510. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2013/libczmq/libczmq.vcxproj +215 -0
  511. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2013/libczmq/libczmq.vcxproj.filters +203 -0
  512. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2013/test_randof/test_randof.props +75 -0
  513. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2013/test_randof/test_randof.vcxproj +146 -0
  514. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2013/zmakecert/zmakecert.props +75 -0
  515. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2013/zmakecert/zmakecert.vcxproj +146 -0
  516. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2013/zsp/zsp.props +75 -0
  517. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2013/zsp/zsp.vcxproj +146 -0
  518. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2015/build.bat +129 -0
  519. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2015/czmq.import.props +59 -0
  520. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2015/czmq.sln +81 -0
  521. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2015/czmq_selftest/czmq_selftest.props +75 -0
  522. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2015/czmq_selftest/czmq_selftest.vcxproj +146 -0
  523. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2015/libczmq/libczmq.import.xml +29 -0
  524. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2015/libczmq/libczmq.props +81 -0
  525. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2015/libczmq/libczmq.vcxproj +215 -0
  526. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2015/libczmq/libczmq.vcxproj.filters +203 -0
  527. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2015/test_randof/test_randof.props +75 -0
  528. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2015/test_randof/test_randof.vcxproj +146 -0
  529. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2015/zmakecert/zmakecert.props +75 -0
  530. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2015/zmakecert/zmakecert.vcxproj +146 -0
  531. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2015/zsp/zsp.props +75 -0
  532. data/vendor/github.com/zeromq/czmq/builds/msvc/vs2015/zsp/zsp.vcxproj +146 -0
  533. data/vendor/github.com/zeromq/czmq/builds/nuget/czmq.autobuild +49 -0
  534. data/vendor/github.com/zeromq/czmq/builds/nuget/readme.nuget +18 -0
  535. data/vendor/github.com/zeromq/czmq/builds/rpi/.gitignore +8 -0
  536. data/vendor/github.com/zeromq/czmq/builds/rpi/README.md +62 -0
  537. data/vendor/github.com/zeromq/czmq/builds/rpi/build.sh +142 -0
  538. data/vendor/github.com/zeromq/czmq/builds/rpi/build_image.sh +32 -0
  539. data/vendor/github.com/zeromq/czmq/builds/rpi/prepare_img.sh +111 -0
  540. data/vendor/github.com/zeromq/czmq/builds/stable_zmq/ci_build.sh +62 -0
  541. data/vendor/github.com/zeromq/czmq/builds/valgrind/ci_build.sh +43 -0
  542. data/vendor/github.com/zeromq/czmq/ci_build.sh +317 -0
  543. data/vendor/github.com/zeromq/czmq/ci_deploy.sh +29 -0
  544. data/vendor/github.com/zeromq/czmq/ci_deploy_obs.sh +23 -0
  545. data/vendor/github.com/zeromq/czmq/configure.ac +856 -0
  546. data/vendor/github.com/zeromq/czmq/doc/.gitignore +91 -0
  547. data/vendor/github.com/zeromq/czmq/doc/Makefile.am +222 -0
  548. data/vendor/github.com/zeromq/czmq/doc/asciidoc.conf +64 -0
  549. data/vendor/github.com/zeromq/czmq/doc/czmq.adoc +51 -0
  550. data/vendor/github.com/zeromq/czmq/doc/czmq.txt +380 -0
  551. data/vendor/github.com/zeromq/czmq/doc/mkman +217 -0
  552. data/vendor/github.com/zeromq/czmq/doc/mkmans +15 -0
  553. data/vendor/github.com/zeromq/czmq/doc/wdput +43 -0
  554. data/vendor/github.com/zeromq/czmq/examples/security/LICENSE +18 -0
  555. data/vendor/github.com/zeromq/czmq/examples/security/README.txt +9 -0
  556. data/vendor/github.com/zeromq/czmq/examples/security/grasslands.c +32 -0
  557. data/vendor/github.com/zeromq/czmq/examples/security/hello.c +13 -0
  558. data/vendor/github.com/zeromq/czmq/examples/security/ironhouse.c +64 -0
  559. data/vendor/github.com/zeromq/czmq/examples/security/ironhouse2.c +123 -0
  560. data/vendor/github.com/zeromq/czmq/examples/security/ironhouse2_v2.c +107 -0
  561. data/vendor/github.com/zeromq/czmq/examples/security/passwords +2 -0
  562. data/vendor/github.com/zeromq/czmq/examples/security/stonehouse.c +59 -0
  563. data/vendor/github.com/zeromq/czmq/examples/security/strawhouse.c +49 -0
  564. data/vendor/github.com/zeromq/czmq/examples/security/woodhouse.c +47 -0
  565. data/vendor/github.com/zeromq/czmq/images/README_1.png +0 -0
  566. data/vendor/github.com/zeromq/czmq/include/.gitignore +1 -0
  567. data/vendor/github.com/zeromq/czmq/include/czmq.h +39 -0
  568. data/vendor/github.com/zeromq/czmq/include/czmq_library.h +190 -0
  569. data/vendor/github.com/zeromq/czmq/include/czmq_prelude.h +735 -0
  570. data/vendor/github.com/zeromq/czmq/include/test_zgossip.h +44 -0
  571. data/vendor/github.com/zeromq/czmq/include/zactor.h +94 -0
  572. data/vendor/github.com/zeromq/czmq/include/zargs.h +134 -0
  573. data/vendor/github.com/zeromq/czmq/include/zarmour.h +114 -0
  574. data/vendor/github.com/zeromq/czmq/include/zauth.h +100 -0
  575. data/vendor/github.com/zeromq/czmq/include/zbeacon.h +86 -0
  576. data/vendor/github.com/zeromq/czmq/include/zcert.h +133 -0
  577. data/vendor/github.com/zeromq/czmq/include/zcertstore.h +101 -0
  578. data/vendor/github.com/zeromq/czmq/include/zchunk.h +163 -0
  579. data/vendor/github.com/zeromq/czmq/include/zclock.h +73 -0
  580. data/vendor/github.com/zeromq/czmq/include/zconfig.h +199 -0
  581. data/vendor/github.com/zeromq/czmq/include/zdigest.h +65 -0
  582. data/vendor/github.com/zeromq/czmq/include/zdir.h +149 -0
  583. data/vendor/github.com/zeromq/czmq/include/zdir_patch.h +82 -0
  584. data/vendor/github.com/zeromq/czmq/include/zfile.h +185 -0
  585. data/vendor/github.com/zeromq/czmq/include/zframe.h +177 -0
  586. data/vendor/github.com/zeromq/czmq/include/zgossip.h +95 -0
  587. data/vendor/github.com/zeromq/czmq/include/zhash.h +183 -0
  588. data/vendor/github.com/zeromq/czmq/include/zhashx.h +279 -0
  589. data/vendor/github.com/zeromq/czmq/include/ziflist.h +98 -0
  590. data/vendor/github.com/zeromq/czmq/include/zlist.h +158 -0
  591. data/vendor/github.com/zeromq/czmq/include/zlistx.h +205 -0
  592. data/vendor/github.com/zeromq/czmq/include/zloop.h +163 -0
  593. data/vendor/github.com/zeromq/czmq/include/zmonitor.h +73 -0
  594. data/vendor/github.com/zeromq/czmq/include/zmsg.h +280 -0
  595. data/vendor/github.com/zeromq/czmq/include/zpoller.h +87 -0
  596. data/vendor/github.com/zeromq/czmq/include/zproc.h +270 -0
  597. data/vendor/github.com/zeromq/czmq/include/zproxy.h +111 -0
  598. data/vendor/github.com/zeromq/czmq/include/zrex.h +82 -0
  599. data/vendor/github.com/zeromq/czmq/include/zsock.h +1209 -0
  600. data/vendor/github.com/zeromq/czmq/include/zstr.h +135 -0
  601. data/vendor/github.com/zeromq/czmq/include/zsys.h +439 -0
  602. data/vendor/github.com/zeromq/czmq/include/ztimerset.h +90 -0
  603. data/vendor/github.com/zeromq/czmq/include/ztrie.h +106 -0
  604. data/vendor/github.com/zeromq/czmq/include/zuuid.h +96 -0
  605. data/vendor/github.com/zeromq/czmq/issues/README.md +6 -0
  606. data/vendor/github.com/zeromq/czmq/issues/c +520 -0
  607. data/vendor/github.com/zeromq/czmq/issues/issue-407.c +146 -0
  608. data/vendor/github.com/zeromq/czmq/license.xml +9 -0
  609. data/vendor/github.com/zeromq/czmq/mkdoc +7 -0
  610. data/vendor/github.com/zeromq/czmq/model/chkopts.pl +47 -0
  611. data/vendor/github.com/zeromq/czmq/model/rename_class +42 -0
  612. data/vendor/github.com/zeromq/czmq/packaging/debian/changelog +5 -0
  613. data/vendor/github.com/zeromq/czmq/packaging/debian/compat +1 -0
  614. data/vendor/github.com/zeromq/czmq/packaging/debian/control +86 -0
  615. data/vendor/github.com/zeromq/czmq/packaging/debian/copyright +13 -0
  616. data/vendor/github.com/zeromq/czmq/packaging/debian/czmq.dsc.obs +20 -0
  617. data/vendor/github.com/zeromq/czmq/packaging/debian/czmq.install +2 -0
  618. data/vendor/github.com/zeromq/czmq/packaging/debian/czmq.manpages +1 -0
  619. data/vendor/github.com/zeromq/czmq/packaging/debian/format +1 -0
  620. data/vendor/github.com/zeromq/czmq/packaging/debian/libczmq-dev.install +4 -0
  621. data/vendor/github.com/zeromq/czmq/packaging/debian/libczmq-dev.manpages +2 -0
  622. data/vendor/github.com/zeromq/czmq/packaging/debian/libczmq4.install +1 -0
  623. data/vendor/github.com/zeromq/czmq/packaging/debian/rules +96 -0
  624. data/vendor/github.com/zeromq/czmq/packaging/dist/gitlog2changelog.py +125 -0
  625. data/vendor/github.com/zeromq/czmq/packaging/obs/_service +91 -0
  626. data/vendor/github.com/zeromq/czmq/packaging/redhat/czmq.spec +202 -0
  627. data/vendor/github.com/zeromq/czmq/project.gyp +121 -0
  628. data/vendor/github.com/zeromq/czmq/project.xml +99 -0
  629. data/vendor/github.com/zeromq/czmq/setup.py +9 -0
  630. data/vendor/github.com/zeromq/czmq/src/.gitignore +20 -0
  631. data/vendor/github.com/zeromq/czmq/src/.valgrind.supp +33 -0
  632. data/vendor/github.com/zeromq/czmq/src/CMakeLists-local.txt +22 -0
  633. data/vendor/github.com/zeromq/czmq/src/Makemodule-local.am +15 -0
  634. data/vendor/github.com/zeromq/czmq/src/Makemodule.am +353 -0
  635. data/vendor/github.com/zeromq/czmq/src/czmq_classes.h +388 -0
  636. data/vendor/github.com/zeromq/czmq/src/czmq_private_selftest.c +40 -0
  637. data/vendor/github.com/zeromq/czmq/src/czmq_selftest.c +220 -0
  638. data/vendor/github.com/zeromq/czmq/src/foreign/sha1/sha1.h +76 -0
  639. data/vendor/github.com/zeromq/czmq/src/foreign/sha1/sha1.inc_c +335 -0
  640. data/vendor/github.com/zeromq/czmq/src/foreign/slre/readme.txt +83 -0
  641. data/vendor/github.com/zeromq/czmq/src/foreign/slre/slre.h +92 -0
  642. data/vendor/github.com/zeromq/czmq/src/foreign/slre/slre.inc_c +660 -0
  643. data/vendor/github.com/zeromq/czmq/src/libczmq.pc.in +24 -0
  644. data/vendor/github.com/zeromq/czmq/src/python_cffi.inc +17 -0
  645. data/vendor/github.com/zeromq/czmq/src/selftest-ro/.gitkeep +0 -0
  646. data/vendor/github.com/zeromq/czmq/src/selftest.cfg +5 -0
  647. data/vendor/github.com/zeromq/czmq/src/sockopts.gsl +36 -0
  648. data/vendor/github.com/zeromq/czmq/src/sockopts.xml +193 -0
  649. data/vendor/github.com/zeromq/czmq/src/test_randof.c +182 -0
  650. data/vendor/github.com/zeromq/czmq/src/test_zgossip.c +188 -0
  651. data/vendor/github.com/zeromq/czmq/src/valgrind.supp +14 -0
  652. data/vendor/github.com/zeromq/czmq/src/zactor.c +338 -0
  653. data/vendor/github.com/zeromq/czmq/src/zargs.c +289 -0
  654. data/vendor/github.com/zeromq/czmq/src/zarmour.c +941 -0
  655. data/vendor/github.com/zeromq/czmq/src/zauth.c +821 -0
  656. data/vendor/github.com/zeromq/czmq/src/zbeacon.c +651 -0
  657. data/vendor/github.com/zeromq/czmq/src/zcert.c +557 -0
  658. data/vendor/github.com/zeromq/czmq/src/zcertstore.c +407 -0
  659. data/vendor/github.com/zeromq/czmq/src/zchunk.c +609 -0
  660. data/vendor/github.com/zeromq/czmq/src/zclock.c +237 -0
  661. data/vendor/github.com/zeromq/czmq/src/zconfig.c +1369 -0
  662. data/vendor/github.com/zeromq/czmq/src/zdigest.c +163 -0
  663. data/vendor/github.com/zeromq/czmq/src/zdir.c +1138 -0
  664. data/vendor/github.com/zeromq/czmq/src/zdir_patch.c +227 -0
  665. data/vendor/github.com/zeromq/czmq/src/zfile.c +920 -0
  666. data/vendor/github.com/zeromq/czmq/src/zframe.c +756 -0
  667. data/vendor/github.com/zeromq/czmq/src/zgossip.c +689 -0
  668. data/vendor/github.com/zeromq/czmq/src/zgossip.xml +57 -0
  669. data/vendor/github.com/zeromq/czmq/src/zgossip_engine.inc +1008 -0
  670. data/vendor/github.com/zeromq/czmq/src/zgossip_msg.bnf +43 -0
  671. data/vendor/github.com/zeromq/czmq/src/zgossip_msg.c +688 -0
  672. data/vendor/github.com/zeromq/czmq/src/zgossip_msg.h +127 -0
  673. data/vendor/github.com/zeromq/czmq/src/zgossip_msg.xml +46 -0
  674. data/vendor/github.com/zeromq/czmq/src/zhash.c +956 -0
  675. data/vendor/github.com/zeromq/czmq/src/zhash_primes.inc +329 -0
  676. data/vendor/github.com/zeromq/czmq/src/zhashx.c +1369 -0
  677. data/vendor/github.com/zeromq/czmq/src/ziflist.c +517 -0
  678. data/vendor/github.com/zeromq/czmq/src/zlist.c +634 -0
  679. data/vendor/github.com/zeromq/czmq/src/zlistx.c +753 -0
  680. data/vendor/github.com/zeromq/czmq/src/zloop.c +1000 -0
  681. data/vendor/github.com/zeromq/czmq/src/zmakecert.c +64 -0
  682. data/vendor/github.com/zeromq/czmq/src/zmonitor.c +447 -0
  683. data/vendor/github.com/zeromq/czmq/src/zmsg.c +1258 -0
  684. data/vendor/github.com/zeromq/czmq/src/zpoller.c +397 -0
  685. data/vendor/github.com/zeromq/czmq/src/zproc.c +1160 -0
  686. data/vendor/github.com/zeromq/czmq/src/zproxy.c +791 -0
  687. data/vendor/github.com/zeromq/czmq/src/zrex.c +310 -0
  688. data/vendor/github.com/zeromq/czmq/src/zsock.c +2207 -0
  689. data/vendor/github.com/zeromq/czmq/src/zsock_option.gsl +404 -0
  690. data/vendor/github.com/zeromq/czmq/src/zsock_option.inc +3946 -0
  691. data/vendor/github.com/zeromq/czmq/src/zsp.c +118 -0
  692. data/vendor/github.com/zeromq/czmq/src/zstr.c +548 -0
  693. data/vendor/github.com/zeromq/czmq/src/zsys.c +2225 -0
  694. data/vendor/github.com/zeromq/czmq/src/ztimerset.c +227 -0
  695. data/vendor/github.com/zeromq/czmq/src/ztrie.c +809 -0
  696. data/vendor/github.com/zeromq/czmq/src/zuuid.c +344 -0
  697. metadata +780 -0
@@ -0,0 +1,10 @@
1
+ node_modules
2
+ build
3
+ binding.Makefile
4
+ *.mk
5
+ out/
6
+ Makefile
7
+ logs
8
+ *.log
9
+ npm-debug.log*
10
+ libzmq/
@@ -0,0 +1,2 @@
1
+ prebuild[] = 4.2.4
2
+ prebuild[] = 5.6.0
@@ -0,0 +1,4373 @@
1
+ # Node.js Binding for CZMQ
2
+
3
+ This is a development kit. Note: this README is generated automatically
4
+ by zproject from project.xml. Please DO NOT modify by hand except for test
5
+ purposes.
6
+
7
+ ## Prerequisites
8
+
9
+ ### Node.js
10
+
11
+ * You need Python (v2.7 recommended, v3.x not supported)
12
+ * You need (I recommend) nvm and Node.js.
13
+ * If your Linux has an existing 'node' command, `sudo apt-get remove node`.
14
+ * In every terminal, or .bashrc: `nvm use v5.5.0`
15
+
16
+ To install the necessary Node tools:
17
+
18
+ ```
19
+ sudo apt-get update
20
+ sudo apt-get install build-essential libssl-dev
21
+ curl https://raw.githubusercontent.com/creationix/nvm/v0.11.1/install.sh | bash
22
+ # close terminal, re-open
23
+ nvm ls-remote
24
+ nvm install v5.5.0
25
+ npm install -g nan
26
+ npm install -g node-ninja
27
+ npm install -g prebuild
28
+ npm install -g bindings
29
+ ```
30
+
31
+ To build:
32
+
33
+ ```
34
+ mkdir -p $HOME/temp
35
+ cd $HOME/temp
36
+ git clone https://github.com/zeromq/czmq
37
+ cd czmq/bindings/nodejs
38
+ # Clones dependencies, builds everything
39
+ ./build.sh
40
+ ```
41
+
42
+ ## API
43
+
44
+ This is a wrapping of the native C libczmq library. See binding.cc for the code.
45
+
46
+ ### The Zargs class - Platform independent command line argument parsing helpers
47
+
48
+ There are two kind of elements provided by this class
49
+ foo --named-parameter --parameter with_value positional arguments -a gain-parameter
50
+ zargs keeps poision only for arguments, parameters are to be accessed like hash.
51
+
52
+ It DOES:
53
+ * provide easy to use CLASS compatible API for accessing argv
54
+ * is platform independent
55
+ * provide getopt_long style -- argument, which delimits parameters from arguments
56
+ * makes parameters positon independent
57
+
58
+ It does NOT
59
+ * change argv
60
+ * provide a "declarative" way to define command line interface
61
+
62
+ In future it SHALL
63
+ * hide several formats of command line to one (-Idir, --include=dir,
64
+ --include dir are the same from API pov)
65
+
66
+ Constructor:
67
+
68
+ ```
69
+ var czmq = require ('bindings')('czmq')
70
+ var my_zargs = new czmq.Zargs (Number, String)
71
+ ```
72
+
73
+ You *must* call the destructor on every Zargs instance:
74
+
75
+ ```
76
+ my_zargs.destroy ()
77
+ ```
78
+
79
+ Methods:
80
+
81
+ ```
82
+ string my_zargs.progname ()
83
+ ```
84
+
85
+ Return program name (argv[0])
86
+
87
+ ```
88
+ size my_zargs.arguments ()
89
+ ```
90
+
91
+ Return number of positional arguments
92
+
93
+ ```
94
+ string my_zargs.first ()
95
+ ```
96
+
97
+ Return first positional argument or NULL
98
+
99
+ ```
100
+ string my_zargs.next ()
101
+ ```
102
+
103
+ Return next positional argument or NULL
104
+
105
+ ```
106
+ string my_zargs.paramFirst ()
107
+ ```
108
+
109
+ Return first named parameter value, or NULL if there are no named
110
+ parameters, or value for which zargs_param_empty (arg) returns true.
111
+
112
+ ```
113
+ string my_zargs.paramNext ()
114
+ ```
115
+
116
+ Return next named parameter value, or NULL if there are no named
117
+ parameters, or value for which zargs_param_empty (arg) returns true.
118
+
119
+ ```
120
+ string my_zargs.paramName ()
121
+ ```
122
+
123
+ Return current parameter name, or NULL if there are no named
124
+ parameters.
125
+
126
+ ```
127
+ string my_zargs.paramLookup (String)
128
+ ```
129
+
130
+ Return value of named parameter, NULL if no given parameter has
131
+ been specified, or special value for wich zargs_param_empty ()
132
+ returns true.
133
+
134
+ ```
135
+ string my_zargs.paramLookupx (String)
136
+ ```
137
+
138
+ Return value of named parameter(s), NULL if no given parameter has
139
+ been specified, or special value for wich zargs_param_empty ()
140
+ returns true.
141
+
142
+ ```
143
+ boolean my_zargs.hasHelp ()
144
+ ```
145
+
146
+ Returns true if there are --help -h arguments
147
+
148
+ ```
149
+ boolean my_zargs.paramEmpty (String)
150
+ ```
151
+
152
+ Returns true if parameter did not have a value
153
+
154
+ ```
155
+ nothing my_zargs.print ()
156
+ ```
157
+
158
+ Print an instance of zargs.
159
+
160
+ ```
161
+ nothing my_zargs.test (Boolean)
162
+ ```
163
+
164
+ Self test of this class.
165
+
166
+ ### The Zarmour class - armoured text encoding and decoding
167
+
168
+ Constructor:
169
+
170
+ ```
171
+ var czmq = require ('bindings')('czmq')
172
+ var my_zarmour = new czmq.Zarmour ()
173
+ ```
174
+
175
+ You *must* call the destructor on every Zarmour instance:
176
+
177
+ ```
178
+ my_zarmour.destroy ()
179
+ ```
180
+
181
+ Methods:
182
+
183
+ ```
184
+ string my_zarmour.encode (String)
185
+ ```
186
+
187
+ Encode a stream of bytes into an armoured string. Returns the armoured
188
+ string, or NULL if there was insufficient memory available to allocate
189
+ a new string.
190
+
191
+ ```
192
+ zchunk my_zarmour.decode (String)
193
+ ```
194
+
195
+ Decode an armoured string into a chunk. The decoded output is
196
+ null-terminated, so it may be treated as a string, if that's what
197
+ it was prior to encoding.
198
+
199
+ ```
200
+ integer my_zarmour.mode ()
201
+ ```
202
+
203
+ Get the mode property.
204
+
205
+ ```
206
+ string my_zarmour.modeStr ()
207
+ ```
208
+
209
+ Get printable string for mode.
210
+
211
+ ```
212
+ nothing my_zarmour.setMode (Number)
213
+ ```
214
+
215
+ Set the mode property.
216
+
217
+ ```
218
+ boolean my_zarmour.pad ()
219
+ ```
220
+
221
+ Return true if padding is turned on.
222
+
223
+ ```
224
+ nothing my_zarmour.setPad (Boolean)
225
+ ```
226
+
227
+ Turn padding on or off. Default is on.
228
+
229
+ ```
230
+ char my_zarmour.padChar ()
231
+ ```
232
+
233
+ Get the padding character.
234
+
235
+ ```
236
+ nothing my_zarmour.setPadChar (String)
237
+ ```
238
+
239
+ Set the padding character.
240
+
241
+ ```
242
+ boolean my_zarmour.lineBreaks ()
243
+ ```
244
+
245
+ Return if splitting output into lines is turned on. Default is off.
246
+
247
+ ```
248
+ nothing my_zarmour.setLineBreaks (Boolean)
249
+ ```
250
+
251
+ Turn splitting output into lines on or off.
252
+
253
+ ```
254
+ size my_zarmour.lineLength ()
255
+ ```
256
+
257
+ Get the line length used for splitting lines.
258
+
259
+ ```
260
+ nothing my_zarmour.setLineLength ()
261
+ ```
262
+
263
+ Set the line length used for splitting lines.
264
+
265
+ ```
266
+ nothing my_zarmour.print ()
267
+ ```
268
+
269
+ Print properties of object
270
+
271
+ ```
272
+ nothing my_zarmour.test (Boolean)
273
+ ```
274
+
275
+ Self test of this class.
276
+
277
+ ### The Zcert class - work with CURVE security certificates
278
+
279
+ Constructor:
280
+
281
+ ```
282
+ var czmq = require ('bindings')('czmq')
283
+ var my_zcert = new czmq.Zcert ()
284
+ ```
285
+
286
+ You *must* call the destructor on every Zcert instance:
287
+
288
+ ```
289
+ my_zcert.destroy ()
290
+ ```
291
+
292
+ Methods:
293
+
294
+ ```
295
+ buffer my_zcert.publicKey ()
296
+ ```
297
+
298
+ Return public part of key pair as 32-byte binary string
299
+
300
+ ```
301
+ buffer my_zcert.secretKey ()
302
+ ```
303
+
304
+ Return secret part of key pair as 32-byte binary string
305
+
306
+ ```
307
+ string my_zcert.publicTxt ()
308
+ ```
309
+
310
+ Return public part of key pair as Z85 armored string
311
+
312
+ ```
313
+ string my_zcert.secretTxt ()
314
+ ```
315
+
316
+ Return secret part of key pair as Z85 armored string
317
+
318
+ ```
319
+ nothing my_zcert.setMeta (String, String)
320
+ ```
321
+
322
+ Set certificate metadata from formatted string.
323
+
324
+ ```
325
+ nothing my_zcert.unsetMeta (String)
326
+ ```
327
+
328
+ Unset certificate metadata.
329
+
330
+ ```
331
+ string my_zcert.meta (String)
332
+ ```
333
+
334
+ Get metadata value from certificate; if the metadata value doesn't
335
+ exist, returns NULL.
336
+
337
+ ```
338
+ zlist my_zcert.metaKeys ()
339
+ ```
340
+
341
+ Get list of metadata fields from certificate. Caller is responsible for
342
+ destroying list. Caller should not modify the values of list items.
343
+
344
+ ```
345
+ integer my_zcert.save (String)
346
+ ```
347
+
348
+ Save full certificate (public + secret) to file for persistent storage
349
+ This creates one public file and one secret file (filename + "_secret").
350
+
351
+ ```
352
+ integer my_zcert.savePublic (String)
353
+ ```
354
+
355
+ Save public certificate only to file for persistent storage
356
+
357
+ ```
358
+ integer my_zcert.saveSecret (String)
359
+ ```
360
+
361
+ Save secret certificate only to file for persistent storage
362
+
363
+ ```
364
+ nothing my_zcert.apply (Zsock)
365
+ ```
366
+
367
+ Apply certificate to socket, i.e. use for CURVE security on socket.
368
+ If certificate was loaded from public file, the secret key will be
369
+ undefined, and this certificate will not work successfully.
370
+
371
+ ```
372
+ zcert my_zcert.dup ()
373
+ ```
374
+
375
+ Return copy of certificate; if certificate is NULL or we exhausted
376
+ heap memory, returns NULL.
377
+
378
+ ```
379
+ boolean my_zcert.eq (Zcert)
380
+ ```
381
+
382
+ Return true if two certificates have the same keys
383
+
384
+ ```
385
+ nothing my_zcert.print ()
386
+ ```
387
+
388
+ Print certificate contents to stdout
389
+
390
+ ```
391
+ nothing my_zcert.test (Boolean)
392
+ ```
393
+
394
+ Self test of this class
395
+
396
+ ### The Zcertstore class - work with CURVE security certificate stores
397
+
398
+ Constructor:
399
+
400
+ ```
401
+ var czmq = require ('bindings')('czmq')
402
+ var my_zcertstore = new czmq.Zcertstore (String)
403
+ ```
404
+
405
+ You *must* call the destructor on every Zcertstore instance:
406
+
407
+ ```
408
+ my_zcertstore.destroy ()
409
+ ```
410
+
411
+ Methods:
412
+
413
+ ```
414
+ zcert my_zcertstore.lookup (String)
415
+ ```
416
+
417
+ Look up certificate by public key, returns zcert_t object if found,
418
+ else returns NULL. The public key is provided in Z85 text format.
419
+
420
+ ```
421
+ nothing my_zcertstore.insert (Zcert)
422
+ ```
423
+
424
+ Insert certificate into certificate store in memory. Note that this
425
+ does not save the certificate to disk. To do that, use zcert_save()
426
+ directly on the certificate. Takes ownership of zcert_t object.
427
+
428
+ ```
429
+ nothing my_zcertstore.empty ()
430
+ ```
431
+
432
+ Empty certificate hashtable. This wrapper exists to be friendly to bindings,
433
+ which don't usually have access to struct internals.
434
+
435
+ ```
436
+ nothing my_zcertstore.print ()
437
+ ```
438
+
439
+ Print list of certificates in store to logging facility
440
+
441
+ ```
442
+ zlistx my_zcertstore.certs ()
443
+ ```
444
+
445
+ Return a list of all the certificates in the store.
446
+ The caller takes ownership of the zlistx_t object and is responsible
447
+ for destroying it. The caller does not take ownership of the zcert_t
448
+ objects.
449
+
450
+ ```
451
+ nothing my_zcertstore.test (Boolean)
452
+ ```
453
+
454
+ Self test of this class
455
+
456
+ ### The Zchunk class - work with memory chunks
457
+
458
+ Constructor:
459
+
460
+ ```
461
+ var czmq = require ('bindings')('czmq')
462
+ var my_zchunk = new czmq.Zchunk (String)
463
+ ```
464
+
465
+ You *must* call the destructor on every Zchunk instance:
466
+
467
+ ```
468
+ my_zchunk.destroy ()
469
+ ```
470
+
471
+ Methods:
472
+
473
+ ```
474
+ nothing my_zchunk.resize ()
475
+ ```
476
+
477
+ Resizes chunk max_size as requested; chunk_cur size is set to zero
478
+
479
+ ```
480
+ size my_zchunk.size ()
481
+ ```
482
+
483
+ Return chunk cur size
484
+
485
+ ```
486
+ size my_zchunk.maxSize ()
487
+ ```
488
+
489
+ Return chunk max size
490
+
491
+ ```
492
+ buffer my_zchunk.data ()
493
+ ```
494
+
495
+ Return chunk data
496
+
497
+ ```
498
+ size my_zchunk.set (String)
499
+ ```
500
+
501
+ Set chunk data from user-supplied data; truncate if too large. Data may
502
+ be null. Returns actual size of chunk
503
+
504
+ ```
505
+ size my_zchunk.append (String)
506
+ ```
507
+
508
+ Append user-supplied data to chunk, return resulting chunk size. If the
509
+ data would exceeded the available space, it is truncated. If you want to
510
+ grow the chunk to accommodate new data, use the zchunk_extend method.
511
+
512
+ ```
513
+ size my_zchunk.extend (String)
514
+ ```
515
+
516
+ Append user-supplied data to chunk, return resulting chunk size. If the
517
+ data would exceeded the available space, the chunk grows in size.
518
+
519
+ ```
520
+ size my_zchunk.consume (Zchunk)
521
+ ```
522
+
523
+ Copy as much data from 'source' into the chunk as possible; returns the
524
+ new size of chunk. If all data from 'source' is used, returns exhausted
525
+ on the source chunk. Source can be consumed as many times as needed until
526
+ it is exhausted. If source was already exhausted, does not change chunk.
527
+
528
+ ```
529
+ boolean my_zchunk.exhausted ()
530
+ ```
531
+
532
+ Returns true if the chunk was exhausted by consume methods, or if the
533
+ chunk has a size of zero.
534
+
535
+ ```
536
+ zchunk my_zchunk.slurp (String)
537
+ ```
538
+
539
+ Try to slurp an entire file into a chunk. Will read up to maxsize of
540
+ the file. If maxsize is 0, will attempt to read the entire file and
541
+ fail with an assertion if that cannot fit into memory. Returns a new
542
+ chunk containing the file data, or NULL if the file could not be read.
543
+
544
+ ```
545
+ zchunk my_zchunk.dup ()
546
+ ```
547
+
548
+ Create copy of chunk, as new chunk object. Returns a fresh zchunk_t
549
+ object, or null if there was not enough heap memory. If chunk is null,
550
+ returns null.
551
+
552
+ ```
553
+ string my_zchunk.strhex ()
554
+ ```
555
+
556
+ Return chunk data encoded as printable hex string. Caller must free
557
+ string when finished with it.
558
+
559
+ ```
560
+ string my_zchunk.strdup ()
561
+ ```
562
+
563
+ Return chunk data copied into freshly allocated string
564
+ Caller must free string when finished with it.
565
+
566
+ ```
567
+ boolean my_zchunk.streq (String)
568
+ ```
569
+
570
+ Return TRUE if chunk body is equal to string, excluding terminator
571
+
572
+ ```
573
+ zframe my_zchunk.pack ()
574
+ ```
575
+
576
+ Transform zchunk into a zframe that can be sent in a message.
577
+
578
+ ```
579
+ zchunk my_zchunk.unpack (Zframe)
580
+ ```
581
+
582
+ Transform a zframe into a zchunk.
583
+
584
+ ```
585
+ string my_zchunk.digest ()
586
+ ```
587
+
588
+ Calculate SHA1 digest for chunk, using zdigest class.
589
+
590
+ ```
591
+ nothing my_zchunk.print ()
592
+ ```
593
+
594
+ Dump message to stderr, for debugging and tracing.
595
+ See zchunk_fprint for details
596
+
597
+ ```
598
+ nothing my_zchunk.test (Boolean)
599
+ ```
600
+
601
+ Self test of this class.
602
+
603
+ ### The Zclock class - millisecond clocks and delays
604
+
605
+ Constructor:
606
+
607
+ ```
608
+ var czmq = require ('bindings')('czmq')
609
+ var my_zclock = new czmq.Zclock ()
610
+ ```
611
+
612
+ Methods:
613
+
614
+ ```
615
+ nothing my_zclock.sleep (Number)
616
+ ```
617
+
618
+ Sleep for a number of milliseconds
619
+
620
+ ```
621
+ msecs my_zclock.time ()
622
+ ```
623
+
624
+ Return current system clock as milliseconds. Note that this clock can
625
+ jump backwards (if the system clock is changed) so is unsafe to use for
626
+ timers and time offsets. Use zclock_mono for that instead.
627
+
628
+ ```
629
+ msecs my_zclock.mono ()
630
+ ```
631
+
632
+ Return current monotonic clock in milliseconds. Use this when you compute
633
+ time offsets. The monotonic clock is not affected by system changes and
634
+ so will never be reset backwards, unlike a system clock.
635
+
636
+ ```
637
+ msecs my_zclock.usecs ()
638
+ ```
639
+
640
+ Return current monotonic clock in microseconds. Use this when you compute
641
+ time offsets. The monotonic clock is not affected by system changes and
642
+ so will never be reset backwards, unlike a system clock.
643
+
644
+ ```
645
+ string my_zclock.timestr ()
646
+ ```
647
+
648
+ Return formatted date/time as fresh string. Free using zstr_free().
649
+
650
+ ```
651
+ nothing my_zclock.test (Boolean)
652
+ ```
653
+
654
+ Self test of this class.
655
+
656
+ ### The Zconfig class - work with config files written in rfc.zeromq.org/spec:4/ZPL.
657
+
658
+ Constructor:
659
+
660
+ ```
661
+ var czmq = require ('bindings')('czmq')
662
+ var my_zconfig = new czmq.Zconfig (String, Zconfig)
663
+ ```
664
+
665
+ You *must* call the destructor on every Zconfig instance:
666
+
667
+ ```
668
+ my_zconfig.destroy ()
669
+ ```
670
+
671
+ Methods:
672
+
673
+ ```
674
+ string my_zconfig.name ()
675
+ ```
676
+
677
+ Return name of config item
678
+
679
+ ```
680
+ string my_zconfig.value ()
681
+ ```
682
+
683
+ Return value of config item
684
+
685
+ ```
686
+ nothing my_zconfig.put (String, String)
687
+ ```
688
+
689
+ Insert or update configuration key with value
690
+
691
+ ```
692
+ nothing my_zconfig.putf (String, String)
693
+ ```
694
+
695
+ Equivalent to zconfig_put, accepting a format specifier and variable
696
+ argument list, instead of a single string value.
697
+
698
+ ```
699
+ string my_zconfig.get (String, String)
700
+ ```
701
+
702
+ Get value for config item into a string value; leading slash is optional
703
+ and ignored.
704
+
705
+ ```
706
+ nothing my_zconfig.setName (String)
707
+ ```
708
+
709
+ Set config item name, name may be NULL
710
+
711
+ ```
712
+ nothing my_zconfig.setValue (String)
713
+ ```
714
+
715
+ Set new value for config item. The new value may be a string, a printf
716
+ format, or NULL. Note that if string may possibly contain '%', or if it
717
+ comes from an insecure source, you must use '%s' as the format, followed
718
+ by the string.
719
+
720
+ ```
721
+ zconfig my_zconfig.child ()
722
+ ```
723
+
724
+ Find our first child, if any
725
+
726
+ ```
727
+ zconfig my_zconfig.next ()
728
+ ```
729
+
730
+ Find our first sibling, if any
731
+
732
+ ```
733
+ zconfig my_zconfig.locate (String)
734
+ ```
735
+
736
+ Find a config item along a path; leading slash is optional and ignored.
737
+
738
+ ```
739
+ zconfig my_zconfig.atDepth (Number)
740
+ ```
741
+
742
+ Locate the last config item at a specified depth
743
+
744
+ ```
745
+ nothing my_zconfig.setComment (String)
746
+ ```
747
+
748
+ Add comment to config item before saving to disk. You can add as many
749
+ comment lines as you like. If you use a null format, all comments are
750
+ deleted.
751
+
752
+ ```
753
+ zlist my_zconfig.comments ()
754
+ ```
755
+
756
+ Return comments of config item, as zlist.
757
+
758
+ ```
759
+ integer my_zconfig.save (String)
760
+ ```
761
+
762
+ Save a config tree to a specified ZPL text file, where a filename
763
+ "-" means dump to standard output.
764
+
765
+ ```
766
+ integer my_zconfig.savef (String)
767
+ ```
768
+
769
+ Equivalent to zconfig_save, taking a format string instead of a fixed
770
+ filename.
771
+
772
+ ```
773
+ string my_zconfig.filename ()
774
+ ```
775
+
776
+ Report filename used during zconfig_load, or NULL if none
777
+
778
+ ```
779
+ integer my_zconfig.reload (Zconfig)
780
+ ```
781
+
782
+ Reload config tree from same file that it was previously loaded from.
783
+ Returns 0 if OK, -1 if there was an error (and then does not change
784
+ existing data).
785
+
786
+ ```
787
+ zconfig my_zconfig.chunkLoad (Zchunk)
788
+ ```
789
+
790
+ Load a config tree from a memory chunk
791
+
792
+ ```
793
+ zchunk my_zconfig.chunkSave ()
794
+ ```
795
+
796
+ Save a config tree to a new memory chunk
797
+
798
+ ```
799
+ zconfig my_zconfig.strLoad (String)
800
+ ```
801
+
802
+ Load a config tree from a null-terminated string
803
+
804
+ ```
805
+ string my_zconfig.strSave ()
806
+ ```
807
+
808
+ Save a config tree to a new null terminated string
809
+
810
+ ```
811
+ boolean my_zconfig.hasChanged ()
812
+ ```
813
+
814
+ Return true if a configuration tree was loaded from a file and that
815
+ file has changed in since the tree was loaded.
816
+
817
+ ```
818
+ nothing my_zconfig.removeSubtree ()
819
+ ```
820
+
821
+ Destroy subtree (all children)
822
+
823
+ ```
824
+ nothing my_zconfig.remove (Zconfig)
825
+ ```
826
+
827
+ Destroy node and subtree (all children)
828
+
829
+ ```
830
+ nothing my_zconfig.print ()
831
+ ```
832
+
833
+ Print properties of object
834
+
835
+ ```
836
+ nothing my_zconfig.test (Boolean)
837
+ ```
838
+
839
+ Self test of this class
840
+
841
+ ### The Zdigest class - provides hashing functions (SHA-1 at present)
842
+
843
+ Constructor:
844
+
845
+ ```
846
+ var czmq = require ('bindings')('czmq')
847
+ var my_zdigest = new czmq.Zdigest ()
848
+ ```
849
+
850
+ You *must* call the destructor on every Zdigest instance:
851
+
852
+ ```
853
+ my_zdigest.destroy ()
854
+ ```
855
+
856
+ Methods:
857
+
858
+ ```
859
+ nothing my_zdigest.update (String)
860
+ ```
861
+
862
+ Add buffer into digest calculation
863
+
864
+ ```
865
+ buffer my_zdigest.data ()
866
+ ```
867
+
868
+ Return final digest hash data. If built without crypto support,
869
+ returns NULL.
870
+
871
+ ```
872
+ size my_zdigest.size ()
873
+ ```
874
+
875
+ Return final digest hash size
876
+
877
+ ```
878
+ string my_zdigest.string ()
879
+ ```
880
+
881
+ Return digest as printable hex string; caller should not modify nor
882
+ free this string. After calling this, you may not use zdigest_update()
883
+ on the same digest. If built without crypto support, returns NULL.
884
+
885
+ ```
886
+ nothing my_zdigest.test (Boolean)
887
+ ```
888
+
889
+ Self test of this class.
890
+
891
+ ### The Zdir class - work with file-system directories
892
+
893
+ Constructor:
894
+
895
+ ```
896
+ var czmq = require ('bindings')('czmq')
897
+ var my_zdir = new czmq.Zdir (String, String)
898
+ ```
899
+
900
+ You *must* call the destructor on every Zdir instance:
901
+
902
+ ```
903
+ my_zdir.destroy ()
904
+ ```
905
+
906
+ Methods:
907
+
908
+ ```
909
+ string my_zdir.path ()
910
+ ```
911
+
912
+ Return directory path
913
+
914
+ ```
915
+ time my_zdir.modified ()
916
+ ```
917
+
918
+ Return last modification time for directory.
919
+
920
+ ```
921
+ file_size my_zdir.cursize ()
922
+ ```
923
+
924
+ Return total hierarchy size, in bytes of data contained in all files
925
+ in the directory tree.
926
+
927
+ ```
928
+ size my_zdir.count ()
929
+ ```
930
+
931
+ Return directory count
932
+
933
+ ```
934
+ zlist my_zdir.list ()
935
+ ```
936
+
937
+ Returns a sorted list of zfile objects; Each entry in the list is a pointer
938
+ to a zfile_t item already allocated in the zdir tree. Do not destroy the
939
+ original zdir tree until you are done with this list.
940
+
941
+ ```
942
+ nothing my_zdir.remove (Boolean)
943
+ ```
944
+
945
+ Remove directory, optionally including all files that it contains, at
946
+ all levels. If force is false, will only remove the directory if empty.
947
+ If force is true, will remove all files and all subdirectories.
948
+
949
+ ```
950
+ zlist my_zdir.diff (Zdir, Zdir, String)
951
+ ```
952
+
953
+ Calculate differences between two versions of a directory tree.
954
+ Returns a list of zdir_patch_t patches. Either older or newer may
955
+ be null, indicating the directory is empty/absent. If alias is set,
956
+ generates virtual filename (minus path, plus alias).
957
+
958
+ ```
959
+ zlist my_zdir.resync (String)
960
+ ```
961
+
962
+ Return full contents of directory as a zdir_patch list.
963
+
964
+ ```
965
+ zhash my_zdir.cache ()
966
+ ```
967
+
968
+ Load directory cache; returns a hash table containing the SHA-1 digests
969
+ of every file in the tree. The cache is saved between runs in .cache.
970
+
971
+ ```
972
+ nothing my_zdir.print (Number)
973
+ ```
974
+
975
+ Print contents of directory to stdout
976
+
977
+ ```
978
+ nothing my_zdir.test (Boolean)
979
+ ```
980
+
981
+ Self test of this class.
982
+
983
+ ### The ZdirPatch class - work with directory patches
984
+
985
+ Constructor:
986
+
987
+ ```
988
+ var czmq = require ('bindings')('czmq')
989
+ var my_zdir_patch = new czmq.ZdirPatch (String, Zfile, Number, String)
990
+ ```
991
+
992
+ You *must* call the destructor on every ZdirPatch instance:
993
+
994
+ ```
995
+ my_zdir_patch.destroy ()
996
+ ```
997
+
998
+ Methods:
999
+
1000
+ ```
1001
+ zdir_patch my_zdir_patch.dup ()
1002
+ ```
1003
+
1004
+ Create copy of a patch. If the patch is null, or memory was exhausted,
1005
+ returns null.
1006
+
1007
+ ```
1008
+ string my_zdir_patch.path ()
1009
+ ```
1010
+
1011
+ Return patch file directory path
1012
+
1013
+ ```
1014
+ zfile my_zdir_patch.file ()
1015
+ ```
1016
+
1017
+ Return patch file item
1018
+
1019
+ ```
1020
+ integer my_zdir_patch.op ()
1021
+ ```
1022
+
1023
+ Return operation
1024
+
1025
+ ```
1026
+ string my_zdir_patch.vpath ()
1027
+ ```
1028
+
1029
+ Return patch virtual file path
1030
+
1031
+ ```
1032
+ nothing my_zdir_patch.digestSet ()
1033
+ ```
1034
+
1035
+ Calculate hash digest for file (create only)
1036
+
1037
+ ```
1038
+ string my_zdir_patch.digest ()
1039
+ ```
1040
+
1041
+ Return hash digest for patch file
1042
+
1043
+ ```
1044
+ nothing my_zdir_patch.test (Boolean)
1045
+ ```
1046
+
1047
+ Self test of this class.
1048
+
1049
+ ### The Zfile class - helper functions for working with files.
1050
+
1051
+ Constructor:
1052
+
1053
+ ```
1054
+ var czmq = require ('bindings')('czmq')
1055
+ var my_zfile = new czmq.Zfile (String, String)
1056
+ ```
1057
+
1058
+ You *must* call the destructor on every Zfile instance:
1059
+
1060
+ ```
1061
+ my_zfile.destroy ()
1062
+ ```
1063
+
1064
+ Methods:
1065
+
1066
+ ```
1067
+ zfile my_zfile.dup ()
1068
+ ```
1069
+
1070
+ Duplicate a file item, returns a newly constructed item. If the file
1071
+ is null, or memory was exhausted, returns null.
1072
+
1073
+ ```
1074
+ string my_zfile.filename (String)
1075
+ ```
1076
+
1077
+ Return file name, remove path if provided
1078
+
1079
+ ```
1080
+ nothing my_zfile.restat ()
1081
+ ```
1082
+
1083
+ Refresh file properties from disk; this is not done automatically
1084
+ on access methods, otherwise it is not possible to compare directory
1085
+ snapshots.
1086
+
1087
+ ```
1088
+ time my_zfile.modified ()
1089
+ ```
1090
+
1091
+ Return when the file was last modified. If you want this to reflect the
1092
+ current situation, call zfile_restat before checking this property.
1093
+
1094
+ ```
1095
+ file_size my_zfile.cursize ()
1096
+ ```
1097
+
1098
+ Return the last-known size of the file. If you want this to reflect the
1099
+ current situation, call zfile_restat before checking this property.
1100
+
1101
+ ```
1102
+ boolean my_zfile.isDirectory ()
1103
+ ```
1104
+
1105
+ Return true if the file is a directory. If you want this to reflect
1106
+ any external changes, call zfile_restat before checking this property.
1107
+
1108
+ ```
1109
+ boolean my_zfile.isRegular ()
1110
+ ```
1111
+
1112
+ Return true if the file is a regular file. If you want this to reflect
1113
+ any external changes, call zfile_restat before checking this property.
1114
+
1115
+ ```
1116
+ boolean my_zfile.isReadable ()
1117
+ ```
1118
+
1119
+ Return true if the file is readable by this process. If you want this to
1120
+ reflect any external changes, call zfile_restat before checking this
1121
+ property.
1122
+
1123
+ ```
1124
+ boolean my_zfile.isWriteable ()
1125
+ ```
1126
+
1127
+ Return true if the file is writeable by this process. If you want this
1128
+ to reflect any external changes, call zfile_restat before checking this
1129
+ property.
1130
+
1131
+ ```
1132
+ boolean my_zfile.isStable ()
1133
+ ```
1134
+
1135
+ Check if file has stopped changing and can be safely processed.
1136
+ Updates the file statistics from disk at every call.
1137
+
1138
+ ```
1139
+ boolean my_zfile.hasChanged ()
1140
+ ```
1141
+
1142
+ Return true if the file was changed on disk since the zfile_t object
1143
+ was created, or the last zfile_restat() call made on it.
1144
+
1145
+ ```
1146
+ nothing my_zfile.remove ()
1147
+ ```
1148
+
1149
+ Remove the file from disk
1150
+
1151
+ ```
1152
+ integer my_zfile.input ()
1153
+ ```
1154
+
1155
+ Open file for reading
1156
+ Returns 0 if OK, -1 if not found or not accessible
1157
+
1158
+ ```
1159
+ integer my_zfile.output ()
1160
+ ```
1161
+
1162
+ Open file for writing, creating directory if needed
1163
+ File is created if necessary; chunks can be written to file at any
1164
+ location. Returns 0 if OK, -1 if error.
1165
+
1166
+ ```
1167
+ zchunk my_zfile.read (, Number)
1168
+ ```
1169
+
1170
+ Read chunk from file at specified position. If this was the last chunk,
1171
+ sets the eof property. Returns a null chunk in case of error.
1172
+
1173
+ ```
1174
+ boolean my_zfile.eof ()
1175
+ ```
1176
+
1177
+ Returns true if zfile_read() just read the last chunk in the file.
1178
+
1179
+ ```
1180
+ integer my_zfile.write (Zchunk, Number)
1181
+ ```
1182
+
1183
+ Write chunk to file at specified position
1184
+ Return 0 if OK, else -1
1185
+
1186
+ ```
1187
+ string my_zfile.readln ()
1188
+ ```
1189
+
1190
+ Read next line of text from file. Returns a pointer to the text line,
1191
+ or NULL if there was nothing more to read from the file.
1192
+
1193
+ ```
1194
+ nothing my_zfile.close ()
1195
+ ```
1196
+
1197
+ Close file, if open
1198
+
1199
+ ```
1200
+ string my_zfile.digest ()
1201
+ ```
1202
+
1203
+ Calculate SHA1 digest for file, using zdigest class.
1204
+
1205
+ ```
1206
+ nothing my_zfile.test (Boolean)
1207
+ ```
1208
+
1209
+ Self test of this class.
1210
+
1211
+ ### The Zframe class - working with single message frames
1212
+
1213
+ Constructor:
1214
+
1215
+ ```
1216
+ var czmq = require ('bindings')('czmq')
1217
+ var my_zframe = new czmq.Zframe (String)
1218
+ ```
1219
+
1220
+ You *must* call the destructor on every Zframe instance:
1221
+
1222
+ ```
1223
+ my_zframe.destroy ()
1224
+ ```
1225
+
1226
+ Methods:
1227
+
1228
+ ```
1229
+ integer my_zframe.send (Zframe, Zsock, Number)
1230
+ ```
1231
+
1232
+ Send a frame to a socket, destroy frame after sending.
1233
+ Return -1 on error, 0 on success.
1234
+
1235
+ ```
1236
+ size my_zframe.size ()
1237
+ ```
1238
+
1239
+ Return number of bytes in frame data
1240
+
1241
+ ```
1242
+ buffer my_zframe.data ()
1243
+ ```
1244
+
1245
+ Return address of frame data
1246
+
1247
+ ```
1248
+ string my_zframe.meta (String)
1249
+ ```
1250
+
1251
+ Return meta data property for frame
1252
+ The caller shall not modify or free the returned value, which shall be
1253
+ owned by the message.
1254
+
1255
+ ```
1256
+ zframe my_zframe.dup ()
1257
+ ```
1258
+
1259
+ Create a new frame that duplicates an existing frame. If frame is null,
1260
+ or memory was exhausted, returns null.
1261
+
1262
+ ```
1263
+ string my_zframe.strhex ()
1264
+ ```
1265
+
1266
+ Return frame data encoded as printable hex string, useful for 0MQ UUIDs.
1267
+ Caller must free string when finished with it.
1268
+
1269
+ ```
1270
+ string my_zframe.strdup ()
1271
+ ```
1272
+
1273
+ Return frame data copied into freshly allocated string
1274
+ Caller must free string when finished with it.
1275
+
1276
+ ```
1277
+ boolean my_zframe.streq (String)
1278
+ ```
1279
+
1280
+ Return TRUE if frame body is equal to string, excluding terminator
1281
+
1282
+ ```
1283
+ integer my_zframe.more ()
1284
+ ```
1285
+
1286
+ Return frame MORE indicator (1 or 0), set when reading frame from socket
1287
+ or by the zframe_set_more() method
1288
+
1289
+ ```
1290
+ nothing my_zframe.setMore (Number)
1291
+ ```
1292
+
1293
+ Set frame MORE indicator (1 or 0). Note this is NOT used when sending
1294
+ frame to socket, you have to specify flag explicitly.
1295
+
1296
+ ```
1297
+ number my_zframe.routingId ()
1298
+ ```
1299
+
1300
+ Return frame routing ID, if the frame came from a ZMQ_SERVER socket.
1301
+ Else returns zero.
1302
+
1303
+ ```
1304
+ nothing my_zframe.setRoutingId (Number)
1305
+ ```
1306
+
1307
+ Set routing ID on frame. This is used if/when the frame is sent to a
1308
+ ZMQ_SERVER socket.
1309
+
1310
+ ```
1311
+ string my_zframe.group ()
1312
+ ```
1313
+
1314
+ Return frame group of radio-dish pattern.
1315
+
1316
+ ```
1317
+ integer my_zframe.setGroup (String)
1318
+ ```
1319
+
1320
+ Set group on frame. This is used if/when the frame is sent to a
1321
+ ZMQ_RADIO socket.
1322
+ Return -1 on error, 0 on success.
1323
+
1324
+ ```
1325
+ boolean my_zframe.eq (Zframe)
1326
+ ```
1327
+
1328
+ Return TRUE if two frames have identical size and data
1329
+ If either frame is NULL, equality is always false.
1330
+
1331
+ ```
1332
+ nothing my_zframe.reset (String)
1333
+ ```
1334
+
1335
+ Set new contents for frame
1336
+
1337
+ ```
1338
+ nothing my_zframe.print (String)
1339
+ ```
1340
+
1341
+ Send message to zsys log sink (may be stdout, or system facility as
1342
+ configured by zsys_set_logstream). Prefix shows before frame, if not null.
1343
+
1344
+ ```
1345
+ nothing my_zframe.test (Boolean)
1346
+ ```
1347
+
1348
+ Self test of this class.
1349
+
1350
+ ### The Zhash class - generic type-free hash container (simple)
1351
+
1352
+ Constructor:
1353
+
1354
+ ```
1355
+ var czmq = require ('bindings')('czmq')
1356
+ var my_zhash = new czmq.Zhash ()
1357
+ ```
1358
+
1359
+ You *must* call the destructor on every Zhash instance:
1360
+
1361
+ ```
1362
+ my_zhash.destroy ()
1363
+ ```
1364
+
1365
+ Methods:
1366
+
1367
+ ```
1368
+ nothing my_zhash.delete (String)
1369
+ ```
1370
+
1371
+ Remove an item specified by key from the hash table. If there was no such
1372
+ item, this function does nothing.
1373
+
1374
+ ```
1375
+ integer my_zhash.rename (String, String)
1376
+ ```
1377
+
1378
+ Reindexes an item from an old key to a new key. If there was no such
1379
+ item, does nothing. Returns 0 if successful, else -1.
1380
+
1381
+ ```
1382
+ size my_zhash.size ()
1383
+ ```
1384
+
1385
+ Return the number of keys/items in the hash table
1386
+
1387
+ ```
1388
+ zhash my_zhash.dup ()
1389
+ ```
1390
+
1391
+ Make copy of hash table; if supplied table is null, returns null.
1392
+ Does not copy items themselves. Rebuilds new table so may be slow on
1393
+ very large tables. NOTE: only works with item values that are strings
1394
+ since there's no other way to know how to duplicate the item value.
1395
+
1396
+ ```
1397
+ zlist my_zhash.keys ()
1398
+ ```
1399
+
1400
+ Return keys for items in table
1401
+
1402
+ ```
1403
+ string my_zhash.cursor ()
1404
+ ```
1405
+
1406
+ After a successful first/next method, returns the key for the item that
1407
+ was returned. This is a constant string that you may not modify or
1408
+ deallocate, and which lasts as long as the item in the hash. After an
1409
+ unsuccessful first/next, returns NULL.
1410
+
1411
+ ```
1412
+ nothing my_zhash.comment (String)
1413
+ ```
1414
+
1415
+ Add a comment to hash table before saving to disk. You can add as many
1416
+ comment lines as you like. These comment lines are discarded when loading
1417
+ the file. If you use a null format, all comments are deleted.
1418
+
1419
+ ```
1420
+ zframe my_zhash.pack ()
1421
+ ```
1422
+
1423
+ Serialize hash table to a binary frame that can be sent in a message.
1424
+ The packed format is compatible with the 'dictionary' type defined in
1425
+ http://rfc.zeromq.org/spec:35/FILEMQ, and implemented by zproto:
1426
+
1427
+ ; A list of name/value pairs
1428
+ dictionary = dict-count *( dict-name dict-value )
1429
+ dict-count = number-4
1430
+ dict-value = longstr
1431
+ dict-name = string
1432
+
1433
+ ; Strings are always length + text contents
1434
+ longstr = number-4 *VCHAR
1435
+ string = number-1 *VCHAR
1436
+
1437
+ ; Numbers are unsigned integers in network byte order
1438
+ number-1 = 1OCTET
1439
+ number-4 = 4OCTET
1440
+
1441
+ Comments are not included in the packed data. Item values MUST be
1442
+ strings.
1443
+
1444
+ ```
1445
+ integer my_zhash.save (String)
1446
+ ```
1447
+
1448
+ Save hash table to a text file in name=value format. Hash values must be
1449
+ printable strings; keys may not contain '=' character. Returns 0 if OK,
1450
+ else -1 if a file error occurred.
1451
+
1452
+ ```
1453
+ integer my_zhash.load (String)
1454
+ ```
1455
+
1456
+ Load hash table from a text file in name=value format; hash table must
1457
+ already exist. Hash values must printable strings; keys may not contain
1458
+ '=' character. Returns 0 if OK, else -1 if a file was not readable.
1459
+
1460
+ ```
1461
+ integer my_zhash.refresh ()
1462
+ ```
1463
+
1464
+ When a hash table was loaded from a file by zhash_load, this method will
1465
+ reload the file if it has been modified since, and is "stable", i.e. not
1466
+ still changing. Returns 0 if OK, -1 if there was an error reloading the
1467
+ file.
1468
+
1469
+ ```
1470
+ nothing my_zhash.autofree ()
1471
+ ```
1472
+
1473
+ Set hash for automatic value destruction. Note that this assumes that
1474
+ values are NULL-terminated strings. Do not use with different types.
1475
+
1476
+ ```
1477
+ nothing my_zhash.test (Boolean)
1478
+ ```
1479
+
1480
+ Self test of this class.
1481
+
1482
+ ### The Zhashx class - extended generic type-free hash container
1483
+
1484
+ Constructor:
1485
+
1486
+ ```
1487
+ var czmq = require ('bindings')('czmq')
1488
+ var my_zhashx = new czmq.Zhashx ()
1489
+ ```
1490
+
1491
+ You *must* call the destructor on every Zhashx instance:
1492
+
1493
+ ```
1494
+ my_zhashx.destroy ()
1495
+ ```
1496
+
1497
+ Methods:
1498
+
1499
+ ```
1500
+ nothing my_zhashx.purge ()
1501
+ ```
1502
+
1503
+ Delete all items from the hash table. If the key destructor is
1504
+ set, calls it on every key. If the item destructor is set, calls
1505
+ it on every item.
1506
+
1507
+ ```
1508
+ size my_zhashx.size ()
1509
+ ```
1510
+
1511
+ Return the number of keys/items in the hash table
1512
+
1513
+ ```
1514
+ zlistx my_zhashx.keys ()
1515
+ ```
1516
+
1517
+ Return a zlistx_t containing the keys for the items in the
1518
+ table. Uses the key_duplicator to duplicate all keys and sets the
1519
+ key_destructor as destructor for the list.
1520
+
1521
+ ```
1522
+ zlistx my_zhashx.values ()
1523
+ ```
1524
+
1525
+ Return a zlistx_t containing the values for the items in the
1526
+ table. Uses the duplicator to duplicate all items and sets the
1527
+ destructor as destructor for the list.
1528
+
1529
+ ```
1530
+ nothing my_zhashx.comment (String)
1531
+ ```
1532
+
1533
+ Add a comment to hash table before saving to disk. You can add as many
1534
+ comment lines as you like. These comment lines are discarded when loading
1535
+ the file. If you use a null format, all comments are deleted.
1536
+
1537
+ ```
1538
+ integer my_zhashx.save (String)
1539
+ ```
1540
+
1541
+ Save hash table to a text file in name=value format. Hash values must be
1542
+ printable strings; keys may not contain '=' character. Returns 0 if OK,
1543
+ else -1 if a file error occurred.
1544
+
1545
+ ```
1546
+ integer my_zhashx.load (String)
1547
+ ```
1548
+
1549
+ Load hash table from a text file in name=value format; hash table must
1550
+ already exist. Hash values must printable strings; keys may not contain
1551
+ '=' character. Returns 0 if OK, else -1 if a file was not readable.
1552
+
1553
+ ```
1554
+ integer my_zhashx.refresh ()
1555
+ ```
1556
+
1557
+ When a hash table was loaded from a file by zhashx_load, this method will
1558
+ reload the file if it has been modified since, and is "stable", i.e. not
1559
+ still changing. Returns 0 if OK, -1 if there was an error reloading the
1560
+ file.
1561
+
1562
+ ```
1563
+ zframe my_zhashx.pack ()
1564
+ ```
1565
+
1566
+ Serialize hash table to a binary frame that can be sent in a message.
1567
+ The packed format is compatible with the 'dictionary' type defined in
1568
+ http://rfc.zeromq.org/spec:35/FILEMQ, and implemented by zproto:
1569
+
1570
+ ; A list of name/value pairs
1571
+ dictionary = dict-count *( dict-name dict-value )
1572
+ dict-count = number-4
1573
+ dict-value = longstr
1574
+ dict-name = string
1575
+
1576
+ ; Strings are always length + text contents
1577
+ longstr = number-4 *VCHAR
1578
+ string = number-1 *VCHAR
1579
+
1580
+ ; Numbers are unsigned integers in network byte order
1581
+ number-1 = 1OCTET
1582
+ number-4 = 4OCTET
1583
+
1584
+ Comments are not included in the packed data. Item values MUST be
1585
+ strings.
1586
+
1587
+ ```
1588
+ zhashx my_zhashx.dup ()
1589
+ ```
1590
+
1591
+ Make a copy of the list; items are duplicated if you set a duplicator
1592
+ for the list, otherwise not. Copying a null reference returns a null
1593
+ reference. Note that this method's behavior changed slightly for CZMQ
1594
+ v3.x, as it does not set nor respect autofree. It does however let you
1595
+ duplicate any hash table safely. The old behavior is in zhashx_dup_v2.
1596
+
1597
+ ```
1598
+ zhashx my_zhashx.dupV2 ()
1599
+ ```
1600
+
1601
+ Make copy of hash table; if supplied table is null, returns null.
1602
+ Does not copy items themselves. Rebuilds new table so may be slow on
1603
+ very large tables. NOTE: only works with item values that are strings
1604
+ since there's no other way to know how to duplicate the item value.
1605
+
1606
+ ```
1607
+ nothing my_zhashx.test (Boolean)
1608
+ ```
1609
+
1610
+ Self test of this class.
1611
+
1612
+ ### The Ziflist class - List of network interfaces available on system
1613
+
1614
+ Constructor:
1615
+
1616
+ ```
1617
+ var czmq = require ('bindings')('czmq')
1618
+ var my_ziflist = new czmq.Ziflist ()
1619
+ ```
1620
+
1621
+ You *must* call the destructor on every Ziflist instance:
1622
+
1623
+ ```
1624
+ my_ziflist.destroy ()
1625
+ ```
1626
+
1627
+ Methods:
1628
+
1629
+ ```
1630
+ nothing my_ziflist.reload ()
1631
+ ```
1632
+
1633
+ Reload network interfaces from system
1634
+
1635
+ ```
1636
+ size my_ziflist.size ()
1637
+ ```
1638
+
1639
+ Return the number of network interfaces on system
1640
+
1641
+ ```
1642
+ string my_ziflist.first ()
1643
+ ```
1644
+
1645
+ Get first network interface, return NULL if there are none
1646
+
1647
+ ```
1648
+ string my_ziflist.next ()
1649
+ ```
1650
+
1651
+ Get next network interface, return NULL if we hit the last one
1652
+
1653
+ ```
1654
+ string my_ziflist.address ()
1655
+ ```
1656
+
1657
+ Return the current interface IP address as a printable string
1658
+
1659
+ ```
1660
+ string my_ziflist.broadcast ()
1661
+ ```
1662
+
1663
+ Return the current interface broadcast address as a printable string
1664
+
1665
+ ```
1666
+ string my_ziflist.netmask ()
1667
+ ```
1668
+
1669
+ Return the current interface network mask as a printable string
1670
+
1671
+ ```
1672
+ nothing my_ziflist.print ()
1673
+ ```
1674
+
1675
+ Return the list of interfaces.
1676
+
1677
+ ```
1678
+ ziflist my_ziflist.newIpv6 ()
1679
+ ```
1680
+
1681
+ Get a list of network interfaces currently defined on the system
1682
+ Includes IPv6 interfaces
1683
+
1684
+ ```
1685
+ nothing my_ziflist.reloadIpv6 ()
1686
+ ```
1687
+
1688
+ Reload network interfaces from system, including IPv6
1689
+
1690
+ ```
1691
+ boolean my_ziflist.isIpv6 ()
1692
+ ```
1693
+
1694
+ Return true if the current interface uses IPv6
1695
+
1696
+ ```
1697
+ nothing my_ziflist.test (Boolean)
1698
+ ```
1699
+
1700
+ Self test of this class.
1701
+
1702
+ ### The Zlist class - simple generic list container
1703
+
1704
+ Constructor:
1705
+
1706
+ ```
1707
+ var czmq = require ('bindings')('czmq')
1708
+ var my_zlist = new czmq.Zlist ()
1709
+ ```
1710
+
1711
+ You *must* call the destructor on every Zlist instance:
1712
+
1713
+ ```
1714
+ my_zlist.destroy ()
1715
+ ```
1716
+
1717
+ Methods:
1718
+
1719
+ ```
1720
+ zlist my_zlist.dup ()
1721
+ ```
1722
+
1723
+ Make a copy of list. If the list has autofree set, the copied list will
1724
+ duplicate all items, which must be strings. Otherwise, the list will hold
1725
+ pointers back to the items in the original list. If list is null, returns
1726
+ NULL.
1727
+
1728
+ ```
1729
+ nothing my_zlist.purge ()
1730
+ ```
1731
+
1732
+ Purge all items from list
1733
+
1734
+ ```
1735
+ size my_zlist.size ()
1736
+ ```
1737
+
1738
+ Return number of items in the list
1739
+
1740
+ ```
1741
+ nothing my_zlist.autofree ()
1742
+ ```
1743
+
1744
+ Set list for automatic item destruction; item values MUST be strings.
1745
+ By default a list item refers to a value held elsewhere. When you set
1746
+ this, each time you append or push a list item, zlist will take a copy
1747
+ of the string value. Then, when you destroy the list, it will free all
1748
+ item values automatically. If you use any other technique to allocate
1749
+ list values, you must free them explicitly before destroying the list.
1750
+ The usual technique is to pop list items and destroy them, until the
1751
+ list is empty.
1752
+
1753
+ ```
1754
+ nothing my_zlist.test (Boolean)
1755
+ ```
1756
+
1757
+ Self test of this class.
1758
+
1759
+ ### The Zlistx class - extended generic list container
1760
+
1761
+ Constructor:
1762
+
1763
+ ```
1764
+ var czmq = require ('bindings')('czmq')
1765
+ var my_zlistx = new czmq.Zlistx ()
1766
+ ```
1767
+
1768
+ You *must* call the destructor on every Zlistx instance:
1769
+
1770
+ ```
1771
+ my_zlistx.destroy ()
1772
+ ```
1773
+
1774
+ Methods:
1775
+
1776
+ ```
1777
+ size my_zlistx.size ()
1778
+ ```
1779
+
1780
+ Return the number of items in the list
1781
+
1782
+ ```
1783
+ nothing my_zlistx.purge ()
1784
+ ```
1785
+
1786
+ Remove all items from the list, and destroy them if the item destructor
1787
+ is set.
1788
+
1789
+ ```
1790
+ nothing my_zlistx.sort ()
1791
+ ```
1792
+
1793
+ Sort the list. If an item comparator was set, calls that to compare
1794
+ items, otherwise compares on item value. The sort is not stable, so may
1795
+ reorder equal items.
1796
+
1797
+ ```
1798
+ zlistx my_zlistx.dup ()
1799
+ ```
1800
+
1801
+ Make a copy of the list; items are duplicated if you set a duplicator
1802
+ for the list, otherwise not. Copying a null reference returns a null
1803
+ reference.
1804
+
1805
+ ```
1806
+ nothing my_zlistx.test (Boolean)
1807
+ ```
1808
+
1809
+ Self test of this class.
1810
+
1811
+ ### The Zloop class - event-driven reactor
1812
+
1813
+ Constructor:
1814
+
1815
+ ```
1816
+ var czmq = require ('bindings')('czmq')
1817
+ var my_zloop = new czmq.Zloop ()
1818
+ ```
1819
+
1820
+ You *must* call the destructor on every Zloop instance:
1821
+
1822
+ ```
1823
+ my_zloop.destroy ()
1824
+ ```
1825
+
1826
+ Methods:
1827
+
1828
+ ```
1829
+ nothing my_zloop.readerEnd (Zsock)
1830
+ ```
1831
+
1832
+ Cancel a socket reader from the reactor. If multiple readers exist for
1833
+ same socket, cancels ALL of them.
1834
+
1835
+ ```
1836
+ nothing my_zloop.readerSetTolerant (Zsock)
1837
+ ```
1838
+
1839
+ Configure a registered reader to ignore errors. If you do not set this,
1840
+ then readers that have errors are removed from the reactor silently.
1841
+
1842
+ ```
1843
+ integer my_zloop.timerEnd (Number)
1844
+ ```
1845
+
1846
+ Cancel a specific timer identified by a specific timer_id (as returned by
1847
+ zloop_timer).
1848
+
1849
+ ```
1850
+ nothing my_zloop.setTicketDelay ()
1851
+ ```
1852
+
1853
+ Set the ticket delay, which applies to all tickets. If you lower the
1854
+ delay and there are already tickets created, the results are undefined.
1855
+
1856
+ ```
1857
+ nothing my_zloop.setMaxTimers ()
1858
+ ```
1859
+
1860
+ Set hard limit on number of timers allowed. Setting more than a small
1861
+ number of timers (10-100) can have a dramatic impact on the performance
1862
+ of the reactor. For high-volume cases, use ticket timers. If the hard
1863
+ limit is reached, the reactor stops creating new timers and logs an
1864
+ error.
1865
+
1866
+ ```
1867
+ nothing my_zloop.setVerbose (Boolean)
1868
+ ```
1869
+
1870
+ Set verbose tracing of reactor on/off. The default verbose setting is
1871
+ off (false).
1872
+
1873
+ ```
1874
+ nothing my_zloop.setNonstop (Boolean)
1875
+ ```
1876
+
1877
+ By default the reactor stops if the process receives a SIGINT or SIGTERM
1878
+ signal. This makes it impossible to shut-down message based architectures
1879
+ like zactors. This method lets you switch off break handling. The default
1880
+ nonstop setting is off (false).
1881
+
1882
+ ```
1883
+ integer my_zloop.start ()
1884
+ ```
1885
+
1886
+ Start the reactor. Takes control of the thread and returns when the 0MQ
1887
+ context is terminated or the process is interrupted, or any event handler
1888
+ returns -1. Event handlers may register new sockets and timers, and
1889
+ cancel sockets. Returns 0 if interrupted, -1 if canceled by a handler.
1890
+
1891
+ ```
1892
+ nothing my_zloop.test (Boolean)
1893
+ ```
1894
+
1895
+ Self test of this class.
1896
+
1897
+ ### The Zmsg class - working with multipart messages
1898
+
1899
+ Constructor:
1900
+
1901
+ ```
1902
+ var czmq = require ('bindings')('czmq')
1903
+ var my_zmsg = new czmq.Zmsg ()
1904
+ ```
1905
+
1906
+ You *must* call the destructor on every Zmsg instance:
1907
+
1908
+ ```
1909
+ my_zmsg.destroy ()
1910
+ ```
1911
+
1912
+ Methods:
1913
+
1914
+ ```
1915
+ integer my_zmsg.send (Zmsg, Zsock)
1916
+ ```
1917
+
1918
+ Send message to destination socket, and destroy the message after sending
1919
+ it successfully. If the message has no frames, sends nothing but destroys
1920
+ the message anyhow. Nullifies the caller's reference to the message (as
1921
+ it is a destructor).
1922
+
1923
+ ```
1924
+ integer my_zmsg.sendm (Zmsg, Zsock)
1925
+ ```
1926
+
1927
+ Send message to destination socket as part of a multipart sequence, and
1928
+ destroy the message after sending it successfully. Note that after a
1929
+ zmsg_sendm, you must call zmsg_send or another method that sends a final
1930
+ message part. If the message has no frames, sends nothing but destroys
1931
+ the message anyhow. Nullifies the caller's reference to the message (as
1932
+ it is a destructor).
1933
+
1934
+ ```
1935
+ size my_zmsg.size ()
1936
+ ```
1937
+
1938
+ Return size of message, i.e. number of frames (0 or more).
1939
+
1940
+ ```
1941
+ size my_zmsg.contentSize ()
1942
+ ```
1943
+
1944
+ Return total size of all frames in message.
1945
+
1946
+ ```
1947
+ number my_zmsg.routingId ()
1948
+ ```
1949
+
1950
+ Return message routing ID, if the message came from a ZMQ_SERVER socket.
1951
+ Else returns zero.
1952
+
1953
+ ```
1954
+ nothing my_zmsg.setRoutingId (Number)
1955
+ ```
1956
+
1957
+ Set routing ID on message. This is used if/when the message is sent to a
1958
+ ZMQ_SERVER socket.
1959
+
1960
+ ```
1961
+ integer my_zmsg.prepend (Zframe)
1962
+ ```
1963
+
1964
+ Push frame to the front of the message, i.e. before all other frames.
1965
+ Message takes ownership of frame, will destroy it when message is sent.
1966
+ Returns 0 on success, -1 on error. Deprecates zmsg_push, which did not
1967
+ nullify the caller's frame reference.
1968
+
1969
+ ```
1970
+ integer my_zmsg.append (Zframe)
1971
+ ```
1972
+
1973
+ Add frame to the end of the message, i.e. after all other frames.
1974
+ Message takes ownership of frame, will destroy it when message is sent.
1975
+ Returns 0 on success. Deprecates zmsg_add, which did not nullify the
1976
+ caller's frame reference.
1977
+
1978
+ ```
1979
+ zframe my_zmsg.pop ()
1980
+ ```
1981
+
1982
+ Remove first frame from message, if any. Returns frame, or NULL.
1983
+
1984
+ ```
1985
+ integer my_zmsg.pushmem (String)
1986
+ ```
1987
+
1988
+ Push block of memory to front of message, as a new frame.
1989
+ Returns 0 on success, -1 on error.
1990
+
1991
+ ```
1992
+ integer my_zmsg.addmem (String)
1993
+ ```
1994
+
1995
+ Add block of memory to the end of the message, as a new frame.
1996
+ Returns 0 on success, -1 on error.
1997
+
1998
+ ```
1999
+ integer my_zmsg.pushstr (String)
2000
+ ```
2001
+
2002
+ Push string as new frame to front of message.
2003
+ Returns 0 on success, -1 on error.
2004
+
2005
+ ```
2006
+ integer my_zmsg.addstr (String)
2007
+ ```
2008
+
2009
+ Push string as new frame to end of message.
2010
+ Returns 0 on success, -1 on error.
2011
+
2012
+ ```
2013
+ integer my_zmsg.pushstrf (String)
2014
+ ```
2015
+
2016
+ Push formatted string as new frame to front of message.
2017
+ Returns 0 on success, -1 on error.
2018
+
2019
+ ```
2020
+ integer my_zmsg.addstrf (String)
2021
+ ```
2022
+
2023
+ Push formatted string as new frame to end of message.
2024
+ Returns 0 on success, -1 on error.
2025
+
2026
+ ```
2027
+ string my_zmsg.popstr ()
2028
+ ```
2029
+
2030
+ Pop frame off front of message, return as fresh string. If there were
2031
+ no more frames in the message, returns NULL.
2032
+
2033
+ ```
2034
+ integer my_zmsg.addmsg (Zmsg)
2035
+ ```
2036
+
2037
+ Push encoded message as a new frame. Message takes ownership of
2038
+ submessage, so the original is destroyed in this call. Returns 0 on
2039
+ success, -1 on error.
2040
+
2041
+ ```
2042
+ zmsg my_zmsg.popmsg ()
2043
+ ```
2044
+
2045
+ Remove first submessage from message, if any. Returns zmsg_t, or NULL if
2046
+ decoding was not successful.
2047
+
2048
+ ```
2049
+ nothing my_zmsg.remove (Zframe)
2050
+ ```
2051
+
2052
+ Remove specified frame from list, if present. Does not destroy frame.
2053
+
2054
+ ```
2055
+ zframe my_zmsg.first ()
2056
+ ```
2057
+
2058
+ Set cursor to first frame in message. Returns frame, or NULL, if the
2059
+ message is empty. Use this to navigate the frames as a list.
2060
+
2061
+ ```
2062
+ zframe my_zmsg.next ()
2063
+ ```
2064
+
2065
+ Return the next frame. If there are no more frames, returns NULL. To move
2066
+ to the first frame call zmsg_first(). Advances the cursor.
2067
+
2068
+ ```
2069
+ zframe my_zmsg.last ()
2070
+ ```
2071
+
2072
+ Return the last frame. If there are no frames, returns NULL.
2073
+
2074
+ ```
2075
+ zframe my_zmsg.encode ()
2076
+ ```
2077
+
2078
+ Serialize multipart message to a single message frame. Use this method
2079
+ to send structured messages across transports that do not support
2080
+ multipart data. Allocates and returns a new frame containing the
2081
+ serialized message. To decode a serialized message frame, use
2082
+ zmsg_decode ().
2083
+
2084
+ ```
2085
+ zmsg my_zmsg.dup ()
2086
+ ```
2087
+
2088
+ Create copy of message, as new message object. Returns a fresh zmsg_t
2089
+ object. If message is null, or memory was exhausted, returns null.
2090
+
2091
+ ```
2092
+ nothing my_zmsg.print ()
2093
+ ```
2094
+
2095
+ Send message to zsys log sink (may be stdout, or system facility as
2096
+ configured by zsys_set_logstream).
2097
+
2098
+ ```
2099
+ boolean my_zmsg.eq (Zmsg)
2100
+ ```
2101
+
2102
+ Return true if the two messages have the same number of frames and each
2103
+ frame in the first message is identical to the corresponding frame in the
2104
+ other message. As with zframe_eq, return false if either message is NULL.
2105
+
2106
+ ```
2107
+ integer my_zmsg.signal ()
2108
+ ```
2109
+
2110
+ Return signal value, 0 or greater, if message is a signal, -1 if not.
2111
+
2112
+ ```
2113
+ nothing my_zmsg.test (Boolean)
2114
+ ```
2115
+
2116
+ Self test of this class.
2117
+
2118
+ ### The Zpoller class - event-driven reactor
2119
+
2120
+ Constructor:
2121
+
2122
+ ```
2123
+ var czmq = require ('bindings')('czmq')
2124
+ var my_zpoller = new czmq.Zpoller (Zsock)
2125
+ ```
2126
+
2127
+ You *must* call the destructor on every Zpoller instance:
2128
+
2129
+ ```
2130
+ my_zpoller.destroy ()
2131
+ ```
2132
+
2133
+ Methods:
2134
+
2135
+ ```
2136
+ integer my_zpoller.add (Zsock)
2137
+ ```
2138
+
2139
+ Add a reader to be polled. Returns 0 if OK, -1 on failure. The reader may
2140
+ be a libzmq void * socket, a zsock_t instance, or a zactor_t instance.
2141
+
2142
+ ```
2143
+ nothing my_zpoller.setNonstop (Boolean)
2144
+ ```
2145
+
2146
+ By default the poller stops if the process receives a SIGINT or SIGTERM
2147
+ signal. This makes it impossible to shut-down message based architectures
2148
+ like zactors. This method lets you switch off break handling. The default
2149
+ nonstop setting is off (false).
2150
+
2151
+ ```
2152
+ boolean my_zpoller.expired ()
2153
+ ```
2154
+
2155
+ Return true if the last zpoller_wait () call ended because the timeout
2156
+ expired, without any error.
2157
+
2158
+ ```
2159
+ boolean my_zpoller.terminated ()
2160
+ ```
2161
+
2162
+ Return true if the last zpoller_wait () call ended because the process
2163
+ was interrupted, or the parent context was destroyed.
2164
+
2165
+ ```
2166
+ nothing my_zpoller.test (Boolean)
2167
+ ```
2168
+
2169
+ Self test of this class.
2170
+
2171
+ ### The Zproc class - process configuration and status
2172
+
2173
+ Constructor:
2174
+
2175
+ ```
2176
+ var czmq = require ('bindings')('czmq')
2177
+ var my_zproc = new czmq.Zproc ()
2178
+ ```
2179
+
2180
+ You *must* call the destructor on every Zproc instance:
2181
+
2182
+ ```
2183
+ my_zproc.destroy ()
2184
+ ```
2185
+
2186
+ Methods:
2187
+
2188
+ ```
2189
+ nothing my_zproc.setArgs (Zlistx)
2190
+ ```
2191
+
2192
+ Setup the command line arguments, the first item must be an (absolute) filename
2193
+ to run.
2194
+
2195
+ ```
2196
+ nothing my_zproc.setEnv (Zhashx)
2197
+ ```
2198
+
2199
+ Setup the environment variables for the process.
2200
+
2201
+ ```
2202
+ integer my_zproc.run ()
2203
+ ```
2204
+
2205
+ Starts the process.
2206
+
2207
+ ```
2208
+ integer my_zproc.returncode ()
2209
+ ```
2210
+
2211
+ process exit code
2212
+
2213
+ ```
2214
+ integer my_zproc.pid ()
2215
+ ```
2216
+
2217
+ PID of the process
2218
+
2219
+ ```
2220
+ boolean my_zproc.running ()
2221
+ ```
2222
+
2223
+ return true if process is running, false if not yet started or finished
2224
+
2225
+ ```
2226
+ integer my_zproc.wait (Boolean)
2227
+ ```
2228
+
2229
+ wait or poll process status, return return code
2230
+
2231
+ ```
2232
+ nothing my_zproc.kill (Number)
2233
+ ```
2234
+
2235
+ send a signal to the subprocess
2236
+
2237
+ ```
2238
+ nothing my_zproc.setVerbose (Boolean)
2239
+ ```
2240
+
2241
+ set verbose mode
2242
+
2243
+ ```
2244
+ integer my_zproc.czmqVersion ()
2245
+ ```
2246
+
2247
+ Returns CZMQ version as a single 6-digit integer encoding the major
2248
+ version (x 10000), the minor version (x 100) and the patch.
2249
+
2250
+ ```
2251
+ boolean my_zproc.interrupted ()
2252
+ ```
2253
+
2254
+ Returns true if the process received a SIGINT or SIGTERM signal.
2255
+ It is good practice to use this method to exit any infinite loop
2256
+ processing messages.
2257
+
2258
+ ```
2259
+ boolean my_zproc.hasCurve ()
2260
+ ```
2261
+
2262
+ Returns true if the underlying libzmq supports CURVE security.
2263
+
2264
+ ```
2265
+ string my_zproc.hostname ()
2266
+ ```
2267
+
2268
+ Return current host name, for use in public tcp:// endpoints.
2269
+ If the host name is not resolvable, returns NULL.
2270
+
2271
+ ```
2272
+ nothing my_zproc.daemonize (String)
2273
+ ```
2274
+
2275
+ Move the current process into the background. The precise effect
2276
+ depends on the operating system. On POSIX boxes, moves to a specified
2277
+ working directory (if specified), closes all file handles, reopens
2278
+ stdin, stdout, and stderr to the null device, and sets the process to
2279
+ ignore SIGHUP. On Windows, does nothing. Returns 0 if OK, -1 if there
2280
+ was an error.
2281
+
2282
+ ```
2283
+ nothing my_zproc.runAs (String, String, String)
2284
+ ```
2285
+
2286
+ Drop the process ID into the lockfile, with exclusive lock, and
2287
+ switch the process to the specified group and/or user. Any of the
2288
+ arguments may be null, indicating a no-op. Returns 0 on success,
2289
+ -1 on failure. Note if you combine this with zsys_daemonize, run
2290
+ after, not before that method, or the lockfile will hold the wrong
2291
+ process ID.
2292
+
2293
+ ```
2294
+ nothing my_zproc.setIoThreads ()
2295
+ ```
2296
+
2297
+ Configure the number of I/O threads that ZeroMQ will use. A good
2298
+ rule of thumb is one thread per gigabit of traffic in or out. The
2299
+ default is 1, sufficient for most applications. If the environment
2300
+ variable ZSYS_IO_THREADS is defined, that provides the default.
2301
+ Note that this method is valid only before any socket is created.
2302
+
2303
+ ```
2304
+ nothing my_zproc.setMaxSockets ()
2305
+ ```
2306
+
2307
+ Configure the number of sockets that ZeroMQ will allow. The default
2308
+ is 1024. The actual limit depends on the system, and you can query it
2309
+ by using zsys_socket_limit (). A value of zero means "maximum".
2310
+ Note that this method is valid only before any socket is created.
2311
+
2312
+ ```
2313
+ nothing my_zproc.setBiface (String)
2314
+ ```
2315
+
2316
+ Set network interface name to use for broadcasts, particularly zbeacon.
2317
+ This lets the interface be configured for test environments where required.
2318
+ For example, on Mac OS X, zbeacon cannot bind to 255.255.255.255 which is
2319
+ the default when there is no specified interface. If the environment
2320
+ variable ZSYS_INTERFACE is set, use that as the default interface name.
2321
+ Setting the interface to "*" means "use all available interfaces".
2322
+
2323
+ ```
2324
+ string my_zproc.biface ()
2325
+ ```
2326
+
2327
+ Return network interface to use for broadcasts, or "" if none was set.
2328
+
2329
+ ```
2330
+ nothing my_zproc.setLogIdent (String)
2331
+ ```
2332
+
2333
+ Set log identity, which is a string that prefixes all log messages sent
2334
+ by this process. The log identity defaults to the environment variable
2335
+ ZSYS_LOGIDENT, if that is set.
2336
+
2337
+ ```
2338
+ nothing my_zproc.setLogSender (String)
2339
+ ```
2340
+
2341
+ Sends log output to a PUB socket bound to the specified endpoint. To
2342
+ collect such log output, create a SUB socket, subscribe to the traffic
2343
+ you care about, and connect to the endpoint. Log traffic is sent as a
2344
+ single string frame, in the same format as when sent to stdout. The
2345
+ log system supports a single sender; multiple calls to this method will
2346
+ bind the same sender to multiple endpoints. To disable the sender, call
2347
+ this method with a null argument.
2348
+
2349
+ ```
2350
+ nothing my_zproc.setLogSystem (Boolean)
2351
+ ```
2352
+
2353
+ Enable or disable logging to the system facility (syslog on POSIX boxes,
2354
+ event log on Windows). By default this is disabled.
2355
+
2356
+ ```
2357
+ nothing my_zproc.logError (String)
2358
+ ```
2359
+
2360
+ Log error condition - highest priority
2361
+
2362
+ ```
2363
+ nothing my_zproc.logWarning (String)
2364
+ ```
2365
+
2366
+ Log warning condition - high priority
2367
+
2368
+ ```
2369
+ nothing my_zproc.logNotice (String)
2370
+ ```
2371
+
2372
+ Log normal, but significant, condition - normal priority
2373
+
2374
+ ```
2375
+ nothing my_zproc.logInfo (String)
2376
+ ```
2377
+
2378
+ Log informational message - low priority
2379
+
2380
+ ```
2381
+ nothing my_zproc.logDebug (String)
2382
+ ```
2383
+
2384
+ Log debug-level message - lowest priority
2385
+
2386
+ ```
2387
+ nothing my_zproc.test (Boolean)
2388
+ ```
2389
+
2390
+ Self test of this class.
2391
+
2392
+ ### The Zsock class - high-level socket API that hides libzmq contexts and sockets
2393
+
2394
+ Constructor:
2395
+
2396
+ ```
2397
+ var czmq = require ('bindings')('czmq')
2398
+ var my_zsock = new czmq.Zsock (Number)
2399
+ ```
2400
+
2401
+ You *must* call the destructor on every Zsock instance:
2402
+
2403
+ ```
2404
+ my_zsock.destroy ()
2405
+ ```
2406
+
2407
+ Methods:
2408
+
2409
+ ```
2410
+ integer my_zsock.bind (String)
2411
+ ```
2412
+
2413
+ Bind a socket to a formatted endpoint. For tcp:// endpoints, supports
2414
+ ephemeral ports, if you specify the port number as "*". By default
2415
+ zsock uses the IANA designated range from C000 (49152) to FFFF (65535).
2416
+ To override this range, follow the "*" with "[first-last]". Either or
2417
+ both first and last may be empty. To bind to a random port within the
2418
+ range, use "!" in place of "*".
2419
+
2420
+ Examples:
2421
+ tcp://127.0.0.1:* bind to first free port from C000 up
2422
+ tcp://127.0.0.1:! bind to random port from C000 to FFFF
2423
+ tcp://127.0.0.1:*[60000-] bind to first free port from 60000 up
2424
+ tcp://127.0.0.1:![-60000] bind to random port from C000 to 60000
2425
+ tcp://127.0.0.1:![55000-55999]
2426
+ bind to random port from 55000 to 55999
2427
+
2428
+ On success, returns the actual port number used, for tcp:// endpoints,
2429
+ and 0 for other transports. On failure, returns -1. Note that when using
2430
+ ephemeral ports, a port may be reused by different services without
2431
+ clients being aware. Protocols that run on ephemeral ports should take
2432
+ this into account.
2433
+
2434
+ ```
2435
+ string my_zsock.endpoint ()
2436
+ ```
2437
+
2438
+ Returns last bound endpoint, if any.
2439
+
2440
+ ```
2441
+ integer my_zsock.unbind (String)
2442
+ ```
2443
+
2444
+ Unbind a socket from a formatted endpoint.
2445
+ Returns 0 if OK, -1 if the endpoint was invalid or the function
2446
+ isn't supported.
2447
+
2448
+ ```
2449
+ integer my_zsock.connect (String)
2450
+ ```
2451
+
2452
+ Connect a socket to a formatted endpoint
2453
+ Returns 0 if OK, -1 if the endpoint was invalid.
2454
+
2455
+ ```
2456
+ integer my_zsock.disconnect (String)
2457
+ ```
2458
+
2459
+ Disconnect a socket from a formatted endpoint
2460
+ Returns 0 if OK, -1 if the endpoint was invalid or the function
2461
+ isn't supported.
2462
+
2463
+ ```
2464
+ integer my_zsock.attach (String, Boolean)
2465
+ ```
2466
+
2467
+ Attach a socket to zero or more endpoints. If endpoints is not null,
2468
+ parses as list of ZeroMQ endpoints, separated by commas, and prefixed by
2469
+ '@' (to bind the socket) or '>' (to connect the socket). Returns 0 if all
2470
+ endpoints were valid, or -1 if there was a syntax error. If the endpoint
2471
+ does not start with '@' or '>', the serverish argument defines whether
2472
+ it is used to bind (serverish = true) or connect (serverish = false).
2473
+
2474
+ ```
2475
+ string my_zsock.typeStr ()
2476
+ ```
2477
+
2478
+ Returns socket type as printable constant string.
2479
+
2480
+ ```
2481
+ integer my_zsock.send (String)
2482
+ ```
2483
+
2484
+ Send a 'picture' message to the socket (or actor). The picture is a
2485
+ string that defines the type of each frame. This makes it easy to send
2486
+ a complex multiframe message in one call. The picture can contain any
2487
+ of these characters, each corresponding to one or two arguments:
2488
+
2489
+ i = int (signed)
2490
+ 1 = uint8_t
2491
+ 2 = uint16_t
2492
+ 4 = uint32_t
2493
+ 8 = uint64_t
2494
+ s = char *
2495
+ b = byte *, size_t (2 arguments)
2496
+ c = zchunk_t *
2497
+ f = zframe_t *
2498
+ h = zhashx_t *
2499
+ U = zuuid_t *
2500
+ p = void * (sends the pointer value, only meaningful over inproc)
2501
+ m = zmsg_t * (sends all frames in the zmsg)
2502
+ z = sends zero-sized frame (0 arguments)
2503
+ u = uint (deprecated)
2504
+
2505
+ Note that s, b, c, and f are encoded the same way and the choice is
2506
+ offered as a convenience to the sender, which may or may not already
2507
+ have data in a zchunk or zframe. Does not change or take ownership of
2508
+ any arguments. Returns 0 if successful, -1 if sending failed for any
2509
+ reason.
2510
+
2511
+ ```
2512
+ integer my_zsock.recv (String)
2513
+ ```
2514
+
2515
+ Receive a 'picture' message to the socket (or actor). See zsock_send for
2516
+ the format and meaning of the picture. Returns the picture elements into
2517
+ a series of pointers as provided by the caller:
2518
+
2519
+ i = int * (stores signed integer)
2520
+ 4 = uint32_t * (stores 32-bit unsigned integer)
2521
+ 8 = uint64_t * (stores 64-bit unsigned integer)
2522
+ s = char ** (allocates new string)
2523
+ b = byte **, size_t * (2 arguments) (allocates memory)
2524
+ c = zchunk_t ** (creates zchunk)
2525
+ f = zframe_t ** (creates zframe)
2526
+ U = zuuid_t * (creates a zuuid with the data)
2527
+ h = zhashx_t ** (creates zhashx)
2528
+ p = void ** (stores pointer)
2529
+ m = zmsg_t ** (creates a zmsg with the remaing frames)
2530
+ z = null, asserts empty frame (0 arguments)
2531
+ u = uint * (stores unsigned integer, deprecated)
2532
+
2533
+ Note that zsock_recv creates the returned objects, and the caller must
2534
+ destroy them when finished with them. The supplied pointers do not need
2535
+ to be initialized. Returns 0 if successful, or -1 if it failed to recv
2536
+ a message, in which case the pointers are not modified. When message
2537
+ frames are truncated (a short message), sets return values to zero/null.
2538
+ If an argument pointer is NULL, does not store any value (skips it).
2539
+ An 'n' picture matches an empty frame; if the message does not match,
2540
+ the method will return -1.
2541
+
2542
+ ```
2543
+ integer my_zsock.bsend (String)
2544
+ ```
2545
+
2546
+ Send a binary encoded 'picture' message to the socket (or actor). This
2547
+ method is similar to zsock_send, except the arguments are encoded in a
2548
+ binary format that is compatible with zproto, and is designed to reduce
2549
+ memory allocations. The pattern argument is a string that defines the
2550
+ type of each argument. Supports these argument types:
2551
+
2552
+ pattern C type zproto type:
2553
+ 1 uint8_t type = "number" size = "1"
2554
+ 2 uint16_t type = "number" size = "2"
2555
+ 4 uint32_t type = "number" size = "3"
2556
+ 8 uint64_t type = "number" size = "4"
2557
+ s char *, 0-255 chars type = "string"
2558
+ S char *, 0-2^32-1 chars type = "longstr"
2559
+ c zchunk_t * type = "chunk"
2560
+ f zframe_t * type = "frame"
2561
+ u zuuid_t * type = "uuid"
2562
+ m zmsg_t * type = "msg"
2563
+ p void *, sends pointer value, only over inproc
2564
+
2565
+ Does not change or take ownership of any arguments. Returns 0 if
2566
+ successful, -1 if sending failed for any reason.
2567
+
2568
+ ```
2569
+ integer my_zsock.brecv (String)
2570
+ ```
2571
+
2572
+ Receive a binary encoded 'picture' message from the socket (or actor).
2573
+ This method is similar to zsock_recv, except the arguments are encoded
2574
+ in a binary format that is compatible with zproto, and is designed to
2575
+ reduce memory allocations. The pattern argument is a string that defines
2576
+ the type of each argument. See zsock_bsend for the supported argument
2577
+ types. All arguments must be pointers; this call sets them to point to
2578
+ values held on a per-socket basis.
2579
+ For types 1, 2, 4 and 8 the caller must allocate the memory itself before
2580
+ calling zsock_brecv.
2581
+ For types S, the caller must free the value once finished with it, as
2582
+ zsock_brecv will allocate the buffer.
2583
+ For type s, the caller must not free the value as it is stored in a
2584
+ local cache for performance purposes.
2585
+ For types c, f, u and m the caller must call the appropriate destructor
2586
+ depending on the object as zsock_brecv will create new objects.
2587
+ For type p the caller must coordinate with the sender, as it is just a
2588
+ pointer value being passed.
2589
+
2590
+ ```
2591
+ number my_zsock.routingId ()
2592
+ ```
2593
+
2594
+ Return socket routing ID if any. This returns 0 if the socket is not
2595
+ of type ZMQ_SERVER or if no request was already received on it.
2596
+
2597
+ ```
2598
+ nothing my_zsock.setRoutingId (Number)
2599
+ ```
2600
+
2601
+ Set routing ID on socket. The socket MUST be of type ZMQ_SERVER.
2602
+ This will be used when sending messages on the socket via the zsock API.
2603
+
2604
+ ```
2605
+ nothing my_zsock.setUnbounded ()
2606
+ ```
2607
+
2608
+ Set socket to use unbounded pipes (HWM=0); use this in cases when you are
2609
+ totally certain the message volume can fit in memory. This method works
2610
+ across all versions of ZeroMQ. Takes a polymorphic socket reference.
2611
+
2612
+ ```
2613
+ integer my_zsock.wait ()
2614
+ ```
2615
+
2616
+ Wait on a signal. Use this to coordinate between threads, over pipe
2617
+ pairs. Blocks until the signal is received. Returns -1 on error, 0 or
2618
+ greater on success. Accepts a zsock_t or a zactor_t as argument.
2619
+ Takes a polymorphic socket reference.
2620
+
2621
+ ```
2622
+ nothing my_zsock.flush ()
2623
+ ```
2624
+
2625
+ If there is a partial message still waiting on the socket, remove and
2626
+ discard it. This is useful when reading partial messages, to get specific
2627
+ message types.
2628
+
2629
+ ```
2630
+ integer my_zsock.join (String)
2631
+ ```
2632
+
2633
+ Join a group for the RADIO-DISH pattern. Call only on ZMQ_DISH.
2634
+ Returns 0 if OK, -1 if failed.
2635
+
2636
+ ```
2637
+ integer my_zsock.leave (String)
2638
+ ```
2639
+
2640
+ Leave a group for the RADIO-DISH pattern. Call only on ZMQ_DISH.
2641
+ Returns 0 if OK, -1 if failed.
2642
+
2643
+ ```
2644
+ integer my_zsock.heartbeatIvl ()
2645
+ ```
2646
+
2647
+ Get socket option `heartbeat_ivl`.
2648
+ Available from libzmq 4.2.0.
2649
+
2650
+ ```
2651
+ nothing my_zsock.setHeartbeatIvl (Number)
2652
+ ```
2653
+
2654
+ Set socket option `heartbeat_ivl`.
2655
+ Available from libzmq 4.2.0.
2656
+
2657
+ ```
2658
+ integer my_zsock.heartbeatTtl ()
2659
+ ```
2660
+
2661
+ Get socket option `heartbeat_ttl`.
2662
+ Available from libzmq 4.2.0.
2663
+
2664
+ ```
2665
+ nothing my_zsock.setHeartbeatTtl (Number)
2666
+ ```
2667
+
2668
+ Set socket option `heartbeat_ttl`.
2669
+ Available from libzmq 4.2.0.
2670
+
2671
+ ```
2672
+ integer my_zsock.heartbeatTimeout ()
2673
+ ```
2674
+
2675
+ Get socket option `heartbeat_timeout`.
2676
+ Available from libzmq 4.2.0.
2677
+
2678
+ ```
2679
+ nothing my_zsock.setHeartbeatTimeout (Number)
2680
+ ```
2681
+
2682
+ Set socket option `heartbeat_timeout`.
2683
+ Available from libzmq 4.2.0.
2684
+
2685
+ ```
2686
+ integer my_zsock.useFd ()
2687
+ ```
2688
+
2689
+ Get socket option `use_fd`.
2690
+ Available from libzmq 4.2.0.
2691
+
2692
+ ```
2693
+ nothing my_zsock.setUseFd (Number)
2694
+ ```
2695
+
2696
+ Set socket option `use_fd`.
2697
+ Available from libzmq 4.2.0.
2698
+
2699
+ ```
2700
+ nothing my_zsock.setXpubManual (Number)
2701
+ ```
2702
+
2703
+ Set socket option `xpub_manual`.
2704
+ Available from libzmq 4.2.0.
2705
+
2706
+ ```
2707
+ nothing my_zsock.setXpubWelcomeMsg (String)
2708
+ ```
2709
+
2710
+ Set socket option `xpub_welcome_msg`.
2711
+ Available from libzmq 4.2.0.
2712
+
2713
+ ```
2714
+ nothing my_zsock.setStreamNotify (Number)
2715
+ ```
2716
+
2717
+ Set socket option `stream_notify`.
2718
+ Available from libzmq 4.2.0.
2719
+
2720
+ ```
2721
+ integer my_zsock.invertMatching ()
2722
+ ```
2723
+
2724
+ Get socket option `invert_matching`.
2725
+ Available from libzmq 4.2.0.
2726
+
2727
+ ```
2728
+ nothing my_zsock.setInvertMatching (Number)
2729
+ ```
2730
+
2731
+ Set socket option `invert_matching`.
2732
+ Available from libzmq 4.2.0.
2733
+
2734
+ ```
2735
+ nothing my_zsock.setXpubVerboser (Number)
2736
+ ```
2737
+
2738
+ Set socket option `xpub_verboser`.
2739
+ Available from libzmq 4.2.0.
2740
+
2741
+ ```
2742
+ integer my_zsock.connectTimeout ()
2743
+ ```
2744
+
2745
+ Get socket option `connect_timeout`.
2746
+ Available from libzmq 4.2.0.
2747
+
2748
+ ```
2749
+ nothing my_zsock.setConnectTimeout (Number)
2750
+ ```
2751
+
2752
+ Set socket option `connect_timeout`.
2753
+ Available from libzmq 4.2.0.
2754
+
2755
+ ```
2756
+ integer my_zsock.tcpMaxrt ()
2757
+ ```
2758
+
2759
+ Get socket option `tcp_maxrt`.
2760
+ Available from libzmq 4.2.0.
2761
+
2762
+ ```
2763
+ nothing my_zsock.setTcpMaxrt (Number)
2764
+ ```
2765
+
2766
+ Set socket option `tcp_maxrt`.
2767
+ Available from libzmq 4.2.0.
2768
+
2769
+ ```
2770
+ integer my_zsock.threadSafe ()
2771
+ ```
2772
+
2773
+ Get socket option `thread_safe`.
2774
+ Available from libzmq 4.2.0.
2775
+
2776
+ ```
2777
+ integer my_zsock.multicastMaxtpdu ()
2778
+ ```
2779
+
2780
+ Get socket option `multicast_maxtpdu`.
2781
+ Available from libzmq 4.2.0.
2782
+
2783
+ ```
2784
+ nothing my_zsock.setMulticastMaxtpdu (Number)
2785
+ ```
2786
+
2787
+ Set socket option `multicast_maxtpdu`.
2788
+ Available from libzmq 4.2.0.
2789
+
2790
+ ```
2791
+ integer my_zsock.vmciBufferSize ()
2792
+ ```
2793
+
2794
+ Get socket option `vmci_buffer_size`.
2795
+ Available from libzmq 4.2.0.
2796
+
2797
+ ```
2798
+ nothing my_zsock.setVmciBufferSize (Number)
2799
+ ```
2800
+
2801
+ Set socket option `vmci_buffer_size`.
2802
+ Available from libzmq 4.2.0.
2803
+
2804
+ ```
2805
+ integer my_zsock.vmciBufferMinSize ()
2806
+ ```
2807
+
2808
+ Get socket option `vmci_buffer_min_size`.
2809
+ Available from libzmq 4.2.0.
2810
+
2811
+ ```
2812
+ nothing my_zsock.setVmciBufferMinSize (Number)
2813
+ ```
2814
+
2815
+ Set socket option `vmci_buffer_min_size`.
2816
+ Available from libzmq 4.2.0.
2817
+
2818
+ ```
2819
+ integer my_zsock.vmciBufferMaxSize ()
2820
+ ```
2821
+
2822
+ Get socket option `vmci_buffer_max_size`.
2823
+ Available from libzmq 4.2.0.
2824
+
2825
+ ```
2826
+ nothing my_zsock.setVmciBufferMaxSize (Number)
2827
+ ```
2828
+
2829
+ Set socket option `vmci_buffer_max_size`.
2830
+ Available from libzmq 4.2.0.
2831
+
2832
+ ```
2833
+ integer my_zsock.vmciConnectTimeout ()
2834
+ ```
2835
+
2836
+ Get socket option `vmci_connect_timeout`.
2837
+ Available from libzmq 4.2.0.
2838
+
2839
+ ```
2840
+ nothing my_zsock.setVmciConnectTimeout (Number)
2841
+ ```
2842
+
2843
+ Set socket option `vmci_connect_timeout`.
2844
+ Available from libzmq 4.2.0.
2845
+
2846
+ ```
2847
+ integer my_zsock.tos ()
2848
+ ```
2849
+
2850
+ Get socket option `tos`.
2851
+ Available from libzmq 4.1.0.
2852
+
2853
+ ```
2854
+ nothing my_zsock.setTos (Number)
2855
+ ```
2856
+
2857
+ Set socket option `tos`.
2858
+ Available from libzmq 4.1.0.
2859
+
2860
+ ```
2861
+ nothing my_zsock.setRouterHandover (Number)
2862
+ ```
2863
+
2864
+ Set socket option `router_handover`.
2865
+ Available from libzmq 4.1.0.
2866
+
2867
+ ```
2868
+ nothing my_zsock.setConnectRid (String)
2869
+ ```
2870
+
2871
+ Set socket option `connect_rid`.
2872
+ Available from libzmq 4.1.0.
2873
+
2874
+ ```
2875
+ nothing my_zsock.setConnectRidBin (String)
2876
+ ```
2877
+
2878
+ Set socket option `connect_rid` from 32-octet binary
2879
+ Available from libzmq 4.1.0.
2880
+
2881
+ ```
2882
+ integer my_zsock.handshakeIvl ()
2883
+ ```
2884
+
2885
+ Get socket option `handshake_ivl`.
2886
+ Available from libzmq 4.1.0.
2887
+
2888
+ ```
2889
+ nothing my_zsock.setHandshakeIvl (Number)
2890
+ ```
2891
+
2892
+ Set socket option `handshake_ivl`.
2893
+ Available from libzmq 4.1.0.
2894
+
2895
+ ```
2896
+ string my_zsock.socksProxy ()
2897
+ ```
2898
+
2899
+ Get socket option `socks_proxy`.
2900
+ Available from libzmq 4.1.0.
2901
+
2902
+ ```
2903
+ nothing my_zsock.setSocksProxy (String)
2904
+ ```
2905
+
2906
+ Set socket option `socks_proxy`.
2907
+ Available from libzmq 4.1.0.
2908
+
2909
+ ```
2910
+ nothing my_zsock.setXpubNodrop (Number)
2911
+ ```
2912
+
2913
+ Set socket option `xpub_nodrop`.
2914
+ Available from libzmq 4.1.0.
2915
+
2916
+ ```
2917
+ nothing my_zsock.setRouterMandatory (Number)
2918
+ ```
2919
+
2920
+ Set socket option `router_mandatory`.
2921
+ Available from libzmq 4.0.0.
2922
+
2923
+ ```
2924
+ nothing my_zsock.setProbeRouter (Number)
2925
+ ```
2926
+
2927
+ Set socket option `probe_router`.
2928
+ Available from libzmq 4.0.0.
2929
+
2930
+ ```
2931
+ nothing my_zsock.setReqRelaxed (Number)
2932
+ ```
2933
+
2934
+ Set socket option `req_relaxed`.
2935
+ Available from libzmq 4.0.0.
2936
+
2937
+ ```
2938
+ nothing my_zsock.setReqCorrelate (Number)
2939
+ ```
2940
+
2941
+ Set socket option `req_correlate`.
2942
+ Available from libzmq 4.0.0.
2943
+
2944
+ ```
2945
+ nothing my_zsock.setConflate (Number)
2946
+ ```
2947
+
2948
+ Set socket option `conflate`.
2949
+ Available from libzmq 4.0.0.
2950
+
2951
+ ```
2952
+ string my_zsock.zapDomain ()
2953
+ ```
2954
+
2955
+ Get socket option `zap_domain`.
2956
+ Available from libzmq 4.0.0.
2957
+
2958
+ ```
2959
+ nothing my_zsock.setZapDomain (String)
2960
+ ```
2961
+
2962
+ Set socket option `zap_domain`.
2963
+ Available from libzmq 4.0.0.
2964
+
2965
+ ```
2966
+ integer my_zsock.mechanism ()
2967
+ ```
2968
+
2969
+ Get socket option `mechanism`.
2970
+ Available from libzmq 4.0.0.
2971
+
2972
+ ```
2973
+ integer my_zsock.plainServer ()
2974
+ ```
2975
+
2976
+ Get socket option `plain_server`.
2977
+ Available from libzmq 4.0.0.
2978
+
2979
+ ```
2980
+ nothing my_zsock.setPlainServer (Number)
2981
+ ```
2982
+
2983
+ Set socket option `plain_server`.
2984
+ Available from libzmq 4.0.0.
2985
+
2986
+ ```
2987
+ string my_zsock.plainUsername ()
2988
+ ```
2989
+
2990
+ Get socket option `plain_username`.
2991
+ Available from libzmq 4.0.0.
2992
+
2993
+ ```
2994
+ nothing my_zsock.setPlainUsername (String)
2995
+ ```
2996
+
2997
+ Set socket option `plain_username`.
2998
+ Available from libzmq 4.0.0.
2999
+
3000
+ ```
3001
+ string my_zsock.plainPassword ()
3002
+ ```
3003
+
3004
+ Get socket option `plain_password`.
3005
+ Available from libzmq 4.0.0.
3006
+
3007
+ ```
3008
+ nothing my_zsock.setPlainPassword (String)
3009
+ ```
3010
+
3011
+ Set socket option `plain_password`.
3012
+ Available from libzmq 4.0.0.
3013
+
3014
+ ```
3015
+ integer my_zsock.curveServer ()
3016
+ ```
3017
+
3018
+ Get socket option `curve_server`.
3019
+ Available from libzmq 4.0.0.
3020
+
3021
+ ```
3022
+ nothing my_zsock.setCurveServer (Number)
3023
+ ```
3024
+
3025
+ Set socket option `curve_server`.
3026
+ Available from libzmq 4.0.0.
3027
+
3028
+ ```
3029
+ string my_zsock.curvePublickey ()
3030
+ ```
3031
+
3032
+ Get socket option `curve_publickey`.
3033
+ Available from libzmq 4.0.0.
3034
+
3035
+ ```
3036
+ nothing my_zsock.setCurvePublickey (String)
3037
+ ```
3038
+
3039
+ Set socket option `curve_publickey`.
3040
+ Available from libzmq 4.0.0.
3041
+
3042
+ ```
3043
+ nothing my_zsock.setCurvePublickeyBin (String)
3044
+ ```
3045
+
3046
+ Set socket option `curve_publickey` from 32-octet binary
3047
+ Available from libzmq 4.0.0.
3048
+
3049
+ ```
3050
+ string my_zsock.curveSecretkey ()
3051
+ ```
3052
+
3053
+ Get socket option `curve_secretkey`.
3054
+ Available from libzmq 4.0.0.
3055
+
3056
+ ```
3057
+ nothing my_zsock.setCurveSecretkey (String)
3058
+ ```
3059
+
3060
+ Set socket option `curve_secretkey`.
3061
+ Available from libzmq 4.0.0.
3062
+
3063
+ ```
3064
+ nothing my_zsock.setCurveSecretkeyBin (String)
3065
+ ```
3066
+
3067
+ Set socket option `curve_secretkey` from 32-octet binary
3068
+ Available from libzmq 4.0.0.
3069
+
3070
+ ```
3071
+ string my_zsock.curveServerkey ()
3072
+ ```
3073
+
3074
+ Get socket option `curve_serverkey`.
3075
+ Available from libzmq 4.0.0.
3076
+
3077
+ ```
3078
+ nothing my_zsock.setCurveServerkey (String)
3079
+ ```
3080
+
3081
+ Set socket option `curve_serverkey`.
3082
+ Available from libzmq 4.0.0.
3083
+
3084
+ ```
3085
+ nothing my_zsock.setCurveServerkeyBin (String)
3086
+ ```
3087
+
3088
+ Set socket option `curve_serverkey` from 32-octet binary
3089
+ Available from libzmq 4.0.0.
3090
+
3091
+ ```
3092
+ integer my_zsock.gssapiServer ()
3093
+ ```
3094
+
3095
+ Get socket option `gssapi_server`.
3096
+ Available from libzmq 4.0.0.
3097
+
3098
+ ```
3099
+ nothing my_zsock.setGssapiServer (Number)
3100
+ ```
3101
+
3102
+ Set socket option `gssapi_server`.
3103
+ Available from libzmq 4.0.0.
3104
+
3105
+ ```
3106
+ integer my_zsock.gssapiPlaintext ()
3107
+ ```
3108
+
3109
+ Get socket option `gssapi_plaintext`.
3110
+ Available from libzmq 4.0.0.
3111
+
3112
+ ```
3113
+ nothing my_zsock.setGssapiPlaintext (Number)
3114
+ ```
3115
+
3116
+ Set socket option `gssapi_plaintext`.
3117
+ Available from libzmq 4.0.0.
3118
+
3119
+ ```
3120
+ string my_zsock.gssapiPrincipal ()
3121
+ ```
3122
+
3123
+ Get socket option `gssapi_principal`.
3124
+ Available from libzmq 4.0.0.
3125
+
3126
+ ```
3127
+ nothing my_zsock.setGssapiPrincipal (String)
3128
+ ```
3129
+
3130
+ Set socket option `gssapi_principal`.
3131
+ Available from libzmq 4.0.0.
3132
+
3133
+ ```
3134
+ string my_zsock.gssapiServicePrincipal ()
3135
+ ```
3136
+
3137
+ Get socket option `gssapi_service_principal`.
3138
+ Available from libzmq 4.0.0.
3139
+
3140
+ ```
3141
+ nothing my_zsock.setGssapiServicePrincipal (String)
3142
+ ```
3143
+
3144
+ Set socket option `gssapi_service_principal`.
3145
+ Available from libzmq 4.0.0.
3146
+
3147
+ ```
3148
+ integer my_zsock.ipv6 ()
3149
+ ```
3150
+
3151
+ Get socket option `ipv6`.
3152
+ Available from libzmq 4.0.0.
3153
+
3154
+ ```
3155
+ nothing my_zsock.setIpv6 (Number)
3156
+ ```
3157
+
3158
+ Set socket option `ipv6`.
3159
+ Available from libzmq 4.0.0.
3160
+
3161
+ ```
3162
+ integer my_zsock.immediate ()
3163
+ ```
3164
+
3165
+ Get socket option `immediate`.
3166
+ Available from libzmq 4.0.0.
3167
+
3168
+ ```
3169
+ nothing my_zsock.setImmediate (Number)
3170
+ ```
3171
+
3172
+ Set socket option `immediate`.
3173
+ Available from libzmq 4.0.0.
3174
+
3175
+ ```
3176
+ integer my_zsock.sndhwm ()
3177
+ ```
3178
+
3179
+ Get socket option `sndhwm`.
3180
+ Available from libzmq 3.0.0.
3181
+
3182
+ ```
3183
+ nothing my_zsock.setSndhwm (Number)
3184
+ ```
3185
+
3186
+ Set socket option `sndhwm`.
3187
+ Available from libzmq 3.0.0.
3188
+
3189
+ ```
3190
+ integer my_zsock.rcvhwm ()
3191
+ ```
3192
+
3193
+ Get socket option `rcvhwm`.
3194
+ Available from libzmq 3.0.0.
3195
+
3196
+ ```
3197
+ nothing my_zsock.setRcvhwm (Number)
3198
+ ```
3199
+
3200
+ Set socket option `rcvhwm`.
3201
+ Available from libzmq 3.0.0.
3202
+
3203
+ ```
3204
+ integer my_zsock.maxmsgsize ()
3205
+ ```
3206
+
3207
+ Get socket option `maxmsgsize`.
3208
+ Available from libzmq 3.0.0.
3209
+
3210
+ ```
3211
+ nothing my_zsock.setMaxmsgsize (Number)
3212
+ ```
3213
+
3214
+ Set socket option `maxmsgsize`.
3215
+ Available from libzmq 3.0.0.
3216
+
3217
+ ```
3218
+ integer my_zsock.multicastHops ()
3219
+ ```
3220
+
3221
+ Get socket option `multicast_hops`.
3222
+ Available from libzmq 3.0.0.
3223
+
3224
+ ```
3225
+ nothing my_zsock.setMulticastHops (Number)
3226
+ ```
3227
+
3228
+ Set socket option `multicast_hops`.
3229
+ Available from libzmq 3.0.0.
3230
+
3231
+ ```
3232
+ nothing my_zsock.setXpubVerbose (Number)
3233
+ ```
3234
+
3235
+ Set socket option `xpub_verbose`.
3236
+ Available from libzmq 3.0.0.
3237
+
3238
+ ```
3239
+ integer my_zsock.tcpKeepalive ()
3240
+ ```
3241
+
3242
+ Get socket option `tcp_keepalive`.
3243
+ Available from libzmq 3.0.0.
3244
+
3245
+ ```
3246
+ nothing my_zsock.setTcpKeepalive (Number)
3247
+ ```
3248
+
3249
+ Set socket option `tcp_keepalive`.
3250
+ Available from libzmq 3.0.0.
3251
+
3252
+ ```
3253
+ integer my_zsock.tcpKeepaliveIdle ()
3254
+ ```
3255
+
3256
+ Get socket option `tcp_keepalive_idle`.
3257
+ Available from libzmq 3.0.0.
3258
+
3259
+ ```
3260
+ nothing my_zsock.setTcpKeepaliveIdle (Number)
3261
+ ```
3262
+
3263
+ Set socket option `tcp_keepalive_idle`.
3264
+ Available from libzmq 3.0.0.
3265
+
3266
+ ```
3267
+ integer my_zsock.tcpKeepaliveCnt ()
3268
+ ```
3269
+
3270
+ Get socket option `tcp_keepalive_cnt`.
3271
+ Available from libzmq 3.0.0.
3272
+
3273
+ ```
3274
+ nothing my_zsock.setTcpKeepaliveCnt (Number)
3275
+ ```
3276
+
3277
+ Set socket option `tcp_keepalive_cnt`.
3278
+ Available from libzmq 3.0.0.
3279
+
3280
+ ```
3281
+ integer my_zsock.tcpKeepaliveIntvl ()
3282
+ ```
3283
+
3284
+ Get socket option `tcp_keepalive_intvl`.
3285
+ Available from libzmq 3.0.0.
3286
+
3287
+ ```
3288
+ nothing my_zsock.setTcpKeepaliveIntvl (Number)
3289
+ ```
3290
+
3291
+ Set socket option `tcp_keepalive_intvl`.
3292
+ Available from libzmq 3.0.0.
3293
+
3294
+ ```
3295
+ string my_zsock.tcpAcceptFilter ()
3296
+ ```
3297
+
3298
+ Get socket option `tcp_accept_filter`.
3299
+ Available from libzmq 3.0.0.
3300
+
3301
+ ```
3302
+ nothing my_zsock.setTcpAcceptFilter (String)
3303
+ ```
3304
+
3305
+ Set socket option `tcp_accept_filter`.
3306
+ Available from libzmq 3.0.0.
3307
+
3308
+ ```
3309
+ string my_zsock.lastEndpoint ()
3310
+ ```
3311
+
3312
+ Get socket option `last_endpoint`.
3313
+ Available from libzmq 3.0.0.
3314
+
3315
+ ```
3316
+ nothing my_zsock.setRouterRaw (Number)
3317
+ ```
3318
+
3319
+ Set socket option `router_raw`.
3320
+ Available from libzmq 3.0.0.
3321
+
3322
+ ```
3323
+ integer my_zsock.ipv4only ()
3324
+ ```
3325
+
3326
+ Get socket option `ipv4only`.
3327
+ Available from libzmq 3.0.0.
3328
+
3329
+ ```
3330
+ nothing my_zsock.setIpv4only (Number)
3331
+ ```
3332
+
3333
+ Set socket option `ipv4only`.
3334
+ Available from libzmq 3.0.0.
3335
+
3336
+ ```
3337
+ nothing my_zsock.setDelayAttachOnConnect (Number)
3338
+ ```
3339
+
3340
+ Set socket option `delay_attach_on_connect`.
3341
+ Available from libzmq 3.0.0.
3342
+
3343
+ ```
3344
+ integer my_zsock.hwm ()
3345
+ ```
3346
+
3347
+ Get socket option `hwm`.
3348
+ Available from libzmq 2.0.0 to 3.0.0.
3349
+
3350
+ ```
3351
+ nothing my_zsock.setHwm (Number)
3352
+ ```
3353
+
3354
+ Set socket option `hwm`.
3355
+ Available from libzmq 2.0.0 to 3.0.0.
3356
+
3357
+ ```
3358
+ integer my_zsock.swap ()
3359
+ ```
3360
+
3361
+ Get socket option `swap`.
3362
+ Available from libzmq 2.0.0 to 3.0.0.
3363
+
3364
+ ```
3365
+ nothing my_zsock.setSwap (Number)
3366
+ ```
3367
+
3368
+ Set socket option `swap`.
3369
+ Available from libzmq 2.0.0 to 3.0.0.
3370
+
3371
+ ```
3372
+ integer my_zsock.affinity ()
3373
+ ```
3374
+
3375
+ Get socket option `affinity`.
3376
+ Available from libzmq 2.0.0.
3377
+
3378
+ ```
3379
+ nothing my_zsock.setAffinity (Number)
3380
+ ```
3381
+
3382
+ Set socket option `affinity`.
3383
+ Available from libzmq 2.0.0.
3384
+
3385
+ ```
3386
+ string my_zsock.identity ()
3387
+ ```
3388
+
3389
+ Get socket option `identity`.
3390
+ Available from libzmq 2.0.0.
3391
+
3392
+ ```
3393
+ nothing my_zsock.setIdentity (String)
3394
+ ```
3395
+
3396
+ Set socket option `identity`.
3397
+ Available from libzmq 2.0.0.
3398
+
3399
+ ```
3400
+ integer my_zsock.rate ()
3401
+ ```
3402
+
3403
+ Get socket option `rate`.
3404
+ Available from libzmq 2.0.0.
3405
+
3406
+ ```
3407
+ nothing my_zsock.setRate (Number)
3408
+ ```
3409
+
3410
+ Set socket option `rate`.
3411
+ Available from libzmq 2.0.0.
3412
+
3413
+ ```
3414
+ integer my_zsock.recoveryIvl ()
3415
+ ```
3416
+
3417
+ Get socket option `recovery_ivl`.
3418
+ Available from libzmq 2.0.0.
3419
+
3420
+ ```
3421
+ nothing my_zsock.setRecoveryIvl (Number)
3422
+ ```
3423
+
3424
+ Set socket option `recovery_ivl`.
3425
+ Available from libzmq 2.0.0.
3426
+
3427
+ ```
3428
+ integer my_zsock.recoveryIvlMsec ()
3429
+ ```
3430
+
3431
+ Get socket option `recovery_ivl_msec`.
3432
+ Available from libzmq 2.0.0 to 3.0.0.
3433
+
3434
+ ```
3435
+ nothing my_zsock.setRecoveryIvlMsec (Number)
3436
+ ```
3437
+
3438
+ Set socket option `recovery_ivl_msec`.
3439
+ Available from libzmq 2.0.0 to 3.0.0.
3440
+
3441
+ ```
3442
+ integer my_zsock.mcastLoop ()
3443
+ ```
3444
+
3445
+ Get socket option `mcast_loop`.
3446
+ Available from libzmq 2.0.0 to 3.0.0.
3447
+
3448
+ ```
3449
+ nothing my_zsock.setMcastLoop (Number)
3450
+ ```
3451
+
3452
+ Set socket option `mcast_loop`.
3453
+ Available from libzmq 2.0.0 to 3.0.0.
3454
+
3455
+ ```
3456
+ integer my_zsock.rcvtimeo ()
3457
+ ```
3458
+
3459
+ Get socket option `rcvtimeo`.
3460
+ Available from libzmq 2.2.0.
3461
+
3462
+ ```
3463
+ nothing my_zsock.setRcvtimeo (Number)
3464
+ ```
3465
+
3466
+ Set socket option `rcvtimeo`.
3467
+ Available from libzmq 2.2.0.
3468
+
3469
+ ```
3470
+ integer my_zsock.sndtimeo ()
3471
+ ```
3472
+
3473
+ Get socket option `sndtimeo`.
3474
+ Available from libzmq 2.2.0.
3475
+
3476
+ ```
3477
+ nothing my_zsock.setSndtimeo (Number)
3478
+ ```
3479
+
3480
+ Set socket option `sndtimeo`.
3481
+ Available from libzmq 2.2.0.
3482
+
3483
+ ```
3484
+ integer my_zsock.sndbuf ()
3485
+ ```
3486
+
3487
+ Get socket option `sndbuf`.
3488
+ Available from libzmq 2.0.0.
3489
+
3490
+ ```
3491
+ nothing my_zsock.setSndbuf (Number)
3492
+ ```
3493
+
3494
+ Set socket option `sndbuf`.
3495
+ Available from libzmq 2.0.0.
3496
+
3497
+ ```
3498
+ integer my_zsock.rcvbuf ()
3499
+ ```
3500
+
3501
+ Get socket option `rcvbuf`.
3502
+ Available from libzmq 2.0.0.
3503
+
3504
+ ```
3505
+ nothing my_zsock.setRcvbuf (Number)
3506
+ ```
3507
+
3508
+ Set socket option `rcvbuf`.
3509
+ Available from libzmq 2.0.0.
3510
+
3511
+ ```
3512
+ integer my_zsock.linger ()
3513
+ ```
3514
+
3515
+ Get socket option `linger`.
3516
+ Available from libzmq 2.0.0.
3517
+
3518
+ ```
3519
+ nothing my_zsock.setLinger (Number)
3520
+ ```
3521
+
3522
+ Set socket option `linger`.
3523
+ Available from libzmq 2.0.0.
3524
+
3525
+ ```
3526
+ integer my_zsock.reconnectIvl ()
3527
+ ```
3528
+
3529
+ Get socket option `reconnect_ivl`.
3530
+ Available from libzmq 2.0.0.
3531
+
3532
+ ```
3533
+ nothing my_zsock.setReconnectIvl (Number)
3534
+ ```
3535
+
3536
+ Set socket option `reconnect_ivl`.
3537
+ Available from libzmq 2.0.0.
3538
+
3539
+ ```
3540
+ integer my_zsock.reconnectIvlMax ()
3541
+ ```
3542
+
3543
+ Get socket option `reconnect_ivl_max`.
3544
+ Available from libzmq 2.0.0.
3545
+
3546
+ ```
3547
+ nothing my_zsock.setReconnectIvlMax (Number)
3548
+ ```
3549
+
3550
+ Set socket option `reconnect_ivl_max`.
3551
+ Available from libzmq 2.0.0.
3552
+
3553
+ ```
3554
+ integer my_zsock.backlog ()
3555
+ ```
3556
+
3557
+ Get socket option `backlog`.
3558
+ Available from libzmq 2.0.0.
3559
+
3560
+ ```
3561
+ nothing my_zsock.setBacklog (Number)
3562
+ ```
3563
+
3564
+ Set socket option `backlog`.
3565
+ Available from libzmq 2.0.0.
3566
+
3567
+ ```
3568
+ nothing my_zsock.setSubscribe (String)
3569
+ ```
3570
+
3571
+ Set socket option `subscribe`.
3572
+ Available from libzmq 2.0.0.
3573
+
3574
+ ```
3575
+ nothing my_zsock.setUnsubscribe (String)
3576
+ ```
3577
+
3578
+ Set socket option `unsubscribe`.
3579
+ Available from libzmq 2.0.0.
3580
+
3581
+ ```
3582
+ integer my_zsock.type ()
3583
+ ```
3584
+
3585
+ Get socket option `type`.
3586
+ Available from libzmq 2.0.0.
3587
+
3588
+ ```
3589
+ integer my_zsock.rcvmore ()
3590
+ ```
3591
+
3592
+ Get socket option `rcvmore`.
3593
+ Available from libzmq 2.0.0.
3594
+
3595
+ ```
3596
+ integer my_zsock.events ()
3597
+ ```
3598
+
3599
+ Get socket option `events`.
3600
+ Available from libzmq 2.0.0.
3601
+
3602
+ ```
3603
+ nothing my_zsock.test (Boolean)
3604
+ ```
3605
+
3606
+ Self test of this class.
3607
+
3608
+ ### The Zstr class - sending and receiving strings
3609
+
3610
+ Constructor:
3611
+
3612
+ ```
3613
+ var czmq = require ('bindings')('czmq')
3614
+ var my_zstr = new czmq.Zstr ()
3615
+ ```
3616
+
3617
+ Methods:
3618
+
3619
+ ```
3620
+ string my_zstr.recv (Zsock)
3621
+ ```
3622
+
3623
+ Receive C string from socket. Caller must free returned string using
3624
+ zstr_free(). Returns NULL if the context is being terminated or the
3625
+ process was interrupted.
3626
+
3627
+ ```
3628
+ integer my_zstr.recvx (Zsock, String)
3629
+ ```
3630
+
3631
+ Receive a series of strings (until NULL) from multipart data.
3632
+ Each string is allocated and filled with string data; if there
3633
+ are not enough frames, unallocated strings are set to NULL.
3634
+ Returns -1 if the message could not be read, else returns the
3635
+ number of strings filled, zero or more. Free each returned string
3636
+ using zstr_free(). If not enough strings are provided, remaining
3637
+ multipart frames in the message are dropped.
3638
+
3639
+ ```
3640
+ string my_zstr.recvCompress (Zsock)
3641
+ ```
3642
+
3643
+ De-compress and receive C string from socket, received as a message
3644
+ with two frames: size of the uncompressed string, and the string itself.
3645
+ Caller must free returned string using zstr_free(). Returns NULL if the
3646
+ context is being terminated or the process was interrupted.
3647
+
3648
+ ```
3649
+ integer my_zstr.send (Zsock, String)
3650
+ ```
3651
+
3652
+ Send a C string to a socket, as a frame. The string is sent without
3653
+ trailing null byte; to read this you can use zstr_recv, or a similar
3654
+ method that adds a null terminator on the received string. String
3655
+ may be NULL, which is sent as "".
3656
+
3657
+ ```
3658
+ integer my_zstr.sendm (Zsock, String)
3659
+ ```
3660
+
3661
+ Send a C string to a socket, as zstr_send(), with a MORE flag, so that
3662
+ you can send further strings in the same multi-part message.
3663
+
3664
+ ```
3665
+ integer my_zstr.sendf (Zsock, String)
3666
+ ```
3667
+
3668
+ Send a formatted string to a socket. Note that you should NOT use
3669
+ user-supplied strings in the format (they may contain '%' which
3670
+ will create security holes).
3671
+
3672
+ ```
3673
+ integer my_zstr.sendfm (Zsock, String)
3674
+ ```
3675
+
3676
+ Send a formatted string to a socket, as for zstr_sendf(), with a
3677
+ MORE flag, so that you can send further strings in the same multi-part
3678
+ message.
3679
+
3680
+ ```
3681
+ integer my_zstr.sendx (Zsock, String)
3682
+ ```
3683
+
3684
+ Send a series of strings (until NULL) as multipart data
3685
+ Returns 0 if the strings could be sent OK, or -1 on error.
3686
+
3687
+ ```
3688
+ integer my_zstr.sendCompress (Zsock, String)
3689
+ ```
3690
+
3691
+ Compress and send a C string to a socket, as a message with two frames:
3692
+ size of the uncompressed string, and the string itself. The string is
3693
+ sent without trailing null byte; to read this you can use
3694
+ zstr_recv_compress, or a similar method that de-compresses and adds a
3695
+ null terminator on the received string.
3696
+
3697
+ ```
3698
+ integer my_zstr.sendmCompress (Zsock, String)
3699
+ ```
3700
+
3701
+ Compress and send a C string to a socket, as zstr_send_compress(),
3702
+ with a MORE flag, so that you can send further strings in the same
3703
+ multi-part message.
3704
+
3705
+ ```
3706
+ string my_zstr.str (Zsock)
3707
+ ```
3708
+
3709
+ Accepts a void pointer and returns a fresh character string. If source
3710
+ is null, returns an empty string.
3711
+
3712
+ ```
3713
+ nothing my_zstr.free (String)
3714
+ ```
3715
+
3716
+ Free a provided string, and nullify the parent pointer. Safe to call on
3717
+ a null pointer.
3718
+
3719
+ ```
3720
+ nothing my_zstr.test (Boolean)
3721
+ ```
3722
+
3723
+ Self test of this class.
3724
+
3725
+ ### The Zsys class -
3726
+
3727
+ Constructor:
3728
+
3729
+ ```
3730
+ var czmq = require ('bindings')('czmq')
3731
+ var my_zsys = new czmq.Zsys ()
3732
+ ```
3733
+
3734
+ Methods:
3735
+
3736
+ ```
3737
+ nothing my_zsys.shutdown ()
3738
+ ```
3739
+
3740
+ Optionally shut down the CZMQ zsys layer; this normally happens automatically
3741
+ when the process exits; however this call lets you force a shutdown
3742
+ earlier, avoiding any potential problems with atexit() ordering, especially
3743
+ with Windows dlls.
3744
+
3745
+ ```
3746
+ string my_zsys.sockname (Number)
3747
+ ```
3748
+
3749
+ Return ZMQ socket name for socket type
3750
+ *** This is for CZMQ internal use only and may change arbitrarily ***
3751
+
3752
+ ```
3753
+ zsock my_zsys.createPipe (Zsock)
3754
+ ```
3755
+
3756
+ Create a pipe, which consists of two PAIR sockets connected over inproc.
3757
+ The pipe is configured to use the zsys_pipehwm setting. Returns the
3758
+ frontend socket successful, NULL if failed.
3759
+
3760
+ ```
3761
+ nothing my_zsys.handlerReset ()
3762
+ ```
3763
+
3764
+ Reset interrupt handler, call this at exit if needed
3765
+
3766
+ ```
3767
+ nothing my_zsys.catchInterrupts ()
3768
+ ```
3769
+
3770
+ Set default interrupt handler, so Ctrl-C or SIGTERM will set
3771
+ zsys_interrupted. Idempotent; safe to call multiple times.
3772
+ Can be supressed by ZSYS_SIGHANDLER=false
3773
+ *** This is for CZMQ internal use only and may change arbitrarily ***
3774
+
3775
+ ```
3776
+ boolean my_zsys.fileExists (String)
3777
+ ```
3778
+
3779
+ Return 1 if file exists, else zero
3780
+
3781
+ ```
3782
+ time my_zsys.fileModified (String)
3783
+ ```
3784
+
3785
+ Return file modification time. Returns 0 if the file does not exist.
3786
+
3787
+ ```
3788
+ integer my_zsys.fileMode (String)
3789
+ ```
3790
+
3791
+ Return file mode; provides at least support for the POSIX S_ISREG(m)
3792
+ and S_ISDIR(m) macros and the S_IRUSR and S_IWUSR bits, on all boxes.
3793
+ Returns a mode_t cast to int, or -1 in case of error.
3794
+
3795
+ ```
3796
+ integer my_zsys.fileDelete (String)
3797
+ ```
3798
+
3799
+ Delete file. Does not complain if the file is absent
3800
+
3801
+ ```
3802
+ boolean my_zsys.fileStable (String)
3803
+ ```
3804
+
3805
+ Check if file is 'stable'
3806
+
3807
+ ```
3808
+ integer my_zsys.dirCreate (String)
3809
+ ```
3810
+
3811
+ Create a file path if it doesn't exist. The file path is treated as
3812
+ printf format.
3813
+
3814
+ ```
3815
+ integer my_zsys.dirDelete (String)
3816
+ ```
3817
+
3818
+ Remove a file path if empty; the pathname is treated as printf format.
3819
+
3820
+ ```
3821
+ integer my_zsys.dirChange (String)
3822
+ ```
3823
+
3824
+ Move to a specified working directory. Returns 0 if OK, -1 if this failed.
3825
+
3826
+ ```
3827
+ nothing my_zsys.fileModePrivate ()
3828
+ ```
3829
+
3830
+ Set private file creation mode; all files created from here will be
3831
+ readable/writable by the owner only.
3832
+
3833
+ ```
3834
+ nothing my_zsys.fileModeDefault ()
3835
+ ```
3836
+
3837
+ Reset default file creation mode; all files created from here will use
3838
+ process file mode defaults.
3839
+
3840
+ ```
3841
+ nothing my_zsys.version (Number, Number, Number)
3842
+ ```
3843
+
3844
+ Return the CZMQ version for run-time API detection; returns version
3845
+ number into provided fields, providing reference isn't null in each case.
3846
+
3847
+ ```
3848
+ string my_zsys.sprintf (String)
3849
+ ```
3850
+
3851
+ Format a string using printf formatting, returning a freshly allocated
3852
+ buffer. If there was insufficient memory, returns NULL. Free the returned
3853
+ string using zstr_free().
3854
+
3855
+ ```
3856
+ nothing my_zsys.socketError (String)
3857
+ ```
3858
+
3859
+ Handle an I/O error on some socket operation; will report and die on
3860
+ fatal errors, and continue silently on "try again" errors.
3861
+ *** This is for CZMQ internal use only and may change arbitrarily ***
3862
+
3863
+ ```
3864
+ string my_zsys.hostname ()
3865
+ ```
3866
+
3867
+ Return current host name, for use in public tcp:// endpoints. Caller gets
3868
+ a freshly allocated string, should free it using zstr_free(). If the host
3869
+ name is not resolvable, returns NULL.
3870
+
3871
+ ```
3872
+ integer my_zsys.daemonize (String)
3873
+ ```
3874
+
3875
+ Move the current process into the background. The precise effect depends
3876
+ on the operating system. On POSIX boxes, moves to a specified working
3877
+ directory (if specified), closes all file handles, reopens stdin, stdout,
3878
+ and stderr to the null device, and sets the process to ignore SIGHUP. On
3879
+ Windows, does nothing. Returns 0 if OK, -1 if there was an error.
3880
+
3881
+ ```
3882
+ integer my_zsys.runAs (String, String, String)
3883
+ ```
3884
+
3885
+ Drop the process ID into the lockfile, with exclusive lock, and switch
3886
+ the process to the specified group and/or user. Any of the arguments
3887
+ may be null, indicating a no-op. Returns 0 on success, -1 on failure.
3888
+ Note if you combine this with zsys_daemonize, run after, not before
3889
+ that method, or the lockfile will hold the wrong process ID.
3890
+
3891
+ ```
3892
+ boolean my_zsys.hasCurve ()
3893
+ ```
3894
+
3895
+ Returns true if the underlying libzmq supports CURVE security.
3896
+ Uses a heuristic probe according to the version of libzmq being used.
3897
+
3898
+ ```
3899
+ nothing my_zsys.setIoThreads ()
3900
+ ```
3901
+
3902
+ Configure the number of I/O threads that ZeroMQ will use. A good
3903
+ rule of thumb is one thread per gigabit of traffic in or out. The
3904
+ default is 1, sufficient for most applications. If the environment
3905
+ variable ZSYS_IO_THREADS is defined, that provides the default.
3906
+ Note that this method is valid only before any socket is created.
3907
+
3908
+ ```
3909
+ nothing my_zsys.setThreadSchedPolicy (Number)
3910
+ ```
3911
+
3912
+ Configure the scheduling policy of the ZMQ context thread pool.
3913
+ Not available on Windows. See the sched_setscheduler man page or sched.h
3914
+ for more information. If the environment variable ZSYS_THREAD_SCHED_POLICY
3915
+ is defined, that provides the default.
3916
+ Note that this method is valid only before any socket is created.
3917
+
3918
+ ```
3919
+ nothing my_zsys.setThreadPriority (Number)
3920
+ ```
3921
+
3922
+ Configure the scheduling priority of the ZMQ context thread pool.
3923
+ Not available on Windows. See the sched_setscheduler man page or sched.h
3924
+ for more information. If the environment variable ZSYS_THREAD_PRIORITY is
3925
+ defined, that provides the default.
3926
+ Note that this method is valid only before any socket is created.
3927
+
3928
+ ```
3929
+ nothing my_zsys.setMaxSockets ()
3930
+ ```
3931
+
3932
+ Configure the number of sockets that ZeroMQ will allow. The default
3933
+ is 1024. The actual limit depends on the system, and you can query it
3934
+ by using zsys_socket_limit (). A value of zero means "maximum".
3935
+ Note that this method is valid only before any socket is created.
3936
+
3937
+ ```
3938
+ size my_zsys.socketLimit ()
3939
+ ```
3940
+
3941
+ Return maximum number of ZeroMQ sockets that the system will support.
3942
+
3943
+ ```
3944
+ nothing my_zsys.setMaxMsgsz (Number)
3945
+ ```
3946
+
3947
+ Configure the maximum allowed size of a message sent.
3948
+ The default is INT_MAX.
3949
+
3950
+ ```
3951
+ integer my_zsys.maxMsgsz ()
3952
+ ```
3953
+
3954
+ Return maximum message size.
3955
+
3956
+ ```
3957
+ nothing my_zsys.setFileStableAgeMsec (Number)
3958
+ ```
3959
+
3960
+ Configure the threshold value of filesystem object age per st_mtime
3961
+ that should elapse until we consider that object "stable" at the
3962
+ current zclock_time() moment.
3963
+ The default is S_DEFAULT_ZSYS_FILE_STABLE_AGE_MSEC defined in zsys.c
3964
+ which generally depends on host OS, with fallback value of 5000.
3965
+
3966
+ ```
3967
+ msecs my_zsys.fileStableAgeMsec ()
3968
+ ```
3969
+
3970
+ Return current threshold value of file stable age in msec.
3971
+ This can be used in code that chooses to wait for this timeout
3972
+ before testing if a filesystem object is "stable" or not.
3973
+
3974
+ ```
3975
+ nothing my_zsys.setLinger ()
3976
+ ```
3977
+
3978
+ Configure the default linger timeout in msecs for new zsock instances.
3979
+ You can also set this separately on each zsock_t instance. The default
3980
+ linger time is zero, i.e. any pending messages will be dropped. If the
3981
+ environment variable ZSYS_LINGER is defined, that provides the default.
3982
+ Note that process exit will typically be delayed by the linger time.
3983
+
3984
+ ```
3985
+ nothing my_zsys.setSndhwm ()
3986
+ ```
3987
+
3988
+ Configure the default outgoing pipe limit (HWM) for new zsock instances.
3989
+ You can also set this separately on each zsock_t instance. The default
3990
+ HWM is 1,000, on all versions of ZeroMQ. If the environment variable
3991
+ ZSYS_SNDHWM is defined, that provides the default. Note that a value of
3992
+ zero means no limit, i.e. infinite memory consumption.
3993
+
3994
+ ```
3995
+ nothing my_zsys.setRcvhwm ()
3996
+ ```
3997
+
3998
+ Configure the default incoming pipe limit (HWM) for new zsock instances.
3999
+ You can also set this separately on each zsock_t instance. The default
4000
+ HWM is 1,000, on all versions of ZeroMQ. If the environment variable
4001
+ ZSYS_RCVHWM is defined, that provides the default. Note that a value of
4002
+ zero means no limit, i.e. infinite memory consumption.
4003
+
4004
+ ```
4005
+ nothing my_zsys.setPipehwm ()
4006
+ ```
4007
+
4008
+ Configure the default HWM for zactor internal pipes; this is set on both
4009
+ ends of the pipe, for outgoing messages only (sndhwm). The default HWM is
4010
+ 1,000, on all versions of ZeroMQ. If the environment var ZSYS_ACTORHWM is
4011
+ defined, that provides the default. Note that a value of zero means no
4012
+ limit, i.e. infinite memory consumption.
4013
+
4014
+ ```
4015
+ size my_zsys.pipehwm ()
4016
+ ```
4017
+
4018
+ Return the HWM for zactor internal pipes.
4019
+
4020
+ ```
4021
+ nothing my_zsys.setIpv6 (Number)
4022
+ ```
4023
+
4024
+ Configure use of IPv6 for new zsock instances. By default sockets accept
4025
+ and make only IPv4 connections. When you enable IPv6, sockets will accept
4026
+ and connect to both IPv4 and IPv6 peers. You can override the setting on
4027
+ each zsock_t instance. The default is IPv4 only (ipv6 set to 0). If the
4028
+ environment variable ZSYS_IPV6 is defined (as 1 or 0), this provides the
4029
+ default. Note: has no effect on ZMQ v2.
4030
+
4031
+ ```
4032
+ integer my_zsys.ipv6 ()
4033
+ ```
4034
+
4035
+ Return use of IPv6 for zsock instances.
4036
+
4037
+ ```
4038
+ nothing my_zsys.setInterface (String)
4039
+ ```
4040
+
4041
+ Set network interface name to use for broadcasts, particularly zbeacon.
4042
+ This lets the interface be configured for test environments where required.
4043
+ For example, on Mac OS X, zbeacon cannot bind to 255.255.255.255 which is
4044
+ the default when there is no specified interface. If the environment
4045
+ variable ZSYS_INTERFACE is set, use that as the default interface name.
4046
+ Setting the interface to "*" means "use all available interfaces".
4047
+
4048
+ ```
4049
+ string my_zsys.interface ()
4050
+ ```
4051
+
4052
+ Return network interface to use for broadcasts, or "" if none was set.
4053
+
4054
+ ```
4055
+ nothing my_zsys.setIpv6Address (String)
4056
+ ```
4057
+
4058
+ Set IPv6 address to use zbeacon socket, particularly for receiving zbeacon.
4059
+ This needs to be set IPv6 is enabled as IPv6 can have multiple addresses
4060
+ on a given interface. If the environment variable ZSYS_IPV6_ADDRESS is set,
4061
+ use that as the default IPv6 address.
4062
+
4063
+ ```
4064
+ string my_zsys.ipv6Address ()
4065
+ ```
4066
+
4067
+ Return IPv6 address to use for zbeacon reception, or "" if none was set.
4068
+
4069
+ ```
4070
+ nothing my_zsys.setIpv6McastAddress (String)
4071
+ ```
4072
+
4073
+ Set IPv6 milticast address to use for sending zbeacon messages. This needs
4074
+ to be set if IPv6 is enabled. If the environment variable
4075
+ ZSYS_IPV6_MCAST_ADDRESS is set, use that as the default IPv6 multicast
4076
+ address.
4077
+
4078
+ ```
4079
+ string my_zsys.ipv6McastAddress ()
4080
+ ```
4081
+
4082
+ Return IPv6 multicast address to use for sending zbeacon, or "" if none was
4083
+ set.
4084
+
4085
+ ```
4086
+ nothing my_zsys.setAutoUseFd (Number)
4087
+ ```
4088
+
4089
+ Configure the automatic use of pre-allocated FDs when creating new sockets.
4090
+ If 0 (default), nothing will happen. Else, when a new socket is bound, the
4091
+ system API will be used to check if an existing pre-allocated FD with a
4092
+ matching port (if TCP) or path (if IPC) exists, and if it does it will be
4093
+ set via the ZMQ_USE_FD socket option so that the library will use it
4094
+ instead of creating a new socket.
4095
+
4096
+ ```
4097
+ integer my_zsys.autoUseFd ()
4098
+ ```
4099
+
4100
+ Return use of automatic pre-allocated FDs for zsock instances.
4101
+
4102
+ ```
4103
+ nothing my_zsys.setLogident (String)
4104
+ ```
4105
+
4106
+ Set log identity, which is a string that prefixes all log messages sent
4107
+ by this process. The log identity defaults to the environment variable
4108
+ ZSYS_LOGIDENT, if that is set.
4109
+
4110
+ ```
4111
+ nothing my_zsys.setLogsender (String)
4112
+ ```
4113
+
4114
+ Sends log output to a PUB socket bound to the specified endpoint. To
4115
+ collect such log output, create a SUB socket, subscribe to the traffic
4116
+ you care about, and connect to the endpoint. Log traffic is sent as a
4117
+ single string frame, in the same format as when sent to stdout. The
4118
+ log system supports a single sender; multiple calls to this method will
4119
+ bind the same sender to multiple endpoints. To disable the sender, call
4120
+ this method with a null argument.
4121
+
4122
+ ```
4123
+ nothing my_zsys.setLogsystem (Boolean)
4124
+ ```
4125
+
4126
+ Enable or disable logging to the system facility (syslog on POSIX boxes,
4127
+ event log on Windows). By default this is disabled.
4128
+
4129
+ ```
4130
+ nothing my_zsys.error (String)
4131
+ ```
4132
+
4133
+ Log error condition - highest priority
4134
+
4135
+ ```
4136
+ nothing my_zsys.warning (String)
4137
+ ```
4138
+
4139
+ Log warning condition - high priority
4140
+
4141
+ ```
4142
+ nothing my_zsys.notice (String)
4143
+ ```
4144
+
4145
+ Log normal, but significant, condition - normal priority
4146
+
4147
+ ```
4148
+ nothing my_zsys.info (String)
4149
+ ```
4150
+
4151
+ Log informational message - low priority
4152
+
4153
+ ```
4154
+ nothing my_zsys.debug (String)
4155
+ ```
4156
+
4157
+ Log debug-level message - lowest priority
4158
+
4159
+ ```
4160
+ nothing my_zsys.test (Boolean)
4161
+ ```
4162
+
4163
+ Self test of this class.
4164
+
4165
+ ### The Ztimerset class - timer set
4166
+
4167
+ Constructor:
4168
+
4169
+ ```
4170
+ var czmq = require ('bindings')('czmq')
4171
+ var my_ztimerset = new czmq.Ztimerset ()
4172
+ ```
4173
+
4174
+ You *must* call the destructor on every Ztimerset instance:
4175
+
4176
+ ```
4177
+ my_ztimerset.destroy ()
4178
+ ```
4179
+
4180
+ Methods:
4181
+
4182
+ ```
4183
+ integer my_ztimerset.cancel (Number)
4184
+ ```
4185
+
4186
+ Cancel a timer. Returns 0 if OK, -1 on failure.
4187
+
4188
+ ```
4189
+ integer my_ztimerset.setInterval (Number)
4190
+ ```
4191
+
4192
+ Set timer interval. Returns 0 if OK, -1 on failure.
4193
+ This method is slow, canceling the timer and adding a new one yield better performance.
4194
+
4195
+ ```
4196
+ integer my_ztimerset.reset (Number)
4197
+ ```
4198
+
4199
+ Reset timer to start interval counting from current time. Returns 0 if OK, -1 on failure.
4200
+ This method is slow, canceling the timer and adding a new one yield better performance.
4201
+
4202
+ ```
4203
+ integer my_ztimerset.timeout ()
4204
+ ```
4205
+
4206
+ Return the time until the next interval.
4207
+ Should be used as timeout parameter for the zpoller wait method.
4208
+ The timeout is in msec.
4209
+
4210
+ ```
4211
+ integer my_ztimerset.execute ()
4212
+ ```
4213
+
4214
+ Invoke callback function of all timers which their interval has elapsed.
4215
+ Should be call after zpoller wait method.
4216
+ Returns 0 if OK, -1 on failure.
4217
+
4218
+ ```
4219
+ nothing my_ztimerset.test (Boolean)
4220
+ ```
4221
+
4222
+ Self test of this class.
4223
+
4224
+ ### The Ztrie class - simple trie for tokenizable strings
4225
+
4226
+ Constructor:
4227
+
4228
+ ```
4229
+ var czmq = require ('bindings')('czmq')
4230
+ var my_ztrie = new czmq.Ztrie (String)
4231
+ ```
4232
+
4233
+ You *must* call the destructor on every Ztrie instance:
4234
+
4235
+ ```
4236
+ my_ztrie.destroy ()
4237
+ ```
4238
+
4239
+ Methods:
4240
+
4241
+ ```
4242
+ integer my_ztrie.removeRoute (String)
4243
+ ```
4244
+
4245
+ Removes a route from the trie and destroys its data. Returns -1 if the
4246
+ route does not exists, otherwise 0.
4247
+ the start of the list call zlist_first (). Advances the cursor.
4248
+
4249
+ ```
4250
+ boolean my_ztrie.matches (String)
4251
+ ```
4252
+
4253
+ Returns true if the path matches a route in the tree, otherwise false.
4254
+
4255
+ ```
4256
+ size my_ztrie.hitParameterCount ()
4257
+ ```
4258
+
4259
+ Returns the count of parameters that a matched route has.
4260
+
4261
+ ```
4262
+ zhashx my_ztrie.hitParameters ()
4263
+ ```
4264
+
4265
+ Returns the parameters of a matched route with named regexes from last
4266
+ ztrie_matches. If the path did not match or the route did not contain any
4267
+ named regexes, returns NULL.
4268
+
4269
+ ```
4270
+ string my_ztrie.hitAsteriskMatch ()
4271
+ ```
4272
+
4273
+ Returns the asterisk matched part of a route, if there has been no match
4274
+ or no asterisk match, returns NULL.
4275
+
4276
+ ```
4277
+ nothing my_ztrie.print ()
4278
+ ```
4279
+
4280
+ Print the trie
4281
+
4282
+ ```
4283
+ nothing my_ztrie.test (Boolean)
4284
+ ```
4285
+
4286
+ Self test of this class.
4287
+
4288
+ ### The Zuuid class - UUID support class
4289
+
4290
+ Constructor:
4291
+
4292
+ ```
4293
+ var czmq = require ('bindings')('czmq')
4294
+ var my_zuuid = new czmq.Zuuid ()
4295
+ ```
4296
+
4297
+ You *must* call the destructor on every Zuuid instance:
4298
+
4299
+ ```
4300
+ my_zuuid.destroy ()
4301
+ ```
4302
+
4303
+ Methods:
4304
+
4305
+ ```
4306
+ nothing my_zuuid.set (String)
4307
+ ```
4308
+
4309
+ Set UUID to new supplied ZUUID_LEN-octet value.
4310
+
4311
+ ```
4312
+ integer my_zuuid.setStr (String)
4313
+ ```
4314
+
4315
+ Set UUID to new supplied string value skipping '-' and '{' '}'
4316
+ optional delimiters. Return 0 if OK, else returns -1.
4317
+
4318
+ ```
4319
+ buffer my_zuuid.data ()
4320
+ ```
4321
+
4322
+ Return UUID binary data.
4323
+
4324
+ ```
4325
+ size my_zuuid.size ()
4326
+ ```
4327
+
4328
+ Return UUID binary size
4329
+
4330
+ ```
4331
+ string my_zuuid.str ()
4332
+ ```
4333
+
4334
+ Returns UUID as string
4335
+
4336
+ ```
4337
+ string my_zuuid.strCanonical ()
4338
+ ```
4339
+
4340
+ Return UUID in the canonical string format: 8-4-4-4-12, in lower
4341
+ case. Caller does not modify or free returned value. See
4342
+ http://en.wikipedia.org/wiki/Universally_unique_identifier
4343
+
4344
+ ```
4345
+ nothing my_zuuid.export (String)
4346
+ ```
4347
+
4348
+ Store UUID blob in target array
4349
+
4350
+ ```
4351
+ boolean my_zuuid.eq (String)
4352
+ ```
4353
+
4354
+ Check if UUID is same as supplied value
4355
+
4356
+ ```
4357
+ boolean my_zuuid.neq (String)
4358
+ ```
4359
+
4360
+ Check if UUID is different from supplied value
4361
+
4362
+ ```
4363
+ zuuid my_zuuid.dup ()
4364
+ ```
4365
+
4366
+ Make copy of UUID object; if uuid is null, or memory was exhausted,
4367
+ returns null.
4368
+
4369
+ ```
4370
+ nothing my_zuuid.test (Boolean)
4371
+ ```
4372
+
4373
+ Self test of this class.