#raw-pointers #byte-buffer #structs #data #pickle #serialization #learn

mempickle

使用0序列化将原始结构体存储到磁盘上

1个不稳定版本

0.1.0 2023年12月4日

#1665 in 编码

MIT 许可证

5KB

mempickle

⚠️ 警告:此crate绝对不应该在生产环境中使用。如果您更改代码,或者甚至使用不同版本的编译器重新编译,所有数据都会损坏。此crate仅用于学习目的。

此crate提供了一种MemPickle类型,可以将原始Rust结构体序列化到字节缓冲区中,并将其反序列化回来。

我编写此crate只是为了学习如何在Rust中处理原始指针。如果您坚持使用它,那是您的选择。

如果您坚持使用此crate,请使用功能“i_like_breaking_production”加载。

用法

use mempickle::MemPickle;

#[derive(Debug, PartialEq)]
struct Foo {
    a: u32,
    b: u32,
}

let foo = Foo { a: 42, b: 69 };

let pickle = MemPickle::new(foo);


// do some other stuff until you need to load the pickle back

let foo = pickle.unwrap();

assert_eq!(foo, Foo { a: 42, b: 69 });

依赖项

~1.6–9.5MB
~101K SLoC