Class: File

Inherits:
IO
  • Object
show all
Defined in:
lib/neverblock/io/file.rb

Constant Summary

Constants inherited from IO

IO::NB_BUFFER_LENGTH

Class Method Summary collapse

Methods inherited from IO

#getc, #gets, #print, #rb_getc, #rb_gets, #rb_print, #rb_read, #rb_readchar, #rb_readline, #rb_readlines, #rb_sysread, #rb_syswrite, #rb_write, #read, #read_neverblock, #readchar, #readline, #readlines, #readpartial, #sysread, #syswrite, #write, #write_neverblock

Class Method Details

.neverblock(*methods) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/neverblock/io/file.rb', line 10

def self.neverblock(*methods)
  methods.each do |method|  
    class_eval %{
      def #{method}(*args)
        return rb_#{method}(*args) unless NB.neverblocking?
        NB.defer(self, :#{method}, args)
      end
    }
  end
end