Expand description
L2: NIC 送信キューの容量判定(純粋ロジック)。
§なぜ必要か
【2026-07-30 実測】背景写真(3.7MB)の取得中に
[NET][DIAG] nic tx queue FULL (size=8) dropped_total=2192と、送信パケットを 2192 個も捨てていた。 送信キューは 8 エントリしかなく、USB の送信が追いつかないと溢れる。
捨てられた送信は上位から見ると「送ったのに応答が来ない」に見え、 DNS タイムアウト・TCP 接続タイムアウト・取得の停止として現れる。 上層では原因が分からない典型なので、容量判定を純粋関数にして 単体試験で固定する。
グローバル状態にもハードウェアにも依存しない。
Enums§
- Enqueue
Outcome - 投入結果。
Constants§
- BACKPRESSURE_
THRESHOLD_ PERCENT - この使用率なら送信元へ背圧をかけるべきか。
Functions§
- find_
slot - 空きスロットを探す。
is_free(i)が真のスロットのうち最小の添字を返す。 - should_
apply_ backpressure - utilization_
percent - キューの使用率(0〜100%)。監視・診断用。