Skip to main content

wait_for_first_byte

Function wait_for_first_byte 

Source
pub fn wait_for_first_byte(local_port: u16, max_ticks: usize)
Expand description

受信バッファに何か(1バイトでも)届いているかを、消費せずに確認する。 送信直後にごく短時間だけ様子を見て「応答が全く来ていない=パケット ロストの疑い」を判定するための軽量ヘルパー(2026-07-24)。 応答の最初の 1 バイトが届くまで待つ(上限つき)。

【2026-08-05】各所に「送信したのでサーバ処理を待つ」という sleep(50)(500ms 固定)が 6 箇所あった。だが

  • sleep(n) は「ちょうど n」ではなく「最低でも n」で、 実測では 3.7 倍かかる(spec/resource_loading.md R-14)。 500ms のつもりが約 1.85 秒
  • 直後の受信ループがどのみち待つので、この待ちは純粋な上乗せ

上限は同じままに、届いたら即座に返る形にする。 待ちを実経過で数えるのが要点(指定値の足し算では上限が効かない)。

計算量: O(待った tick 数)