Sha256: a6dc3c43f85f6d1df9c48104b063e0ea345205f6c7e43e3437bc058791b7acfc

Contents?: true

Size: 635 Bytes

Versions: 4

Compression:

Stored size: 635 Bytes

Contents

require 'thread'
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"] || ENV["OS"] =~ /Windows/i
  require 'nio/monitor'
  require 'nio/selector'
  NIO::ENGINE = 'select'
else
  require 'nio4r_ext'

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
nio4r-0.4.5-java lib/nio.rb
nio4r-0.4.5 lib/nio.rb
nio4r-0.4.4-java lib/nio.rb
nio4r-0.4.4 lib/nio.rb