8. ServiceMode RR の互換性と必須キー
ServiceMode RR において、クライアントがその SvcParamKey を無視すると RR が正しく機能しない場合、その SvcParamKey は「必須」とみなされます。各 SVCB プロトコルマッピングは、「自動的に必須」となるキーのセット、つまり RR に存在する場合に必須となるキーのセットを指定すべきです。SvcParamKey "mandatory" は、存在する自動的に必須なキーに加えて、この RR の必須キーを示すために使用されます。
クライアントがすべての必須キーを認識し、その値が接続の確立が可能であることを示している場合、ServiceMode RR はクライアントによって「互換性がある」とみなされます。互換性のない RR は無視されます(第 3 節で定義された手順のステップ 5 を参照)。
表現値は、登録名または未知キー形式(第 2.1 節)のいずれかによる、1 つ以上の有効な SvcParamKey のカンマ区切りリストでなければなりません。キーは任意の順序で表示できますが、複数回表示してはなりません。自己整合性(第 2.4.3 節)のため、リストされたキーは SvcParams にも表示されなければなりません。
より簡単な解析を可能にするため、この SvcParamValue にはエスケープシーケンスを含めてはなりません。
ワイヤ形式の値は、各キーの数値をネットワークバイト順で連結したもので、内部パディングはありません。
たとえば、キー alpn、port、および仮想的な新しいキー foo(SvcParamKey=54321)を持つ ServiceMode RR の場合、表現形式での mandatory 値は "mandatory=alpn,port,foo" となります。ワイヤ形式では、これは次のオクテットとして表現されます:
00 01 00 03 d4 31
(上記において、"00 01" は "alpn" の数値を表し、"00 03" は "port" の数値を表し、"d4 31" はネットワークバイト順での数値 54321 を表します。)