Module: Event::Selector

Defined in:
lib/event/selector.rb,
lib/event/selector/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



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/event/selector.rb', line 30

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

.newObject



50
51
52
# File 'lib/event/selector.rb', line 50

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