3 个版本 (稳定)
1.1.0 | 2023年3月23日 |
---|---|
1.0.0 | 2022年2月10日 |
1.0.0-alpha.0 | 2022年1月21日 |
在 WebAssembly 中排名第1080
每月下载量 256
在 wapc-guest 中使用
10KB
149 行
waPC消息Pack编解码器
这个crate包含了waPC模块内部和外部通信的常用序列化和反序列化方法。
waPC不需要MessagePack 但它确实需要一个主机和客户端之间的通信契约。waPC CLI代码生成器使用这个crate,但你也可以自由选择你想要的。
示例
以下是一个简单的示例,演示了WebAssembly主机运行时和客户端模块之间的同步、双向过程调用。
use serde::{Deserialize, Serialize};
use wapc_codec::messagepack::{deserialize, serialize};
#[derive(Deserialize, Serialize, Debug)]
struct Person {
first_name: String,
last_name: String,
age: u8,
}
pub fn main() -> Result<(), Box<dyn std::error::Error>> {
let person = Person {
first_name: "Samuel".to_owned(),
last_name: "Clemens".to_owned(),
age: 49,
};
println!("Original : {:?}", person);
let bytes = serialize(&person)?;
println!("Serialized messagepack bytes: {:?}", bytes);
let round_trip: Person = deserialize(&bytes)?;
println!("Deserialized : {:?}", round_trip);
Ok(())
}
依赖项
~110–430KB