Rust 设置
Fory Rust 提供 xlang 和 native 对象序列化、标准 Row Format、生成的模型以及 Fory gRPC。公开的 fory crate 发布在 crates.io,支持 Rust 1.70 及更高版本,并使用 Rust 2021 edition。
验证工具链
rustc --version
cargo --version
对象序列化
添加公开 crate:
Cargo.toml
[dependencies]
fory = "1.5.0"
use fory::{Error, Fory, ForyStruct};
#[derive(ForyStruct, Debug, PartialEq)]
struct User {
id: i64,
name: String,
}
fn main() -> Result<(), Error> {
let mut fory = Fory::builder().xlang(true).build();
fory.register::<User>(1)?;
let user = User {
id: 1,
name: "Alice".to_string(),
};
let bytes = fory.serialize(&user)?;
let decoded: User = fory.deserialize(&bytes)?;
assert_eq!(user, decoded);
Ok(())
}
跨语言数据请使用 xlang 模式,仅供 Rust 使用的数据请使用 native 模式。接下来可阅读 Rust 对象序列化、配置和类型注册。
其他能力
- Row Format 使用标准 Fory Row 布局,为可信分析数据提供零拷贝视图。请参阅 Rust Row Format。
- Fory IDL 与编译器 生成 Rust 模型和注册辅助代码。请参阅编译器快速入门和 Rust 生成代码指南。
- Fory gRPC 通过 tonic 传输使用 Fory 编码的消息。请参阅 Rust gRPC。