czmq-ffi-gen 0.9.1-x86-mingw32

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 (118) hide show
  1. checksums.yaml +7 -0
  2. data/AUTHORS +1 -0
  3. data/CHANGES.md +88 -0
  4. data/Gemfile +2 -0
  5. data/LICENSE +14 -0
  6. data/README.md +112 -0
  7. data/lib/czmq-ffi-gen.rb +7 -0
  8. data/lib/czmq-ffi-gen/czmq/ffi.rb +1210 -0
  9. data/lib/czmq-ffi-gen/czmq/ffi/version.rb +15 -0
  10. data/lib/czmq-ffi-gen/czmq/ffi/zactor.rb +186 -0
  11. data/lib/czmq-ffi-gen/czmq/ffi/zarmour.rb +286 -0
  12. data/lib/czmq-ffi-gen/czmq/ffi/zcert.rb +307 -0
  13. data/lib/czmq-ffi-gen/czmq/ffi/zcertstore.rb +222 -0
  14. data/lib/czmq-ffi-gen/czmq/ffi/zchunk.rb +388 -0
  15. data/lib/czmq-ffi-gen/czmq/ffi/zclock.rb +140 -0
  16. data/lib/czmq-ffi-gen/czmq/ffi/zconfig.rb +442 -0
  17. data/lib/czmq-ffi-gen/czmq/ffi/zdigest.rb +156 -0
  18. data/lib/czmq-ffi-gen/czmq/ffi/zdir.rb +283 -0
  19. data/lib/czmq-ffi-gen/czmq/ffi/zdir_patch.rb +194 -0
  20. data/lib/czmq-ffi-gen/czmq/ffi/zfile.rb +353 -0
  21. data/lib/czmq-ffi-gen/czmq/ffi/zframe.rb +359 -0
  22. data/lib/czmq-ffi-gen/czmq/ffi/zhash.rb +416 -0
  23. data/lib/czmq-ffi-gen/czmq/ffi/zhashx.rb +659 -0
  24. data/lib/czmq-ffi-gen/czmq/ffi/ziflist.rb +189 -0
  25. data/lib/czmq-ffi-gen/czmq/ffi/zlist.rb +365 -0
  26. data/lib/czmq-ffi-gen/czmq/ffi/zlistx.rb +478 -0
  27. data/lib/czmq-ffi-gen/czmq/ffi/zloop.rb +396 -0
  28. data/lib/czmq-ffi-gen/czmq/ffi/zmsg.rb +515 -0
  29. data/lib/czmq-ffi-gen/czmq/ffi/zpoller.rb +194 -0
  30. data/lib/czmq-ffi-gen/czmq/ffi/zproc.rb +294 -0
  31. data/lib/czmq-ffi-gen/czmq/ffi/zsock.rb +3479 -0
  32. data/lib/czmq-ffi-gen/czmq/ffi/zstr.rb +203 -0
  33. data/lib/czmq-ffi-gen/czmq/ffi/ztimerset.rb +203 -0
  34. data/lib/czmq-ffi-gen/czmq/ffi/ztrie.rb +221 -0
  35. data/lib/czmq-ffi-gen/czmq/ffi/zuuid.rb +227 -0
  36. data/lib/czmq-ffi-gen/errors.rb +12 -0
  37. data/lib/czmq-ffi-gen/gem_version.rb +5 -0
  38. data/lib/czmq-ffi-gen/legacy.rb +16 -0
  39. data/lib/czmq-ffi-gen/libzmq.rb +18 -0
  40. data/lib/czmq-ffi-gen/signals.rb +27 -0
  41. data/lib/czmq-ffi-gen/vendor.rb +5 -0
  42. data/lib/czmq-ffi-gen/versions.rb +19 -0
  43. data/vendor/local/bin/inproc_lat.exe +0 -0
  44. data/vendor/local/bin/inproc_thr.exe +0 -0
  45. data/vendor/local/bin/libczmq.dll +0 -0
  46. data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
  47. data/vendor/local/bin/libstdc++-6.dll +0 -0
  48. data/vendor/local/bin/libzmq.dll +0 -0
  49. data/vendor/local/bin/local_lat.exe +0 -0
  50. data/vendor/local/bin/local_thr.exe +0 -0
  51. data/vendor/local/bin/remote_lat.exe +0 -0
  52. data/vendor/local/bin/remote_thr.exe +0 -0
  53. data/vendor/local/include/czmq.h +31 -0
  54. data/vendor/local/include/czmq_library.h +199 -0
  55. data/vendor/local/include/czmq_prelude.h +641 -0
  56. data/vendor/local/include/readme.txt +83 -0
  57. data/vendor/local/include/sha1.h +76 -0
  58. data/vendor/local/include/sha1.inc_c +335 -0
  59. data/vendor/local/include/slre.h +92 -0
  60. data/vendor/local/include/slre.inc_c +660 -0
  61. data/vendor/local/include/zactor.h +76 -0
  62. data/vendor/local/include/zarmour.h +114 -0
  63. data/vendor/local/include/zauth.h +100 -0
  64. data/vendor/local/include/zauth_v2.h +88 -0
  65. data/vendor/local/include/zbeacon.h +86 -0
  66. data/vendor/local/include/zbeacon_v2.h +75 -0
  67. data/vendor/local/include/zcert.h +136 -0
  68. data/vendor/local/include/zcertstore.h +100 -0
  69. data/vendor/local/include/zchunk.h +163 -0
  70. data/vendor/local/include/zclock.h +73 -0
  71. data/vendor/local/include/zconfig.h +185 -0
  72. data/vendor/local/include/zctx.h +107 -0
  73. data/vendor/local/include/zdigest.h +65 -0
  74. data/vendor/local/include/zdir.h +149 -0
  75. data/vendor/local/include/zdir_patch.h +82 -0
  76. data/vendor/local/include/zfile.h +177 -0
  77. data/vendor/local/include/zframe.h +176 -0
  78. data/vendor/local/include/zgossip.h +95 -0
  79. data/vendor/local/include/zgossip_engine.inc +927 -0
  80. data/vendor/local/include/zgossip_msg.h +129 -0
  81. data/vendor/local/include/zhash.h +195 -0
  82. data/vendor/local/include/zhash_primes.inc +329 -0
  83. data/vendor/local/include/zhashx.h +298 -0
  84. data/vendor/local/include/ziflist.h +77 -0
  85. data/vendor/local/include/zlist.h +158 -0
  86. data/vendor/local/include/zlistx.h +205 -0
  87. data/vendor/local/include/zloop.h +168 -0
  88. data/vendor/local/include/zmonitor.h +73 -0
  89. data/vendor/local/include/zmonitor_v2.h +56 -0
  90. data/vendor/local/include/zmq.h +617 -0
  91. data/vendor/local/include/zmq_utils.h +48 -0
  92. data/vendor/local/include/zmsg.h +280 -0
  93. data/vendor/local/include/zmutex.h +55 -0
  94. data/vendor/local/include/zpoller.h +92 -0
  95. data/vendor/local/include/zproc.h +168 -0
  96. data/vendor/local/include/zproxy.h +111 -0
  97. data/vendor/local/include/zproxy_v2.h +62 -0
  98. data/vendor/local/include/zrex.h +82 -0
  99. data/vendor/local/include/zsock.h +912 -0
  100. data/vendor/local/include/zsock_option.inc +4126 -0
  101. data/vendor/local/include/zsocket.h +110 -0
  102. data/vendor/local/include/zsockopt.h +256 -0
  103. data/vendor/local/include/zstr.h +110 -0
  104. data/vendor/local/include/zsys.h +386 -0
  105. data/vendor/local/include/zthread.h +50 -0
  106. data/vendor/local/include/ztimerset.h +90 -0
  107. data/vendor/local/include/ztrie.h +106 -0
  108. data/vendor/local/include/zuuid.h +96 -0
  109. data/vendor/local/lib/libczmq.dll.a +0 -0
  110. data/vendor/local/lib/liblibzmq.dll.a +0 -0
  111. data/vendor/local/lib/libzmq-static.a +0 -0
  112. data/vendor/local/lib/pkgconfig/libczmq.pc +23 -0
  113. data/vendor/local/lib/pkgconfig/libzmq.pc +11 -0
  114. data/vendor/local/share/zmq/AUTHORS.txt +147 -0
  115. data/vendor/local/share/zmq/COPYING.LESSER.txt +181 -0
  116. data/vendor/local/share/zmq/COPYING.txt +674 -0
  117. data/vendor/local/share/zmq/NEWS.txt +978 -0
  118. metadata +230 -0
