An open API service indexing awesome lists of open source software.

https://github.com/rmja/minicbor-embedded-io

An asynchronous cbor reader/writer for embedded sytems
https://github.com/rmja/minicbor-embedded-io

Last synced: 11 months ago
JSON representation

An asynchronous cbor reader/writer for embedded sytems

Awesome Lists containing this project

README

          

# Async CBOR Reader and Writer

[![CI](https://github.com/rmja/minicbor-embedded-io/actions/workflows/ci.yaml/badge.svg)](https://github.com/rmja/minicbor-embedded-io/actions/workflows/ci.yaml)
[![crates.io](https://img.shields.io/crates/v/minicbor-embedded-io.svg)](https://crates.io/crates/minicbor-embedded-io)
[![docs.rs](https://docs.rs/minicbor-embedded-io/badge.svg)](https://docs.rs/minicbor-embedded-io)

The `minicbor-embedded-io` crate implements async read and write for the `minicbor` crate on top of the `embedded-io-async` `Read` and `Write` traits.

The library is inspired by the way the [Dahomey.Cbor](https://github.com/dahomey-technologies/Dahomey.Cbor) library does asynchronous read and write.
For example, to read an array, one must implement the `CborArrayReader` trait, which is called for each array item.
The callback can either actually read the item, or return an error indicating that it needs more bytes to fully decode - in this case the reader will be called again whenever more bytes become available.