class CZMQ::FFI::Zclock
millisecond clocks and delays @note This class is 100% generated using zproject.
Public Class Methods
@return [Proc]
# File lib/czmq-ffi-gen/czmq/ffi/zclock.rb, line 34 def self.create_finalizer_for(ptr) Proc.new do "WARNING: "\ "Objects of type #{self} cannot be destroyed implicitly. "\ "Please call the correct destroy method with the relevant arguments." end end
Return current monotonic clock in milliseconds. Use this when you compute time offsets. The monotonic clock is not affected by system changes and so will never be reset backwards, unlike a system clock.
@return [::FFI::Pointer]
# File lib/czmq-ffi-gen/czmq/ffi/zclock.rb, line 100 def self.mono() result = ::CZMQ::FFI.zclock_mono() result end
Attaches the pointer ptr to this instance and defines a finalizer for it if necessary. @param ptr [::FFI::Pointer] @param finalize [Boolean]
# File lib/czmq-ffi-gen/czmq/ffi/zclock.rb, line 24 def initialize(ptr, finalize = true) @ptr = ptr if @ptr.null? @ptr = nil # Remove null pointers so we don't have to test for them. elsif finalize @finalizer = self.class.create_finalizer_for @ptr ObjectSpace.define_finalizer self, @finalizer end end
Sleep for a number of milliseconds
@param msecs [Integer, to_int, to_i] @return [void]
# File lib/czmq-ffi-gen/czmq/ffi/zclock.rb, line 79 def self.sleep(msecs) msecs = Integer(msecs) result = ::CZMQ::FFI.zclock_sleep(msecs) result end
Self test of this class.
@param verbose [Boolean] @return [void]
# File lib/czmq-ffi-gen/czmq/ffi/zclock.rb, line 128 def self.test(verbose) verbose = !(0==verbose||!verbose) # boolean result = ::CZMQ::FFI.zclock_test(verbose) result end
Return current system clock as milliseconds. Note that this clock can jump backwards (if the system clock is changed) so is unsafe to use for timers and time offsets. Use zclock_mono for that instead.
@return [::FFI::Pointer]
# File lib/czmq-ffi-gen/czmq/ffi/zclock.rb, line 90 def self.time() result = ::CZMQ::FFI.zclock_time() result end
Return formatted date/time as fresh string. Free using zstr_free().
@return [::FFI::AutoPointer]
# File lib/czmq-ffi-gen/czmq/ffi/zclock.rb, line 118 def self.timestr() result = ::CZMQ::FFI.zclock_timestr() result = ::FFI::AutoPointer.new(result, LibC.method(:free)) result end
Return current monotonic clock in microseconds. Use this when you compute time offsets. The monotonic clock is not affected by system changes and so will never be reset backwards, unlike a system clock.
@return [::FFI::Pointer]
# File lib/czmq-ffi-gen/czmq/ffi/zclock.rb, line 110 def self.usecs() result = ::CZMQ::FFI.zclock_usecs() result end
Public Instance Methods
Return internal pointer @return [::FFI::Pointer]
# File lib/czmq-ffi-gen/czmq/ffi/zclock.rb, line 47 def __ptr raise DestroyedError unless @ptr @ptr end
Nullify internal pointer and return pointer pointer. @note This detaches the current instance from the native object
and thus makes it unusable.
@return [::FFI::MemoryPointer] the pointer pointing to a pointer
pointing to the native object
# File lib/czmq-ffi-gen/czmq/ffi/zclock.rb, line 58 def __ptr_give_ref raise DestroyedError unless @ptr ptr_ptr = ::FFI::MemoryPointer.new :pointer ptr_ptr.write_pointer @ptr __undef_finalizer if @finalizer @ptr = nil ptr_ptr end
Undefines the finalizer for this object. @note Only use this if you need to and can guarantee that the native
object will be freed by other means.
@return [void]
# File lib/czmq-ffi-gen/czmq/ffi/zclock.rb, line 70 def __undef_finalizer ObjectSpace.undefine_finalizer self @finalizer = nil end
@return [Boolean]
# File lib/czmq-ffi-gen/czmq/ffi/zclock.rb, line 42 def null? !@ptr or @ptr.null? end