pub const ERR_TABLE_FULL: &str = "tcp socket table full";Expand description
ソケットテーブルから空きスロットを 1 つ選ぶ(純粋ロジック)。
実体の TcpSocket は Vec を含み Copy でないため配列ごと渡せない。
代わりに「長さ」と「その添字が使用中か」を返すクロージャだけを受け取ることで、
グローバル状態から完全に切り離してテストできるようにしている。
満杯時のエラー文字列は呼び出し側・テストの双方が依存するため定数化してある。