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