czmq-ffi-gen 0.9.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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,388 @@
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
+ # work with memory chunks
10
+ # @note This class is 100% generated using zproject.
11
+ class Zchunk
12
+ # Raised when one tries to use an instance of {Zchunk} 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.zchunk_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
+ # Create a new chunk of the specified size. If you specify the data, it
77
+ # is copied into the chunk. If you do not specify the data, the chunk is
78
+ # allocated and left empty, and you can then add data using zchunk_append.
79
+ # @param data [::FFI::Pointer, #to_ptr]
80
+ # @param size [Integer, #to_int, #to_i]
81
+ # @return [CZMQ::Zchunk]
82
+ def self.new(data, size)
83
+ size = Integer(size)
84
+ ptr = ::CZMQ::FFI.zchunk_new(data, size)
85
+ __new ptr
86
+ end
87
+
88
+ # Destroy a chunk
89
+ #
90
+ # @return [void]
91
+ def destroy()
92
+ return unless @ptr
93
+ self_p = __ptr_give_ref
94
+ result = ::CZMQ::FFI.zchunk_destroy(self_p)
95
+ result
96
+ end
97
+
98
+ # Resizes chunk max_size as requested; chunk_cur size is set to zero
99
+ #
100
+ # @param size [Integer, #to_int, #to_i]
101
+ # @return [void]
102
+ def resize(size)
103
+ raise DestroyedError unless @ptr
104
+ self_p = @ptr
105
+ size = Integer(size)
106
+ result = ::CZMQ::FFI.zchunk_resize(self_p, size)
107
+ result
108
+ end
109
+
110
+ # Return chunk cur size
111
+ #
112
+ # @return [Integer]
113
+ def size()
114
+ raise DestroyedError unless @ptr
115
+ self_p = @ptr
116
+ result = ::CZMQ::FFI.zchunk_size(self_p)
117
+ result
118
+ end
119
+
120
+ # Return chunk max size
121
+ #
122
+ # @return [Integer]
123
+ def max_size()
124
+ raise DestroyedError unless @ptr
125
+ self_p = @ptr
126
+ result = ::CZMQ::FFI.zchunk_max_size(self_p)
127
+ result
128
+ end
129
+
130
+ # Return chunk data
131
+ #
132
+ # @return [::FFI::Pointer]
133
+ def data()
134
+ raise DestroyedError unless @ptr
135
+ self_p = @ptr
136
+ result = ::CZMQ::FFI.zchunk_data(self_p)
137
+ result
138
+ end
139
+
140
+ # Set chunk data from user-supplied data; truncate if too large. Data may
141
+ # be null. Returns actual size of chunk
142
+ #
143
+ # @param data [::FFI::Pointer, #to_ptr]
144
+ # @param size [Integer, #to_int, #to_i]
145
+ # @return [Integer]
146
+ def set(data, size)
147
+ raise DestroyedError unless @ptr
148
+ self_p = @ptr
149
+ size = Integer(size)
150
+ result = ::CZMQ::FFI.zchunk_set(self_p, data, size)
151
+ result
152
+ end
153
+
154
+ # Fill chunk data from user-supplied octet
155
+ #
156
+ # @param filler [Integer, #to_int, #to_i]
157
+ # @param size [Integer, #to_int, #to_i]
158
+ # @return [Integer]
159
+ def fill(filler, size)
160
+ raise DestroyedError unless @ptr
161
+ self_p = @ptr
162
+ filler = Integer(filler)
163
+ size = Integer(size)
164
+ result = ::CZMQ::FFI.zchunk_fill(self_p, filler, size)
165
+ result
166
+ end
167
+
168
+ # Append user-supplied data to chunk, return resulting chunk size. If the
169
+ # data would exceeded the available space, it is truncated. If you want to
170
+ # grow the chunk to accommodate new data, use the zchunk_extend method.
171
+ #
172
+ # @param data [::FFI::Pointer, #to_ptr]
173
+ # @param size [Integer, #to_int, #to_i]
174
+ # @return [Integer]
175
+ def append(data, size)
176
+ raise DestroyedError unless @ptr
177
+ self_p = @ptr
178
+ size = Integer(size)
179
+ result = ::CZMQ::FFI.zchunk_append(self_p, data, size)
180
+ result
181
+ end
182
+
183
+ # Append user-supplied data to chunk, return resulting chunk size. If the
184
+ # data would exceeded the available space, the chunk grows in size.
185
+ #
186
+ # @param data [::FFI::Pointer, #to_ptr]
187
+ # @param size [Integer, #to_int, #to_i]
188
+ # @return [Integer]
189
+ def extend(data, size)
190
+ raise DestroyedError unless @ptr
191
+ self_p = @ptr
192
+ size = Integer(size)
193
+ result = ::CZMQ::FFI.zchunk_extend(self_p, data, size)
194
+ result
195
+ end
196
+
197
+ # Copy as much data from 'source' into the chunk as possible; returns the
198
+ # new size of chunk. If all data from 'source' is used, returns exhausted
199
+ # on the source chunk. Source can be consumed as many times as needed until
200
+ # it is exhausted. If source was already exhausted, does not change chunk.
201
+ #
202
+ # @param source [Zchunk, #__ptr]
203
+ # @return [Integer]
204
+ def consume(source)
205
+ raise DestroyedError unless @ptr
206
+ self_p = @ptr
207
+ source = source.__ptr if source
208
+ result = ::CZMQ::FFI.zchunk_consume(self_p, source)
209
+ result
210
+ end
211
+
212
+ # Returns true if the chunk was exhausted by consume methods, or if the
213
+ # chunk has a size of zero.
214
+ #
215
+ # @return [Boolean]
216
+ def exhausted()
217
+ raise DestroyedError unless @ptr
218
+ self_p = @ptr
219
+ result = ::CZMQ::FFI.zchunk_exhausted(self_p)
220
+ result
221
+ end
222
+
223
+ # Read chunk from an open file descriptor
224
+ #
225
+ # @param handle [::FFI::Pointer, #to_ptr]
226
+ # @param bytes [Integer, #to_int, #to_i]
227
+ # @return [Zchunk]
228
+ def self.read(handle, bytes)
229
+ bytes = Integer(bytes)
230
+ result = ::CZMQ::FFI.zchunk_read(handle, bytes)
231
+ result = Zchunk.__new result, true
232
+ result
233
+ end
234
+
235
+ # Write chunk to an open file descriptor
236
+ #
237
+ # @param handle [::FFI::Pointer, #to_ptr]
238
+ # @return [Integer]
239
+ def write(handle)
240
+ raise DestroyedError unless @ptr
241
+ self_p = @ptr
242
+ result = ::CZMQ::FFI.zchunk_write(self_p, handle)
243
+ result
244
+ end
245
+
246
+ # Try to slurp an entire file into a chunk. Will read up to maxsize of
247
+ # the file. If maxsize is 0, will attempt to read the entire file and
248
+ # fail with an assertion if that cannot fit into memory. Returns a new
249
+ # chunk containing the file data, or NULL if the file could not be read.
250
+ #
251
+ # @param filename [String, #to_s, nil]
252
+ # @param maxsize [Integer, #to_int, #to_i]
253
+ # @return [Zchunk]
254
+ def self.slurp(filename, maxsize)
255
+ maxsize = Integer(maxsize)
256
+ result = ::CZMQ::FFI.zchunk_slurp(filename, maxsize)
257
+ result = Zchunk.__new result, true
258
+ result
259
+ end
260
+
261
+ # Create copy of chunk, as new chunk object. Returns a fresh zchunk_t
262
+ # object, or null if there was not enough heap memory. If chunk is null,
263
+ # returns null.
264
+ #
265
+ # @return [Zchunk]
266
+ def dup()
267
+ raise DestroyedError unless @ptr
268
+ self_p = @ptr
269
+ result = ::CZMQ::FFI.zchunk_dup(self_p)
270
+ result = Zchunk.__new result, true
271
+ result
272
+ end
273
+
274
+ # Return chunk data encoded as printable hex string. Caller must free
275
+ # string when finished with it.
276
+ #
277
+ # @return [::FFI::AutoPointer]
278
+ def strhex()
279
+ raise DestroyedError unless @ptr
280
+ self_p = @ptr
281
+ result = ::CZMQ::FFI.zchunk_strhex(self_p)
282
+ result = ::FFI::AutoPointer.new(result, LibC.method(:free))
283
+ result
284
+ end
285
+
286
+ # Return chunk data copied into freshly allocated string
287
+ # Caller must free string when finished with it.
288
+ #
289
+ # @return [::FFI::AutoPointer]
290
+ def strdup()
291
+ raise DestroyedError unless @ptr
292
+ self_p = @ptr
293
+ result = ::CZMQ::FFI.zchunk_strdup(self_p)
294
+ result = ::FFI::AutoPointer.new(result, LibC.method(:free))
295
+ result
296
+ end
297
+
298
+ # Return TRUE if chunk body is equal to string, excluding terminator
299
+ #
300
+ # @param string [String, #to_s, nil]
301
+ # @return [Boolean]
302
+ def streq(string)
303
+ raise DestroyedError unless @ptr
304
+ self_p = @ptr
305
+ result = ::CZMQ::FFI.zchunk_streq(self_p, string)
306
+ result
307
+ end
308
+
309
+ # Transform zchunk into a zframe that can be sent in a message.
310
+ #
311
+ # @return [Zframe]
312
+ def pack()
313
+ raise DestroyedError unless @ptr
314
+ self_p = @ptr
315
+ result = ::CZMQ::FFI.zchunk_pack(self_p)
316
+ result = Zframe.__new result, true
317
+ result
318
+ end
319
+
320
+ # Transform a zframe into a zchunk.
321
+ #
322
+ # @param frame [Zframe, #__ptr]
323
+ # @return [Zchunk]
324
+ def self.unpack(frame)
325
+ frame = frame.__ptr if frame
326
+ result = ::CZMQ::FFI.zchunk_unpack(frame)
327
+ result = Zchunk.__new result, true
328
+ result
329
+ end
330
+
331
+ # Calculate SHA1 digest for chunk, using zdigest class.
332
+ #
333
+ # @return [String]
334
+ def digest()
335
+ raise DestroyedError unless @ptr
336
+ self_p = @ptr
337
+ result = ::CZMQ::FFI.zchunk_digest(self_p)
338
+ result
339
+ end
340
+
341
+ # Dump chunk to FILE stream, for debugging and tracing.
342
+ #
343
+ # @param file [::FFI::Pointer, #to_ptr]
344
+ # @return [void]
345
+ def fprint(file)
346
+ raise DestroyedError unless @ptr
347
+ self_p = @ptr
348
+ result = ::CZMQ::FFI.zchunk_fprint(self_p, file)
349
+ result
350
+ end
351
+
352
+ # Dump message to stderr, for debugging and tracing.
353
+ # See zchunk_fprint for details
354
+ #
355
+ # @return [void]
356
+ def print()
357
+ raise DestroyedError unless @ptr
358
+ self_p = @ptr
359
+ result = ::CZMQ::FFI.zchunk_print(self_p)
360
+ result
361
+ end
362
+
363
+ # Probe the supplied object, and report if it looks like a zchunk_t.
364
+ #
365
+ # @param self_ [::FFI::Pointer, #to_ptr]
366
+ # @return [Boolean]
367
+ def self.is(self_)
368
+ result = ::CZMQ::FFI.zchunk_is(self_)
369
+ result
370
+ end
371
+
372
+ # Self test of this class.
373
+ #
374
+ # @param verbose [Boolean]
375
+ # @return [void]
376
+ def self.test(verbose)
377
+ verbose = !(0==verbose||!verbose) # boolean
378
+ result = ::CZMQ::FFI.zchunk_test(verbose)
379
+ result
380
+ end
381
+ end
382
+ end
383
+ end
384
+
385
+ ################################################################################
386
+ # THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
387
+ # Read the zproject/README.md for information about making permanent changes. #
388
+ ################################################################################
@@ -0,0 +1,140 @@
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
+ # millisecond clocks and delays
10
+ # @note This class is 100% generated using zproject.
11
+ class Zclock
12
+ # Raised when one tries to use an instance of {Zclock} 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
+ # @return [Proc]
34
+ def self.create_finalizer_for(ptr)
35
+ Proc.new do
36
+ "WARNING: "\
37
+ "Objects of type #{self} cannot be destroyed implicitly. "\
38
+ "Please call the correct destroy method with the relevant arguments."
39
+ end
40
+ end
41
+ # @return [Boolean]
42
+ def null?
43
+ !@ptr or @ptr.null?
44
+ end
45
+ # Return internal pointer
46
+ # @return [::FFI::Pointer]
47
+ def __ptr
48
+ raise DestroyedError unless @ptr
49
+ @ptr
50
+ end
51
+ # So external Libraries can just pass the Object to a FFI function which expects a :pointer
52
+ alias_method :to_ptr, :__ptr
53
+ # Nullify internal pointer and return pointer pointer.
54
+ # @note This detaches the current instance from the native object
55
+ # and thus makes it unusable.
56
+ # @return [::FFI::MemoryPointer] the pointer pointing to a pointer
57
+ # pointing to the native object
58
+ def __ptr_give_ref
59
+ raise DestroyedError unless @ptr
60
+ ptr_ptr = ::FFI::MemoryPointer.new :pointer
61
+ ptr_ptr.write_pointer @ptr
62
+ __undef_finalizer if @finalizer
63
+ @ptr = nil
64
+ ptr_ptr
65
+ end
66
+ # Undefines the finalizer for this object.
67
+ # @note Only use this if you need to and can guarantee that the native
68
+ # object will be freed by other means.
69
+ # @return [void]
70
+ def __undef_finalizer
71
+ ObjectSpace.undefine_finalizer self
72
+ @finalizer = nil
73
+ end
74
+
75
+ # Sleep for a number of milliseconds
76
+ #
77
+ # @param msecs [Integer, #to_int, #to_i]
78
+ # @return [void]
79
+ def self.sleep(msecs)
80
+ msecs = Integer(msecs)
81
+ result = ::CZMQ::FFI.zclock_sleep(msecs)
82
+ result
83
+ end
84
+
85
+ # Return current system clock as milliseconds. Note that this clock can
86
+ # jump backwards (if the system clock is changed) so is unsafe to use for
87
+ # timers and time offsets. Use zclock_mono for that instead.
88
+ #
89
+ # @return [::FFI::Pointer]
90
+ def self.time()
91
+ result = ::CZMQ::FFI.zclock_time()
92
+ result
93
+ end
94
+
95
+ # Return current monotonic clock in milliseconds. Use this when you compute
96
+ # time offsets. The monotonic clock is not affected by system changes and
97
+ # so will never be reset backwards, unlike a system clock.
98
+ #
99
+ # @return [::FFI::Pointer]
100
+ def self.mono()
101
+ result = ::CZMQ::FFI.zclock_mono()
102
+ result
103
+ end
104
+
105
+ # Return current monotonic clock in microseconds. Use this when you compute
106
+ # time offsets. The monotonic clock is not affected by system changes and
107
+ # so will never be reset backwards, unlike a system clock.
108
+ #
109
+ # @return [::FFI::Pointer]
110
+ def self.usecs()
111
+ result = ::CZMQ::FFI.zclock_usecs()
112
+ result
113
+ end
114
+
115
+ # Return formatted date/time as fresh string. Free using zstr_free().
116
+ #
117
+ # @return [::FFI::AutoPointer]
118
+ def self.timestr()
119
+ result = ::CZMQ::FFI.zclock_timestr()
120
+ result = ::FFI::AutoPointer.new(result, LibC.method(:free))
121
+ result
122
+ end
123
+
124
+ # Self test of this class.
125
+ #
126
+ # @param verbose [Boolean]
127
+ # @return [void]
128
+ def self.test(verbose)
129
+ verbose = !(0==verbose||!verbose) # boolean
130
+ result = ::CZMQ::FFI.zclock_test(verbose)
131
+ result
132
+ end
133
+ end
134
+ end
135
+ end
136
+
137
+ ################################################################################
138
+ # THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
139
+ # Read the zproject/README.md for information about making permanent changes. #
140
+ ################################################################################