Skip to content

Commit 55bf45c

Browse files
Watson1978claude
andcommitted
レビュー対応: IO#wait_priority を io/wait.md へ移動
wait / wait_readable / wait_writable と定義場所を揃える。実機で確認したところ この 4 つは 3.0 / 3.1 では require "io/wait" が必要で、3.2 以降は require なしで 使える。wait_priority だけ _builtin/IO.md に #@SInCE 3.2 で置くと、兄弟と 定義場所が分かれ、since バッジも揃わない。 ただし io/wait.md は版で囲まれていないため、そのままだと 1.8.7〜2.7.0 の ページにも出てしまう。require "io/wait" しても 2.7.8 では wait_priority が 未定義で 3.0.7 から存在するので、このエントリだけ #@SInCE 3.0 で囲んだ。 返り値の説明も wait_readable と同じ 3 ケース (バッファにあれば true、 ブロック後に可能になれば self、タイムアウトで nil) に揃えた。 io_wait_priority が rb_io_read_pending なら Qtrue、そうでなければ io_wait_event(io, RUBY_IO_PRIORITY, timeout, 1) を返す実装と一致する。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 7428595 commit 55bf45c

2 files changed

Lines changed: 23 additions & 14 deletions

File tree

manual/api/_builtin/IO.md

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2471,20 +2471,6 @@ r.read # ~> IO::TimeoutError
24712471

24722472
- **SEE** [m:IO#timeout], [c:IO::TimeoutError]
24732473

2474-
### def wait_priority(timeout = nil) -> bool | self | nil
2475-
2476-
self が優先データを受信して読み込み可能になるまで待ちます。
2477-
2478-
優先データ(緊急データ)は [m:Socket::Constants::MSG_OOB] フラグを用いて
2479-
送受信され、通常はストリーム型のソケットに限られます。
2480-
2481-
- **param** `timeout` -- タイムアウトを秒単位の数値で指定します。
2482-
nil を指定すると読み込み可能になるまで待ち続けます。
2483-
- **return** -- 読み込み可能になった場合は真を、timeout で指定した時間が経過した
2484-
場合は nil を返します。
2485-
2486-
- **SEE** [m:IO#wait_readable], [m:IO#wait_writable]
2487-
24882474
#@end
24892475

24902476
## Constants

manual/api/io/wait.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,26 @@ timeout を指定した場合は、指定秒数経過するまでブロックし
6969
- **param** `timeout` -- タイムアウトまでの秒数を指定します。
7070

7171
- **SEE** [m:IO#wait_readable]
72+
73+
#@since 3.0
74+
### def wait_priority(timeout = nil) -> bool | self | nil
75+
76+
self が優先データを受信して読み込み可能になるまでブロックし、
77+
読み込み可能になったら真値を返します。
78+
79+
優先データ(緊急データ)は [m:Socket::Constants::MSG_OOB] フラグを用いて
80+
送受信され、通常はストリーム型のソケットに限られます。
81+
82+
より詳しくは、一度ブロックしてから読み込み可能になった場合には
83+
self を返します。
84+
内部のバッファにデータがある場合には
85+
ブロックせずに true を返します。
86+
87+
timeout を指定した場合は、指定秒数経過するまでブロックし、タ
88+
イムアウトした場合は nil を返します。
89+
90+
- **param** `timeout` -- タイムアウトまでの秒数を指定します。
91+
nil を指定すると読み込み可能になるまで待ち続けます。
92+
93+
- **SEE** [m:IO#wait_readable], [m:IO#wait_writable]
94+
#@end

0 commit comments

Comments
 (0)