--- !ruby/object:RI::MethodDescription 
aliases: []

block_params: 
comment: 
- !ruby/struct:SM::Flow::P 
  body: Reads at most <em>maxlen</em> bytes from <em>ios</em> using read(2) system call after O_NONBLOCK is set for the underlying file descriptor.
- !ruby/struct:SM::Flow::P 
  body: If the optional <em>outbuf</em> argument is present, it must reference a String, which will receive the data.
- !ruby/struct:SM::Flow::P 
  body: "read_nonblock just calls read(2). It causes all errors read(2) causes: EAGAIN, EINTR, etc. The caller should care such errors."
- !ruby/struct:SM::Flow::P 
  body: read_nonblock causes EOFError on EOF.
- !ruby/struct:SM::Flow::P 
  body: If the read buffer is not empty, read_nonblock reads from the buffer like readpartial. In this case, read(2) is not called.
full_name: IO#read_nonblock
is_singleton: false
name: read_nonblock
params: |
  ios.read_nonblock(maxlen)              => string
  ios.read_nonblock(maxlen, outbuf)      => outbuf

visibility: public
