Module: Libuv::Loop::ClassMethods
- Included in:
- Libuv::Loop
- Defined in:
- lib/libuv/loop.rb
Instance Method Summary collapse
-
#create(pointer) ⇒ ::Libuv::Loop
Build a Ruby Libuv loop from an existing loop pointer.
-
#current ⇒ ::Libuv::Loop | nil
Checks for the existence of a loop on the current thread.
-
#default ⇒ ::Libuv::Loop
Get default loop.
-
#new ⇒ ::Libuv::Loop
Create new Libuv loop.
Instance Method Details
#create(pointer) ⇒ ::Libuv::Loop
Build a Ruby Libuv loop from an existing loop pointer
33 34 35 |
# File 'lib/libuv/loop.rb', line 33 def create(pointer) allocate.tap { |i| i.send(:initialize, FFI::AutoPointer.new(pointer, ::Libuv::Ext.method(:loop_delete))) } end |
#current ⇒ ::Libuv::Loop | nil
Checks for the existence of a loop on the current thread
40 41 42 |
# File 'lib/libuv/loop.rb', line 40 def current LOOPS[Thread.current] end |
#default ⇒ ::Libuv::Loop
Get default loop
16 17 18 19 20 21 |
# File 'lib/libuv/loop.rb', line 16 def default return @default unless @default.nil? CRITICAL.synchronize { return @default ||= create(::Libuv::Ext.default_loop) } end |
#new ⇒ ::Libuv::Loop
Create new Libuv loop
26 27 28 |
# File 'lib/libuv/loop.rb', line 26 def new return create(::Libuv::Ext.loop_new) end |