Skip to content

Commit

Permalink
add {exception: false} optional argument to IO#read_nonblock and #wri…
Browse files Browse the repository at this point in the history
…te_nonblock since 2.1.0
  • Loading branch information
sho-h committed Mar 15, 2014
1 parent 3644a9a commit 98a7e3e
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions refm/api/src/_builtin/IO
Expand Up @@ -1342,7 +1342,11 @@ limit で最大読み込みバイト数を指定します。ただしマルチ
@see [[m:$/]], [[m:IO#gets]]

#@since 1.8.5
#@since 2.1.0
--- read_nonblock(maxlen, outbuf = "", exception: false) -> String | Symbol | nil
#@else
--- read_nonblock(maxlen, outbuf = "") -> String
#@end

IO をノンブロッキングモードに設定し、
その後で [[man:read(2)]] システムコールにより
Expand Down Expand Up @@ -1371,6 +1375,14 @@ EAGAIN, EINTR などは [[c:Errno::EXXX]] 例外として呼出元に報告さ
返り値は outbuf となります。outbuf は一旦 maxlen 長に拡張(あるいは縮小)されたあと、
実際に読み込んだデータのサイズになります。read(2) システムコールが 0 を返した場合は、空文字列になります。

#@since 2.1.0
@param exception 読み込み時に [[c:Errno::EAGAIN]]、
[[c:Errno::EWOULDBLOCK]] が発生する代わりに
:wait_readable を返すかどうかを指定します。また、true
を指定した場合は既に EOF に達していれば
[[c:EOFError]] の代わりに nil を返します。
#@end

@raise IOError 自身が読み込み用にオープンされていなければ発生します。

@raise Errno::EXXX read(2) システムコールの結果としてエラーが起きた場合に発生します。
Expand Down Expand Up @@ -1696,7 +1708,11 @@ IOポートに対して str を出力します。str が文字列でなけ
@raise Errno::EXXX 出力に失敗した場合に発生します。

#@if (version >= "1.8.5")
#@since 2.1.0
--- write_nonblock(string, exception: false) -> String | Symbol
#@else
--- write_nonblock(string) -> Integer
#@end

IO をノンブロッキングモードに設定し、string を [[man:write(2)]] システムコールで書き出します。

Expand All @@ -1717,6 +1733,11 @@ EAGAIN, EINTR などは例外 [[c:Errno::EXXX]] として呼出元に報告さ

@param string 自身に書き込みたい文字列を指定します。

#@since 2.1.0
@param exception 読み込み時に [[c:Errno::EAGAIN]]、[[c:Errno::EWOULDBLOCK]] が発生
する代わりに :wait_writable を返すかどうかを指定します。
#@end

@raise IOError 自身が書き込み用にオープンされていなければ発生します。

@raise Errno::EXXX [[man:write(2)]] が失敗した場合に発生します。
Expand Down

0 comments on commit 98a7e3e

Please sign in to comment.