Class: UV::Work
Instance Method Summary collapse
- #cancel ⇒ Object
- #completed? ⇒ Boolean
-
#initialize(loop, work, callback = nil) ⇒ Work
constructor
A new instance of Work.
Methods included from Resource
#check_result, #check_result!, #to_ptr
Methods included from Listener
define_callback, undefine_callbacks
Constructor Details
#initialize(loop, work, callback = nil) ⇒ Work
Returns a new instance of Work.
5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/uv/work.rb', line 5 def initialize(loop, work, callback = nil) @loop, @work, @callback = loop, work, callback @complete = false @pointer = UV.create_request(:uv_work) begin check_result! UV.queue_work(@loop, @pointer, callback(:on_work), callback(:on_complete)) rescue StandardError => e UV.free(@pointer) @complete = true raise e end end |
Instance Method Details
#cancel ⇒ Object
19 20 21 22 23 24 |
# File 'lib/uv/work.rb', line 19 def cancel if not @complete check_result! UV.cancel(@pointer) @complete = true end end |
#completed? ⇒ Boolean
26 27 28 |
# File 'lib/uv/work.rb', line 26 def completed? return @complete end |