以下のメッセージを例にして全 API メッセージに共通の仕様を説明するにゃ.
- 0バイト目 (例示メッセージでは 0x02):
- 0x01
- リクエストに対するレスポンスが不要な一方的なメッセージにゃ.
- 0x02
- レスポンスを必要とするリクエストメッセージにゃ.
- 0x03
- (0バイト目が0x02のリクエストメッセージに対する)レスポンスメッセージにゃ.
- 1バイト目~2バイト目(例示メッセージでは0x2E0x00): メッセージのシーケンス番号(little endian)にゃ.対応するリクエストとレスポンスでは一致するにゃ.
- 3バイト目: 0x0A で固定にゃ.
- 4バイト目: その直後に続く文字列(0x12が文字列終端記号)の長さにゃ.例示メッセージでは 0x1B (==27) で, ".lq.Lobby.fetchGameLiveList" の長さに一致するにゃ.
- 5バイト目~最初の0x12まで: API 名にゃ.API一覧にゃに対応する名前があるはずにゃ.
- 3バイト目以降最後まで: Protocol Buffers のメッセージとしてデコードできるにゃ.(TODO: デコードの方法を書く)