module NIO
def self.engine
* libev: as a C extension using libev
* select: in pure Ruby using Kernel.select
NIO implementation, one of the following (as a string):
def self.engine ENGINE end
def self.pure?(env = ENV)
def self.pure?(env = ENV) # The user has explicitly opted in to non-native implementation: if env["NIO4R_PURE"] == "true" return true end # Native Ruby on Windows is not supported: if (Gem.win_platform? && !defined?(JRUBY_VERSION)) return true end # M1 native extension is crashing on M1 (arm64): # if RUBY_PLATFORM =~ /darwin/ && RUBY_PLATFORM =~ /arm64/ # return true # end return false end