Skip to content

Create a stateful CBOR writer #32047

@bartonjs

Description

@bartonjs

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.
  • 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

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions