2.1. 【拡張仕様】Protocol Buffers を用いたエンコーディング¶
本拡張仕様では、エンコーディングに Protocol Buffers を使用した場合の、メッセージのエンコード/デコードの方法について定義します。
2.1.1. エンコーディングの名称¶
トランスポート層での事前ネゴシエーション時に使用するエンコーディング名は、 proto
を使用します。
2.1.2. メッセージのフォーマットとパース¶
このエンコーディングでは、Protocol Buffers のバイナリワイヤ形式を使用します。
各メッセージの定義には、 この proto ファイル群
を使用することができます。
本ファイル群の構成は、以下のとおりです。
ファイル |
内容 |
---|---|
通信の開始と終了 に関連するメッセージの定義ファイル |
|
アップストリーム に関連するメッセージの定義ファイル |
|
ダウンストリーム に関連するメッセージの定義ファイル |
|
エンドツーエンド通信 に関連するメッセージの定義ファイル |
|
PING/PONG に関連するメッセージの定義ファイル |
|
メタデータ に関連するメッセージの定義ファイル |
|
共通で使用する構造体の定義ファイル |
|
結果コードの定義ファイル |
|
connection.proto に関連する拡張フィールドの定義ファイル |
|
upstream.proto に関連する拡張フィールドの定義ファイル |
|
downstream.proto に関連する拡張フィールドの定義ファイル |
|
e2e_call.proto に関連する拡張フィールドの定義ファイル |
|
ping_pong.proto に関連する拡張フィールドの定義ファイル |
拡張仕様をサポートする場合は、 extensions
ディレクトリ配下の拡張フィールドの定義を、
サポートする拡張仕様の規定に合わせて差し替える必要があります。
このエンコーディングを使用するためのフォーマッタおよびパーサには、 Protocol Buffers エコシステムで提供されるツール群を使用して自動生成されたものを使用することができます。
2.1.3. フォーマットのタイプ¶
本エンコーディングはバイナリ形式です。