некоторые пункты оглавления из стандарта: https://github.com/cbor/spec-with-errata-fixed/
Creating CBOR-Based Protocols CBOR in Streaming Applications Generic Encoders and Decoders Malformed Indefinite-Length Items Self-Describe CBOR Там же чуть выше: Indefinite Lengths for Some Major Types Indefinite-Length Byte Strings and Text Strings Примеры в 2.2.1 - это то, что мне показалось важным. То есть протокол, описывающий сам себя. При этом мы можем начать декодировать с середины потока и рано или поздно мы восстановимся; при том, что можно вложения одного в другое делать, то есть давать потокам(массивам) идентификаторы. И элементы с неопределённой длинной допустимы, что позволяет "поток" остановить и вклинить в данные канала более приоритетный "поток". А потом предыдущий продолжить. Может несколько невнятно, но общая идея такая. Подумать, как это реализуется, и можно ли подобный финт провернуть с другим алфавитом (а может и не потребуется, если алфавит байтовый).
Creating CBOR-Based Protocols CBOR in Streaming Applications Generic Encoders and Decoders Malformed Indefinite-Length Items Self-Describe CBOR Там же чуть выше: Indefinite Lengths for Some Major Types Indefinite-Length Byte Strings and Text Strings Примеры в 2.2.1 - это то, что мне показалось важным. То есть протокол, описывающий сам себя. При этом мы можем начать декодировать с середины потока и рано или поздно мы восстановимся; при том, что можно вложения одного в другое делать, то есть давать потокам(массивам) идентификаторы. И элементы с неопределённой длинной допустимы, что позволяет "поток" остановить и вклинить в данные канала более приоритетный "поток". А потом предыдущий продолжить. Может несколько невнятно, но общая идея такая. Подумать, как это реализуется, и можно ли подобный финт провернуть с другим алфавитом (а может и не потребуется, если алфавит байтовый).