8. Performing Connectivity Checks (接続性チェックの実行)
[RFC8445]で指定されているように、タイマーTaが起動するたびに、実行中 (Running)状態のチェックリストのみが、候補ペアの接続性チェックをスケジュールする際に選択されます。したがって、Trickle ICEエージェントは、候補ペアがリストに段階的に追加されると予想される限り、各チェックリストを実行中状態に維持しなければなりません (MUST)。その後、チェックリストの状態は[RFC8445]の手順に従って設定されます。
タイマーTaが起動して空のチェックリストが選択されるたびに、リストに対してアクションは実行されません。タイマーTaが再び期限切れになるのを待つことなく、エージェントは[RFC8445]のセクション6.1.4.2に従って、実行中状態の次のチェックリストを選択します。
[RFC8445]のセクション7.2.5.4では、接続性チェックトランザクションの完了時にエージェントがチェックリストとタイマー状態を更新する必要があります。このような更新中、通常のICEエージェントは、以下の両方の条件が満たされている場合、チェックリストの状態を失敗 (Failed)に設定します:
-
チェックリスト内のすべてのペアが失敗 (Failed)状態または成功 (Succeeded)状態のいずれかである。かつ
-
データストリームの各コンポーネントに対して、有効なリストに有効なペアが存在しない。
Trickle ICEでは、候補収集とトリクリングがまだ進行中である場合、上記の状況が頻繁に発生しますが、将来のチェックが成功する可能性は十分にあります。このため、Trickle ICEエージェントは、上記のリストに以下の条件を追加します:
-
すべての候補収集が完了し、エージェントが新しいローカル候補を発見することを予期していない。かつ
-
リモートエージェントが、セクション13で説明されているように、このチェックリストの候補終了指示を送信した。