Module: Libuv::Loop::ClassMethods

Included in:
Libuv::Loop
Defined in:
lib/libuv/loop.rb

Instance Method Summary collapse

Instance Method Details

#create(pointer) ⇒ ::Libuv::Loop

Build a Ruby Libuv loop from an existing loop pointer

Returns:



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

Returns:



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

def current
    LOOPS[Thread.current]
end

#default::Libuv::Loop

Get default loop

Returns:



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

Returns:



27
28
29
# File 'lib/libuv/loop.rb', line 27

def new
    return create(::Libuv::Ext.loop_new)
end