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
34 35 36 |
# File 'lib/libuv/loop.rb', line 34 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
41 42 43 |
# File 'lib/libuv/loop.rb', line 41 def current LOOPS[Thread.current] end |
#default ⇒ ::Libuv::Loop
Get default loop
17 18 19 20 21 22 |
# File 'lib/libuv/loop.rb', line 17 def default return @default unless @default.nil? CRITICAL.synchronize { return @default ||= create(::Libuv::Ext.default_loop) } end |
#new ⇒ ::Libuv::Loop
Create new Libuv loop
27 28 29 |
# File 'lib/libuv/loop.rb', line 27 def new return create(::Libuv::Ext.loop_new) end |