-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Closed
Description
Create a reader for CBOR (Concise Binary Object Representation), as defined in IETF RFC 7049.
- Initial implementation should be done directly into a test project
- Assume a new, netstandard2.0-based package (hedged bet)
- After the reader and writer are stable and feature complete, schedule an API review
- After API review, and associated changes, split things into ref/src/test with the declared package.
Rough project plan (approximately a PR for each stage, and 3-5 days of work)
- Support writing "unsigned" (positive) integers, negative integers, definite-length byte strings, definite-length text strings, as well as common structure (e.g. producing output).
- Support writing arrays (definite length only).
- Support writing maps (definite length only), in caller order.
- Note that maps are like
Dictionary<object, object>... key types are heterogeneous.
- Note that maps are like
- Support writing maps (definite length only) in canonical order.
- Probably involves giving the writer a canonicalization mode
- Support writing major type 7 (float: half, single, double; boolean: true, false; null; undefined)
- Support writing single values, raw, with "single value" validation.
- Support writing tags
- Support important tagged types
- The two DateTimeOffset types
- Maybe the two BigInteger types
arkadiuszwojcik, Tornhoof, samsosa and charlesroddie