5. Creating CBOR-Based Protocols (CBOR ベースのプロトコル作成)
5.1. CBOR in Streaming Applications (ストリーミングアプリケーションでの CBOR)
CBOR は、ストリーミング環境での使用向けに設計されています。デコーダーは、到着するバイトストリームから CBOR データ項目を段階的に処理できます。
5.2. Generic Encoders and Decoders (汎用エンコーダーとデコーダー)
CBOR の主要な設計目標の 1 つは、特定のアプリケーションスキーマの事前知識なしで CBOR データ項目を処理できる汎用コーデックの可能性です。
5.3. Validity of Items Encoded in a CBOR Data Item (CBOR データ項目内にエンコードされた項目の妥当性)
アプリケーション仕様は、CBOR データ項目の構造に制約を課す MAY (可能):
- 許可されるメジャータイプの制限
- 文字列長の制限
- 配列およびマップサイズの制限
- 数値範囲の制限
5.4. Validity and Evolution (妥当性と進化)
CBOR ベースのプロトコルは、将来の拡張を考慮して設計する SHOULD (推奨):
- 未知のタグの処理
- 追加のマップエントリの無視
- オプション要素の処理
5.5. Numbers (数値)
CBOR は、以下の数値タイプをサポートします:
- 符号なし整数 (メジャータイプ 0)
- 負整数 (メジャータイプ 1)
- 浮点数 (メジャータイプ 7)
5.6. Specifying Keys for Maps (マップのキー指定)
アプリケーション仕様は、マップキーとして使用されるデータ型を制限する SHOULD (推奨)。一般的な選択肢:
- 整数
- テキスト文字列
- 両方の混合