instance method IO#write_nonblock
write_nonblock(string) -> Integer
-
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
write(2) が成功した場合、書き込んだ長さを返します。 EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。 書き込んだバイト数(つまり返り値)は String#bytesize の 値より小さい可能性があります。
発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、 その例外オブジェクトに IO::WaitWritable が Object#extend されます。よって IO::WaitWritable を write_nonblock のリトライが必要 かの判定に用いることができます。
- [PARAM] string:
- 自身に書き込みたい文字列を指定します。
- [EXCEPTION] IOError:
- 自身が書き込み用にオープンされていなければ発生します。
- [EXCEPTION] Errno::EXXX:
- write(2) が失敗した場合に発生します。
class IO