You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RMP-Value (Documentation) — a universal Value enum that can hold any MessagePack type. Allows deserializing arbitrary messages without a known schema.
RMP (Documentation) — low-level functions for reading/writing encoded data.
Features
Convenient and powerful APIs
RMP is designed to be lightweight and straightforward. There is a high-level API with support for Serde,
which provides you convenient interface for encode/decode Rust's data structures using derive attribute.
There are also low-level APIs, which give you full control over data encoding/decoding process,
with no-std support and without heap allocations.
Zero-copy value decoding
RMP allows to decode bytes from a buffer in a zero-copy manner. Parsing is implemented in safe Rust.
Robust, stable and tested
This project is developed using TDD and CI, so any found bugs will be fixed without breaking
existing functionality.
Why MessagePack?
It's smaller and much simpler to parse than JSON. The encoded data is self-describing and extensible, without using any schema definitions. It supports the same data types as JSON, plus binary data, non-string map keys, all float values, and 64-bit numbers. Msgpack values use <lenght><data> encoding, so they can be safely concatenated and read from a stream.
MessagePack is similar to CBOR, but has simpler data types (no bignums, decimal floats, dates, or indefinite-length sets, etc.)
Requirements
An up-to-date stable version of Rust, preferably from rustup.
About
MessagePack implementation for Rust / msgpack.org[Rust]