Sha256: 622cec7d70573db867c1801b22dccbde69112937d9f316a12b9dac2fc036a467

Contents?: true

Size: 734 Bytes

Versions: 6

Compression:

Stored size: 734 Bytes

Contents

# frozen_string_literal: true

require "socket"
require "nio/version"

# New I/O for Ruby
module NIO
  # NIO implementation, one of the following (as a string):
  # * select: in pure Ruby using Kernel.select
  # * libev: as a C extension using libev
  # * java: using Java NIO
  def self.engine
    ENGINE
  end
end

if ENV["NIO4R_PURE"] == "true" || (Gem.win_platform? && !defined?(JRUBY_VERSION))
  require "nio/monitor"
  require "nio/selector"
  require "nio/bytebuffer"
  NIO::ENGINE = "ruby".freeze
else
  require "nio4r_ext"

  if defined?(JRUBY_VERSION)
    require "java"
    require "jruby"
    org.nio4r.Nio4r.new.load(JRuby.runtime, false)
    NIO::ENGINE = "java".freeze
  else
    NIO::ENGINE = "libev".freeze
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
nio4r-2.3.1-java lib/nio.rb
nio4r-2.3.1 lib/nio.rb
nio4r-2.3.0-java lib/nio.rb
nio4r-2.3.0 lib/nio.rb
nio4r-2.2.0-java lib/nio.rb
nio4r-2.2.0 lib/nio.rb