Class: Libuv::Check

Inherits:
Handle show all
Defined in:
lib/libuv/check.rb

Constant Summary

Constants included from Assertions

Assertions::MSG_NO_PROC

Constants inherited from Q::Promise

Q::Promise::MAKE_PROMISE

Instance Attribute Summary

Attributes inherited from Handle

#closed, #reactor, #storage

Attributes inherited from Q::Promise

#trace

Instance Method Summary collapse

Methods inherited from Handle

#active?, #close, #closed?, #closing?, #ref, #unref

Methods included from Assertions

#assert_block, #assert_boolean, #assert_type

Methods included from Resource

#check_result, #check_result!, #resolve, #to_ptr

Methods inherited from Q::DeferredPromise

#resolved?, #then

Methods inherited from Q::Promise

#catch, #finally, #ruby_catch, #value

Constructor Details

#initialize(reactor, callback = nil, &blk) ⇒ Check

Returns a new instance of Check.

Parameters:

  • reactor (::Libuv::Reactor)

    reactor this check will be associated

  • callback (Proc) (defaults to: nil)

    callback to be called on reactor check



12
13
14
15
16
17
18
19
20
# File 'lib/libuv/check.rb', line 12

def initialize(reactor, callback = nil, &blk)
    @reactor = reactor
    @callback = callback || blk

    check_ptr = ::Libuv::Ext.allocate_handle_check
    error = check_result(::Libuv::Ext.check_init(reactor.handle, check_ptr))

    super(check_ptr, error)
end

Instance Method Details

#progress(callback = nil, &blk) ⇒ Object

Used to update the callback that will be triggered on reactor check

Parameters:

  • callback (Proc) (defaults to: nil)

    the callback to be called on reactor check



41
42
43
44
# File 'lib/libuv/check.rb', line 41

def progress(callback = nil, &blk)
    @callback = callback || blk
    self
end

#startObject

Enables the check handler.



23
24
25
26
27
28
# File 'lib/libuv/check.rb', line 23

def start
    return if @closed
    error = check_result ::Libuv::Ext.check_start(handle, callback(:on_check))
    reject(error) if error
    self
end

#stopObject

Disables the check handler.



31
32
33
34
35
36
# File 'lib/libuv/check.rb', line 31

def stop
    return if @closed
    error = check_result ::Libuv::Ext.check_stop(handle)
    reject(error) if error
    self
end