Crates.io | picodata-rmp-serde |
lib.rs | picodata-rmp-serde |
version | 1.0.0 |
source | src |
created_at | 2024-04-22 15:17:43.940765 |
updated_at | 2024-04-22 15:17:43.940765 |
description | Serde bindings for RMP (forked from rmp-serde) |
homepage | |
repository | https://github.com/picodata/msgpack-rust |
max_upload_size | |
id | 1216294 |
size | 166,624 |
This is a fork of https://github.com/3Hren/msgpack-rust.
RMP is a pure Rust MessagePack implementation.
This repository consists of three separate crates: the RMP core and two implementations to ease serializing and deserializing Rust structs.
crates.rs | API Documentation |
---|---|
RMP | |
RMP Serde | |
RMP Value |
Convenient API
RMP is designed to be lightweight and straightforward. There are low-level API, which gives you
full control on data encoding/decoding process and makes no heap allocations. On the other hand
there are high-level API, which provides you convenient interface using Rust standard library and
compiler reflection, allowing to encode/decode structures using derive
attribute.
Zero-copy value decoding
RMP allows to decode bytes from a buffer in a zero-copy manner easily and blazingly fast, while Rust static checks guarantees that the data will be valid as long as the buffer lives.
Clear error handling
RMP's error system guarantees that you never receive an error enum with unreachable variant.
Robust and tested
This project is developed using TDD and CI, so any found bugs will be fixed without breaking existing functionality.