class NIO::Monitor

def initialize(io, interests, selector)

:nodoc:
def initialize(io, interests, selector)
  unless defined?(::OpenSSL) && io.is_a?(::OpenSSL::SSL::SSLSocket)
    unless io.is_a?(IO)
      if IO.respond_to? :try_convert
        io = IO.try_convert(io)
      elsif io.respond_to? :to_io
        io = io.to_io
      end
      raise TypeError, "can't convert #{io.class} into IO" unless io.is_a? IO
    end
  end
  @io        = io
  @interests = interests
  @selector  = selector
  @closed    = false
end