5 个版本
0.2.0 | 2023 年 3 月 23 日 |
---|---|
0.1.6 | 2023 年 1 月 6 日 |
0.1.5 | 2022 年 5 月 12 日 |
0.1.4 | 2022 年 4 月 22 日 |
#1335 in 编码
68 每月下载次数
155KB
3K SLoC
prost-msg-build
使用 msg id 构建 prost 结构以实现类型判断
message Fail{
enum MsgId { None=0;Id = 150002; }
int64 number=1;
string message=2;
}
自动实现 MsgId 和 const fn
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fail {
#[prost(int64, tag = "1")]
pub number: i64,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
}
#[allow(dead_code)]
pub const FAIL_ID: i32 = Fail::get_msg_id();
impl Fail {
#[allow(dead_code)]
pub const fn get_msg_id() -> i32 {
150002
}
}
impl ::prost_msg_id::MsgId for Fail {
fn get_msg_id(&self) -> i32 {
Self::get_msg_id()
}
}
///get all msg type id
#[allow(dead_code)]
pub const fn msg_ids()->&'static [i32]{
&[
150002, //.RunTT.Fail
]
}
关于 prost-build
prost-build
prost-build
通过 Cargo 构建,使得从 .proto
文件生成 Rust 代码变得简单。请参阅 文档 了解如何将 prost-build
集成到 Cargo 项目中。
protoc
prost-build
使用 protoc
解析 proto 文件。有两种方式让 protoc
对 prost-build
可用:
- 在您的
PATH
中包含protoc
。这可以通过遵循protoc
安装说明 完成。 - 使用
PROTOC=<my/path/to/protoc>
环境变量传递protoc
的路径。
许可证
prost-build
在 Apache 许可证(版本 2.0)的条款下分发。
有关详细信息,请参阅 LICENSE。
版权所有 2017 Dan Burkert
依赖项
~8–20MB
~269K SLoC