Module: Event::Backend

Defined in:
lib/event/backend.rb,
lib/event/backend/select.rb,
ext/event/event.c

Defined Under Namespace

Classes: EPoll, KQueue, Select, URing

Class Method Summary collapse

Class Method Details

.default(env = ENV) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/event/backend.rb', line 25

def self.default(env = ENV)
  if backend = env['EVENT_BACKEND']&.to_sym
    if Event::Backend.const_defined?(backend)
      return Event::Backend.const_get(backend)
    else
      warn "Could not find EVENT_BACKEND=#{backend}!"
    end
  end
  
  if self.const_defined?(:URing)
    return Event::Backend::URing
  elsif self.const_defined?(:KQueue)
    return Event::Backend::KQueue
  elsif self.const_defined?(:EPoll)
    return Event::Backend::EPoll
  else
    return Event::Backend::Select
  end
end

.newObject



45
46
47
# File 'lib/event/backend.rb', line 45

def self.new(...)
  default.new(...)
end