laag-libczmq 4.1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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.