はのは、私が(いるProtobufのバイナリエンコーディングを使用してIE)gRPC要求として使用するために、以下のように定義されproto3メッセージを、持っているとしましょう:proto3オプションフィールドは、ワイヤの互換性を損なうことなく繰り返し設定できますか?
message MyRequest {
string name = 1;
}
私が使用する(つまり、メッセージの読者)私のサーバーを変更することができます既存のクライアント(ライター)のためのワイヤーの互換性を損なうことなく、次の定義ですか? proto2 language guideで
message MyRequest {
repeated string names = 1;
}
、私は以下を参照してください。
optional
はrepeated
と互換性があります。繰り返しフィールドのシリアル化されたデータが入力として与えられると、このフィールドがoptional
であることを期待するクライアントは、プリミティブ型フィールドの場合は最後の入力値を取り、メッセージタイプフィールドの場合はすべての入力要素をマージします。
ただし、proto3のマニュアルには、同等の文が含まれていません。私はこれがproto3の繰り返しフィールドのために符号化されたpacked
の使用に関連していると思います。