# Copyright (C) 2015-2016 all contributors # License: GPL-3.0+ class DTAS::Nonblock < IO # :nodoc: if RUBY_VERSION.to_f <= 2.0 EX = {}.freeze def read_nonblock(len, buf = nil, opts = EX) super(len, buf) rescue IO::WaitReadable raise if opts[:exception] :wait_readable rescue EOFError raise if opts[:exception] nil end def write_nonblock(buf, opts = EX) super(buf) rescue IO::WaitWritable raise if opts[:exception] :wait_writable end end end