@@ -0,0 +1,353 @@
1
+ ################################################################################
2
+ # THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
3
+ # Read the zproject/README.md for information about making permanent changes. #
4
+ ################################################################################
5
+
6
+ module CZMQ
7
+ module FFI
8
+
9
+ # helper functions for working with files.
10
+ # @note This class is 100% generated using zproject.
11
+ class Zfile
12
+ # Raised when one tries to use an instance of {Zfile} after
13
+ # the internal pointer to the native object has been nullified.
14
+ class DestroyedError < RuntimeError; end
15
+
16
+ # Boilerplate for self pointer, initializer, and finalizer
17
+ class << self
18
+ alias :__new :new
19
+ end
20
+ # Attaches the pointer _ptr_ to this instance and defines a finalizer for
21
+ # it if necessary.
22
+ # @param ptr [::FFI::Pointer]
23
+ # @param finalize [Boolean]
24
+ def initialize(ptr, finalize = true)
25
+ @ptr = ptr
26
+ if @ptr.null?
27
+ @ptr = nil # Remove null pointers so we don't have to test for them.
28
+ elsif finalize
29
+ @finalizer = self.class.create_finalizer_for @ptr
30
+ ObjectSpace.define_finalizer self, @finalizer
31
+ end
32
+ end
33
+ # @param ptr [::FFI::Pointer]
34
+ # @return [Proc]
35
+ def self.create_finalizer_for(ptr)
36
+ Proc.new do
37
+ ptr_ptr = ::FFI::MemoryPointer.new :pointer
38
+ ptr_ptr.write_pointer ptr
39
+ ::CZMQ::FFI.zfile_destroy ptr_ptr
40
+ end
41
+ end
42
+ # @return [Boolean]
43
+ def null?
44
+ !@ptr or @ptr.null?
45
+ end
46
+ # Return internal pointer
47
+ # @return [::FFI::Pointer]
48
+ def __ptr
49
+ raise DestroyedError unless @ptr
50
+ @ptr
51
+ end
52
+ # So external Libraries can just pass the Object to a FFI function which expects a :pointer
53
+ alias_method :to_ptr, :__ptr
54
+ # Nullify internal pointer and return pointer pointer.
55
+ # @note This detaches the current instance from the native object
56
+ # and thus makes it unusable.
57
+ # @return [::FFI::MemoryPointer] the pointer pointing to a pointer
58
+ # pointing to the native object
59
+ def __ptr_give_ref
60
+ raise DestroyedError unless @ptr
61
+ ptr_ptr = ::FFI::MemoryPointer.new :pointer
62
+ ptr_ptr.write_pointer @ptr
63
+ __undef_finalizer if @finalizer
64
+ @ptr = nil
65
+ ptr_ptr
66
+ end
67
+ # Undefines the finalizer for this object.
68
+ # @note Only use this if you need to and can guarantee that the native
69
+ # object will be freed by other means.
70
+ # @return [void]
71
+ def __undef_finalizer
72
+ ObjectSpace.undefine_finalizer self
73
+ @finalizer = nil
74
+ end
75
+
76
+ # If file exists, populates properties. CZMQ supports portable symbolic
77
+ # links, which are files with the extension ".ln". A symbolic link is a
78
+ # text file containing one line, the filename of a target file. Reading
79
+ # data from the symbolic link actually reads from the target file. Path
80
+ # may be NULL, in which case it is not used.
81
+ # @param path [String, #to_s, nil]
82
+ # @param name [String, #to_s, nil]
83
+ # @return [CZMQ::Zfile]
84
+ def self.new(path, name)
85
+ ptr = ::CZMQ::FFI.zfile_new(path, name)
86
+ __new ptr
87
+ end
88
+
89
+ # Destroy a file item
90
+ #
91
+ # @return [void]
92
+ def destroy()
93
+ return unless @ptr
94
+ self_p = __ptr_give_ref
95
+ result = ::CZMQ::FFI.zfile_destroy(self_p)
96
+ result
97
+ end
98
+
99
+ # Duplicate a file item, returns a newly constructed item. If the file
100
+ # is null, or memory was exhausted, returns null.
101
+ #
102
+ # @return [Zfile]
103
+ def dup()
104
+ raise DestroyedError unless @ptr
105
+ self_p = @ptr
106
+ result = ::CZMQ::FFI.zfile_dup(self_p)
107
+ result = Zfile.__new result, true
108
+ result
109
+ end
110
+
111
+ # Return file name, remove path if provided
112
+ #
113
+ # @param path [String, #to_s, nil]
114
+ # @return [String]
115
+ def filename(path)
116
+ raise DestroyedError unless @ptr
117
+ self_p = @ptr
118
+ result = ::CZMQ::FFI.zfile_filename(self_p, path)
119
+ result
120
+ end
121
+
122
+ # Refresh file properties from disk; this is not done automatically
123
+ # on access methods, otherwise it is not possible to compare directory
124
+ # snapshots.
125
+ #
126
+ # @return [void]
127
+ def restat()
128
+ raise DestroyedError unless @ptr
129
+ self_p = @ptr
130
+ result = ::CZMQ::FFI.zfile_restat(self_p)
131
+ result
132
+ end
133
+
134
+ # Return when the file was last modified. If you want this to reflect the
135
+ # current situation, call zfile_restat before checking this property.
136
+ #
137
+ # @return [::FFI::Pointer]
138
+ def modified()
139
+ raise DestroyedError unless @ptr
140
+ self_p = @ptr
141
+ result = ::CZMQ::FFI.zfile_modified(self_p)
142
+ result
143
+ end
144
+
145
+ # Return the last-known size of the file. If you want this to reflect the
146
+ # current situation, call zfile_restat before checking this property.
147
+ #
148
+ # @return [::FFI::Pointer]
149
+ def cursize()
150
+ raise DestroyedError unless @ptr
151
+ self_p = @ptr
152
+ result = ::CZMQ::FFI.zfile_cursize(self_p)
153
+ result
154
+ end
155
+
156
+ # Return true if the file is a directory. If you want this to reflect
157
+ # any external changes, call zfile_restat before checking this property.
158
+ #
159
+ # @return [Boolean]
160
+ def is_directory()
161
+ raise DestroyedError unless @ptr
162
+ self_p = @ptr
163
+ result = ::CZMQ::FFI.zfile_is_directory(self_p)
164
+ result
165
+ end
166
+
167
+ # Return true if the file is a regular file. If you want this to reflect
168
+ # any external changes, call zfile_restat before checking this property.
169
+ #
170
+ # @return [Boolean]
171
+ def is_regular()
172
+ raise DestroyedError unless @ptr
173
+ self_p = @ptr
174
+ result = ::CZMQ::FFI.zfile_is_regular(self_p)
175
+ result
176
+ end
177
+
178
+ # Return true if the file is readable by this process. If you want this to
179
+ # reflect any external changes, call zfile_restat before checking this
180
+ # property.
181
+ #
182
+ # @return [Boolean]
183
+ def is_readable()
184
+ raise DestroyedError unless @ptr
185
+ self_p = @ptr
186
+ result = ::CZMQ::FFI.zfile_is_readable(self_p)
187
+ result
188
+ end
189
+
190
+ # Return true if the file is writeable by this process. If you want this
191
+ # to reflect any external changes, call zfile_restat before checking this
192
+ # property.
193
+ #
194
+ # @return [Boolean]
195
+ def is_writeable()
196
+ raise DestroyedError unless @ptr
197
+ self_p = @ptr
198
+ result = ::CZMQ::FFI.zfile_is_writeable(self_p)
199
+ result
200
+ end
201
+
202
+ # Check if file has stopped changing and can be safely processed.
203
+ # Updates the file statistics from disk at every call.
204
+ #
205
+ # @return [Boolean]
206
+ def is_stable()
207
+ raise DestroyedError unless @ptr
208
+ self_p = @ptr
209
+ result = ::CZMQ::FFI.zfile_is_stable(self_p)
210
+ result
211
+ end
212
+
213
+ # Return true if the file was changed on disk since the zfile_t object
214
+ # was created, or the last zfile_restat() call made on it.
215
+ #
216
+ # @return [Boolean]
217
+ def has_changed()
218
+ raise DestroyedError unless @ptr
219
+ self_p = @ptr
220
+ result = ::CZMQ::FFI.zfile_has_changed(self_p)
221
+ result
222
+ end
223
+
224
+ # Remove the file from disk
225
+ #
226
+ # @return [void]
227
+ def remove()
228
+ raise DestroyedError unless @ptr
229
+ self_p = @ptr
230
+ result = ::CZMQ::FFI.zfile_remove(self_p)
231
+ result
232
+ end
233
+
234
+ # Open file for reading
235
+ # Returns 0 if OK, -1 if not found or not accessible
236
+ #
237
+ # @return [Integer]
238
+ def input()
239
+ raise DestroyedError unless @ptr
240
+ self_p = @ptr
241
+ result = ::CZMQ::FFI.zfile_input(self_p)
242
+ result
243
+ end
244
+
245
+ # Open file for writing, creating directory if needed
246
+ # File is created if necessary; chunks can be written to file at any
247
+ # location. Returns 0 if OK, -1 if error.
248
+ #
249
+ # @return [Integer]
250
+ def output()
251
+ raise DestroyedError unless @ptr
252
+ self_p = @ptr
253
+ result = ::CZMQ::FFI.zfile_output(self_p)
254
+ result
255
+ end
256
+
257
+ # Read chunk from file at specified position. If this was the last chunk,
258
+ # sets the eof property. Returns a null chunk in case of error.
259
+ #
260
+ # @param bytes [Integer, #to_int, #to_i]
261
+ # @param offset [::FFI::Pointer, #to_ptr]
262
+ # @return [Zchunk]
263
+ def read(bytes, offset)
264
+ raise DestroyedError unless @ptr
265
+ self_p = @ptr
266
+ bytes = Integer(bytes)
267
+ result = ::CZMQ::FFI.zfile_read(self_p, bytes, offset)
268
+ result = Zchunk.__new result, true
269
+ result
270
+ end
271
+
272
+ # Returns true if zfile_read() just read the last chunk in the file.
273
+ #
274
+ # @return [Boolean]
275
+ def eof()
276
+ raise DestroyedError unless @ptr
277
+ self_p = @ptr
278
+ result = ::CZMQ::FFI.zfile_eof(self_p)
279
+ result
280
+ end
281
+
282
+ # Write chunk to file at specified position
283
+ # Return 0 if OK, else -1
284
+ #
285
+ # @param chunk [Zchunk, #__ptr]
286
+ # @param offset [::FFI::Pointer, #to_ptr]
287
+ # @return [Integer]
288
+ def write(chunk, offset)
289
+ raise DestroyedError unless @ptr
290
+ self_p = @ptr
291
+ chunk = chunk.__ptr if chunk
292
+ result = ::CZMQ::FFI.zfile_write(self_p, chunk, offset)
293
+ result
294
+ end
295
+
296
+ # Read next line of text from file. Returns a pointer to the text line,
297
+ # or NULL if there was nothing more to read from the file.
298
+ #
299
+ # @return [String]
300
+ def readln()
301
+ raise DestroyedError unless @ptr
302
+ self_p = @ptr
303
+ result = ::CZMQ::FFI.zfile_readln(self_p)
304
+ result
305
+ end
306
+
307
+ # Close file, if open
308
+ #
309
+ # @return [void]
310
+ def close()
311
+ raise DestroyedError unless @ptr
312
+ self_p = @ptr
313
+ result = ::CZMQ::FFI.zfile_close(self_p)
314
+ result
315
+ end
316
+
317
+ # Return file handle, if opened
318
+ #
319
+ # @return [::FFI::Pointer]
320
+ def handle()
321
+ raise DestroyedError unless @ptr
322
+ self_p = @ptr
323
+ result = ::CZMQ::FFI.zfile_handle(self_p)
324
+ result
325
+ end
326
+
327
+ # Calculate SHA1 digest for file, using zdigest class.
328
+ #
329
+ # @return [String]
330
+ def digest()
331
+ raise DestroyedError unless @ptr
332
+ self_p = @ptr
333
+ result = ::CZMQ::FFI.zfile_digest(self_p)
334
+ result
335
+ end
336
+
337
+ # Self test of this class.
338
+ #
339
+ # @param verbose [Boolean]
340
+ # @return [void]
341
+ def self.test(verbose)
342
+ verbose = !(0==verbose||!verbose) # boolean
343
+ result = ::CZMQ::FFI.zfile_test(verbose)
344
+ result
345
+ end
346
+ end
347
+ end
348
+ end
349
+
350
+ ################################################################################
351
+ # THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
352
+ # Read the zproject/README.md for information about making permanent changes. #
353
+ ################################################################################
@@ -0,0 +1,359 @@
1
+ ################################################################################
2
+ # THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
3
+ # Read the zproject/README.md for information about making permanent changes. #
4
+ ################################################################################
5
+
6
+ module CZMQ
7
+ module FFI
8
+
9
+ # working with single message frames
10
+ # @note This class is 100% generated using zproject.
11
+ class Zframe
12
+ #
13
+ MORE = 1
14
+
15
+ #
16
+ REUSE = 2
17
+
18
+ #
19
+ DONTWAIT = 4
20
+
21
+ # Raised when one tries to use an instance of {Zframe} after
22
+ # the internal pointer to the native object has been nullified.
23
+ class DestroyedError < RuntimeError; end
24
+
25
+ # Boilerplate for self pointer, initializer, and finalizer
26
+ class << self
27
+ alias :__new :new
28
+ end
29
+ # Attaches the pointer _ptr_ to this instance and defines a finalizer for
30
+ # it if necessary.
31
+ # @param ptr [::FFI::Pointer]
32
+ # @param finalize [Boolean]
33
+ def initialize(ptr, finalize = true)
34
+ @ptr = ptr
35
+ if @ptr.null?
36
+ @ptr = nil # Remove null pointers so we don't have to test for them.
37
+ elsif finalize
38
+ @finalizer = self.class.create_finalizer_for @ptr
39
+ ObjectSpace.define_finalizer self, @finalizer
40
+ end
41
+ end
42
+ # @param ptr [::FFI::Pointer]
43
+ # @return [Proc]
44
+ def self.create_finalizer_for(ptr)
45
+ Proc.new do
46
+ ptr_ptr = ::FFI::MemoryPointer.new :pointer
47
+ ptr_ptr.write_pointer ptr
48
+ ::CZMQ::FFI.zframe_destroy ptr_ptr
49
+ end
50
+ end
51
+ # @return [Boolean]
52
+ def null?
53
+ !@ptr or @ptr.null?
54
+ end
55
+ # Return internal pointer
56
+ # @return [::FFI::Pointer]
57
+ def __ptr
58
+ raise DestroyedError unless @ptr
59
+ @ptr
60
+ end
61
+ # So external Libraries can just pass the Object to a FFI function which expects a :pointer
62
+ alias_method :to_ptr, :__ptr
63
+ # Nullify internal pointer and return pointer pointer.
64
+ # @note This detaches the current instance from the native object
65
+ # and thus makes it unusable.
66
+ # @return [::FFI::MemoryPointer] the pointer pointing to a pointer
67
+ # pointing to the native object
68
+ def __ptr_give_ref
69
+ raise DestroyedError unless @ptr
70
+ ptr_ptr = ::FFI::MemoryPointer.new :pointer
71
+ ptr_ptr.write_pointer @ptr
72
+ __undef_finalizer if @finalizer
73
+ @ptr = nil
74
+ ptr_ptr
75
+ end
76
+ # Undefines the finalizer for this object.
77
+ # @note Only use this if you need to and can guarantee that the native
78
+ # object will be freed by other means.
79
+ # @return [void]
80
+ def __undef_finalizer
81
+ ObjectSpace.undefine_finalizer self
82
+ @finalizer = nil
83
+ end
84
+
85
+ # Create a new frame. If size is not null, allocates the frame data
86
+ # to the specified size. If additionally, data is not null, copies
87
+ # size octets from the specified data into the frame body.
88
+ # @param data [::FFI::Pointer, #to_ptr]
89
+ # @param size [Integer, #to_int, #to_i]
90
+ # @return [CZMQ::Zframe]
91
+ def self.new(data, size)
92
+ size = Integer(size)
93
+ ptr = ::CZMQ::FFI.zframe_new(data, size)
94
+ __new ptr
95
+ end
96
+
97
+ # Create an empty (zero-sized) frame
98
+ # @return [CZMQ::Zframe]
99
+ def self.new_empty()
100
+ ptr = ::CZMQ::FFI.zframe_new_empty()
101
+ __new ptr
102
+ end
103
+
104
+ # Create a frame with a specified string content.
105
+ # @param string [String, #to_s, nil]
106
+ # @return [CZMQ::Zframe]
107
+ def self.from(string)
108
+ ptr = ::CZMQ::FFI.zframe_from(string)
109
+ __new ptr
110
+ end
111
+
112
+ # Receive frame from socket, returns zframe_t object or NULL if the recv
113
+ # was interrupted. Does a blocking recv, if you want to not block then use
114
+ # zpoller or zloop.
115
+ # @param source [::FFI::Pointer, #to_ptr]
116
+ # @return [CZMQ::Zframe]
117
+ def self.recv(source)
118
+ ptr = ::CZMQ::FFI.zframe_recv(source)
119
+ __new ptr
120
+ end
121
+
122
+ # Destroy a frame
123
+ #
124
+ # @return [void]
125
+ def destroy()
126
+ return unless @ptr
127
+ self_p = __ptr_give_ref
128
+ result = ::CZMQ::FFI.zframe_destroy(self_p)
129
+ result
130
+ end
131
+
132
+ # Send a frame to a socket, destroy frame after sending.
133
+ # Return -1 on error, 0 on success.
134
+ #
135
+ # @param self_p [#__ptr_give_ref]
136
+ # @param dest [::FFI::Pointer, #to_ptr]
137
+ # @param flags [Integer, #to_int, #to_i]
138
+ # @return [Integer]
139
+ def self.send(self_p, dest, flags)
140
+ self_p = self_p.__ptr_give_ref
141
+ flags = Integer(flags)
142
+ result = ::CZMQ::FFI.zframe_send(self_p, dest, flags)
143
+ result
144
+ end
145
+
146
+ # Return number of bytes in frame data
147
+ #
148
+ # @return [Integer]
149
+ def size()
150
+ raise DestroyedError unless @ptr
151
+ self_p = @ptr
152
+ result = ::CZMQ::FFI.zframe_size(self_p)
153
+ result
154
+ end
155
+
156
+ # Return address of frame data
157
+ #
158
+ # @return [::FFI::Pointer]
159
+ def data()
160
+ raise DestroyedError unless @ptr
161
+ self_p = @ptr
162
+ result = ::CZMQ::FFI.zframe_data(self_p)
163
+ result
164
+ end
165
+
166
+ # Return meta data property for frame
167
+ # Caller must free string when finished with it.
168
+ #
169
+ # @param property [String, #to_s, nil]
170
+ # @return [String]
171
+ def meta(property)
172
+ raise DestroyedError unless @ptr
173
+ self_p = @ptr
174
+ result = ::CZMQ::FFI.zframe_meta(self_p, property)
175
+ result
176
+ end
177
+
178
+ # Create a new frame that duplicates an existing frame. If frame is null,
179
+ # or memory was exhausted, returns null.
180
+ #
181
+ # @return [Zframe]
182
+ def dup()
183
+ raise DestroyedError unless @ptr
184
+ self_p = @ptr
185
+ result = ::CZMQ::FFI.zframe_dup(self_p)
186
+ result = Zframe.__new result, true
187
+ result
188
+ end
189
+
190
+ # Return frame data encoded as printable hex string, useful for 0MQ UUIDs.
191
+ # Caller must free string when finished with it.
192
+ #
193
+ # @return [::FFI::AutoPointer]
194
+ def strhex()
195
+ raise DestroyedError unless @ptr
196
+ self_p = @ptr
197
+ result = ::CZMQ::FFI.zframe_strhex(self_p)
198
+ result = ::FFI::AutoPointer.new(result, LibC.method(:free))
199
+ result
200
+ end
201
+
202
+ # Return frame data copied into freshly allocated string
203
+ # Caller must free string when finished with it.
204
+ #
205
+ # @return [::FFI::AutoPointer]
206
+ def strdup()
207
+ raise DestroyedError unless @ptr
208
+ self_p = @ptr
209
+ result = ::CZMQ::FFI.zframe_strdup(self_p)
210
+ result = ::FFI::AutoPointer.new(result, LibC.method(:free))
211
+ result
212
+ end
213
+
214
+ # Return TRUE if frame body is equal to string, excluding terminator
215
+ #
216
+ # @param string [String, #to_s, nil]
217
+ # @return [Boolean]
218
+ def streq(string)
219
+ raise DestroyedError unless @ptr
220
+ self_p = @ptr
221
+ result = ::CZMQ::FFI.zframe_streq(self_p, string)
222
+ result
223
+ end
224
+
225
+ # Return frame MORE indicator (1 or 0), set when reading frame from socket
226
+ # or by the zframe_set_more() method
227
+ #
228
+ # @return [Integer]
229
+ def more()
230
+ raise DestroyedError unless @ptr
231
+ self_p = @ptr
232
+ result = ::CZMQ::FFI.zframe_more(self_p)
233
+ result
234
+ end
235
+
236
+ # Set frame MORE indicator (1 or 0). Note this is NOT used when sending
237
+ # frame to socket, you have to specify flag explicitly.
238
+ #
239
+ # @param more [Integer, #to_int, #to_i]
240
+ # @return [void]
241
+ def set_more(more)
242
+ raise DestroyedError unless @ptr
243
+ self_p = @ptr
244
+ more = Integer(more)
245
+ result = ::CZMQ::FFI.zframe_set_more(self_p, more)
246
+ result
247
+ end
248
+
249
+ # Return frame routing ID, if the frame came from a ZMQ_SERVER socket.
250
+ # Else returns zero.
251
+ #
252
+ # @return [Integer]
253
+ def routing_id()
254
+ raise DestroyedError unless @ptr
255
+ self_p = @ptr
256
+ result = ::CZMQ::FFI.zframe_routing_id(self_p)
257
+ result
258
+ end
259
+
260
+ # Set routing ID on frame. This is used if/when the frame is sent to a
261
+ # ZMQ_SERVER socket.
262
+ #
263
+ # @param routing_id [Integer, #to_int, #to_i]
264
+ # @return [void]
265
+ def set_routing_id(routing_id)
266
+ raise DestroyedError unless @ptr
267
+ self_p = @ptr
268
+ routing_id = Integer(routing_id)
269
+ result = ::CZMQ::FFI.zframe_set_routing_id(self_p, routing_id)
270
+ result
271
+ end
272
+
273
+ # Return frame group of radio-dish pattern.
274
+ #
275
+ # @return [String]
276
+ def group()
277
+ raise DestroyedError unless @ptr
278
+ self_p = @ptr
279
+ result = ::CZMQ::FFI.zframe_group(self_p)
280
+ result
281
+ end
282
+
283
+ # Set group on frame. This is used if/when the frame is sent to a
284
+ # ZMQ_RADIO socket.
285
+ # Return -1 on error, 0 on success.
286
+ #
287
+ # @param group [String, #to_s, nil]
288
+ # @return [Integer]
289
+ def set_group(group)
290
+ raise DestroyedError unless @ptr
291
+ self_p = @ptr
292
+ result = ::CZMQ::FFI.zframe_set_group(self_p, group)
293
+ result
294
+ end
295
+
296
+ # Return TRUE if two frames have identical size and data
297
+ # If either frame is NULL, equality is always false.
298
+ #
299
+ # @param other [Zframe, #__ptr]
300
+ # @return [Boolean]
301
+ def eq(other)
302
+ raise DestroyedError unless @ptr
303
+ self_p = @ptr
304
+ other = other.__ptr if other
305
+ result = ::CZMQ::FFI.zframe_eq(self_p, other)
306
+ result
307
+ end
308
+
309
+ # Set new contents for frame
310
+ #
311
+ # @param data [::FFI::Pointer, #to_ptr]
312
+ # @param size [Integer, #to_int, #to_i]
313
+ # @return [void]
314
+ def reset(data, size)
315
+ raise DestroyedError unless @ptr
316
+ self_p = @ptr
317
+ size = Integer(size)
318
+ result = ::CZMQ::FFI.zframe_reset(self_p, data, size)
319
+ result
320
+ end
321
+
322
+ # Send message to zsys log sink (may be stdout, or system facility as
323
+ # configured by zsys_set_logstream). Prefix shows before frame, if not null.
324
+ #
325
+ # @param prefix [String, #to_s, nil]
326
+ # @return [void]
327
+ def print(prefix)
328
+ raise DestroyedError unless @ptr
329
+ self_p = @ptr
330
+ result = ::CZMQ::FFI.zframe_print(self_p, prefix)
331
+ result
332
+ end
333
+
334
+ # Probe the supplied object, and report if it looks like a zframe_t.
335
+ #
336
+ # @param self_ [::FFI::Pointer, #to_ptr]
337
+ # @return [Boolean]
338
+ def self.is(self_)
339
+ result = ::CZMQ::FFI.zframe_is(self_)
340
+ result
341
+ end
342
+
343
+ # Self test of this class.
344
+ #
345
+ # @param verbose [Boolean]
346
+ # @return [void]
347
+ def self.test(verbose)
348
+ verbose = !(0==verbose||!verbose) # boolean
349
+ result = ::CZMQ::FFI.zframe_test(verbose)
350
+ result
351
+ end
352
+ end
353
+ end
354
+ end
355
+
356
+ ################################################################################
357
+ # THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
358
+ # Read the zproject/README.md for information about making permanent changes. #
359
+ ################################################################################