Crates.io | cbor_enhanced |
lib.rs | cbor_enhanced |
version | 0.1.1 |
source | src |
created_at | 2020-06-28 16:50:43.459301 |
updated_at | 2020-12-26 15:15:27.937448 |
description | Cbor de/serialization library making use of lifetimes to support zero copy deserialization. Several iana tags are supported but need to be activated via feature flags. |
homepage | https://github.com/krampenschiesser/cbor_enhanced |
repository | https://github.com/krampenschiesser/cbor_enhanced |
max_upload_size | |
id | 259140 |
size | 153,854 |
Inspired by cbor_event but making use of lifetimes to support zero copy deserialization. In addition several iana tags are supported but need to be activated via feature flags.
Tag | Description | Implementation notes |
---|---|---|
64-82 | Typed arrays | Either direct transmution for the brave or safe parsing for the cautious |
80, 81, 82, 85, 86 | Typed float arrays | Either direct transmution for the brave or safe parsing for the cautious, f16 is only supported in big-endian format |
260, 261 | Network address | Direct de/serialization of network address |
0, 1, 1001 | DateTime | Directly de/serialize chrono date time types with defined precision |
2, 3 | BigInt, BigUint | Directly de/serialize num_bigint BigInt, BigUint |
37 | Uuid | Directly de/serialize uuid using uuid crate |
35 | Regex | Directly de/serialize regex using regex crate |
36 | Mime type | Directly de/serialize mime types using mime crate |
103 | Geographic Coordinate | Directly de/serialize geographic coordinates |
Deriving cbor_protocol enables you to serialize/deserialize a struct into a Map<uint,Value> Where the keys for the map are the property id's. The derive macro requires nightly for posiioned compile error reporting.
#[derive(cbor_protocol, Clone, Eq, PartialEq, Debug)]
#[reserved(5, 6, 7)]
struct BlaStruct {
#[id(1)]
#[default("none")]
name: String,
#[id(2)]
value: i32,
}
MIT and Apache