Crates.io | ser-write-msgpack |
lib.rs | ser-write-msgpack |
version | 0.3.0 |
source | src |
created_at | 2024-05-11 22:13:57.150486 |
updated_at | 2024-10-31 22:08:06.323628 |
description | MessagePack serializer for ser-write and deserializer for convenience |
homepage | https://github.com/royaltm/rust-ser-write |
repository | https://github.com/royaltm/rust-ser-write |
max_upload_size | |
id | 1237091 |
size | 202,575 |
This crate provides a no_std
friendly MessagePack serializers for serde using SerWrite
as a writer and a deserializer for convenience.
[dependencies]
ser-write-msgpack = { version = "0.3", default-features = false }
ser-write-msgpack
comes with 3 serializers:
to_writer_compact
- serializes structs to arrays and enum variants as indexes,to_writer
- serializes structs to maps with fields and enum variants as indexes,to_writer_named
- serializes structs to maps with field names and enum variants as strings.Features:
std
enables std library,alloc
enables alloc library,With alloc
or std
feature enabled serde::ser::Serializer::collect_str
method is implemented using intermediate String
.
Otherwise Serializer::collect_str
is implemented by formatting a string twice, once to count the string size and the second time to actually write it.
The MessagePack deserializer expects a MessagePack encoded slice of bytes. &str
or &[u8]
types deserialize using (ZERO-COPY) references from the provided slice.
from_slice
- deserializes MessagePack data from a slice of bytesfrom_slice_split_tail
- deserializes MessagePack data from a slice of bytes returning a remaining portion of the input sliceDeserializer supports self-describing formats.
Deserializer deserializes structs from both maps and arrays using either strings or indexes as variant or field identifiers.
ser-write-msgpack
requires Rustc version 1.81 or greater.