1 unstable release

0.1.0 Dec 14, 2021

#156 in #encode-decode

Download history 39/week @ 2023-11-27 31/week @ 2023-12-04 44/week @ 2023-12-11 58/week @ 2023-12-18 36/week @ 2023-12-25 17/week @ 2024-01-01 72/week @ 2024-01-08 44/week @ 2024-01-15 56/week @ 2024-01-22 48/week @ 2024-01-29 37/week @ 2024-02-05 56/week @ 2024-02-12 46/week @ 2024-02-19 79/week @ 2024-02-26 71/week @ 2024-03-04 61/week @ 2024-03-11

266 downloads per month
Used in 10 crates (via jcers)

MIT license

7KB
123 lines

Jcers

A Encode/Decode lib for Jce.

Features

  • derive: derive macro support

How to use

use jcers::{JceGet, JcePut};

#[derive(Debug, Default, JceGet, JcePut)]
pub struct YouJceStruct {  // only support NamedStruct
    #[jce(0)]              // jce tag
    pub a_named_field: u8, // a field
}

let s: YouJceStruct = jcers::from_buf(&mut buf).unwrap(); // buf should impl bytes::Buf

JceType

JceCode JceType RustType
0 u8 u8
1 i16 i16
2 i32 i32
3 i64 i64
4 f32 f32
5 f64 f64
6 ShortString String
7 LongString String
8 Map HashMap<K, V>
9 List Vec<V>
10 Struct T
11 StructEnd -
12 Empty T::default()
13 bytes bytes::Bytes

Dependencies

~1.5MB
~34K SLoC