5. Creating CBOR-Based Protocols (Erstellung CBOR-Basierter Protokolle)
5.1. CBOR in Streaming Applications (CBOR in Streaming-Anwendungen)
CBOR ist für die Verwendung in Streaming-Umgebungen konzipiert. Decoder können CBOR-Datenelemente schrittweise aus einem eingehenden Bytestrom verarbeiten.
5.2. Generic Encoders and Decoders (Generische Encoder und Decoder)
Eines der Hauptdesignziele von CBOR ist die Möglichkeit generischer Codecs, die CBOR-Datenelemente ohne Vorkenntnisse eines spezifischen Anwendungsschemas verarbeiten können.
5.3. Validity of Items Encoded in a CBOR Data Item (Gültigkeit der in einem CBOR-Datenelement Codierten Elemente)
Anwendungsspezifikationen KÖNNEN Einschränkungen auf die Struktur von CBOR-Datenelementen auferlegen (MAY):
- Einschränkungen der erlaubten Haupttypen
- Zeichenfolgenlängenbeschränkungen
- Array- und Map-Größenbeschränkungen
- Numerische Bereichseinschränkungen
5.4. Validity and Evolution (Gültigkeit und Evolution)
CBOR-basierte Protokolle SOLLTEN unter Berücksichtigung zukünftiger Erweiterungen entworfen werden (SHOULD):
- Behandlung unbekannter Tags
- Ignorieren zusätzlicher Map-Einträge
- Verarbeitung optionaler Elemente
5.5. Numbers (Zahlen)
CBOR unterstützt die folgenden numerischen Typen:
- Vorzeichenlose Ganzzahlen (Haupttyp 0)
- Negative Ganzzahlen (Haupttyp 1)
- Gleitkommazahlen (Haupttyp 7)
5.6. Specifying Keys for Maps (Angabe von Schlüsseln für Maps)
Anwendungsspezifikationen SOLLTEN die als Map-Schlüssel verwendeten Datentypen einschränken (SHOULD). Übliche Auswahlmöglichkeiten:
- Ganzzahlen
- Textzeichenfolgen
- Mischung aus beiden