2个版本
使用旧Rust 2015
| 0.11.0 | 2018年2月23日 |
|---|---|
| 0.11.0-git-cf7ba4ca | 2018年2月24日 |
#26 in #thrift
260KB
5K SLoC
Rust Thrift库
安装
使用 cargo install
此方法支持Rust 1.7以上版本。
cargo install --git https://github.com/okanon/rthrift.git
从源码安装
-
克隆仓库 git clone https://github.com/okanon/rthrift.git
-
cd rthrift; cargo build --release. 二进制文件现在在 ./target/release/ -
将二进制文件添加到您的
PATH。这可以通过将其移动到已存在于您的PATH的目录中(例如/usr/local/bin)或通过将./target/release/目录添加到您的PATH
概览
此crate实现了构建工作Thrift服务器和客户端所需的所有组件。它分为以下模块:
- 错误
- 协议
- 传输
- 服务器
- 自动生成
模块按如图所示分层。生成的 generated 层是Thrift编译器的Rust插件生成的代码。它使用此crate中定义的组件来序列化和反序列化类型并实现RPC。用户通过编写自己的代码与这些类型和服务交互。
+-----------+
| app dev |
+-----------+
| generated | <-> errors/results
+-----------+
| protocol |
+-----------+
| transport |
+-----------+
使用此crate
将 thrift = "x.y.z" 添加到您的 Cargo.toml,其中 x.y.z 是您使用的Thrift编译器的版本。
API文档
完整的Rustdoc
贡献
欢迎提交错误报告和PR!请参阅Thrift网站获取更多详细信息。
Thrift Rust支持需要在几个目录中编写代码
compiler/cpp/src/thrift/generate/t_rs_generator.cc:绑定代码生成器lib/rs:运行时库lib/rs/test:补充测试tutorial/rs:教程客户端和服务器test/rs:跨语言测试客户端和服务器
所有库代码、测试代码和自动生成的代码在编译并通过clippy时没有警告。所有新代码都必须做到这一点!在做出更改时,请确保
rustc不输出任何警告clippy(使用默认设置)不输出任何警告(包括自动生成的代码)cargo test成功make precross和make check成功tutorial/bin/tutorial_client和tutorial/bin/tutorial_server可以通信
依赖项
~1.4–2.1MB
~43K SLoC