Skip to main content

purge_port

Function purge_port 

Source
pub fn purge_port(port: u16) -> usize
Expand description

指定した宛先ポート宛の受信エントリを全て破棄し、件数を返す。

【2026-07-29】DNS は 1 つの src_port から複数サーバへ同じクエリを送るため (net/dns.rs:74-88)、応答も同じポート宛に複数届く。1 件だけ消費すると 残りが永久に滞留し、クエリを重ねるほどキューが消費済みの応答で埋まって 新しい DNS 応答が入らなくなる(実測: udp_queue_len=6 で全て古い応答)。

クエリが完了したと判断できる呼び出し側だけが呼ぶこと。 汎用の udp_recv_matching 側で一括破棄すると、述語で送信元を絞る用途 (NTP 等)の契約を壊す。