prost-msg-build

Crates.ioprost-msg-build
lib.rsprost-msg-build
version0.2.0
sourcesrc
created_at2022-04-20 08:00:48.342738
updated_at2023-03-23 07:55:13.292067
descriptionA Protocol Buffers implementation for the Rust Language.
homepage
repositoryhttps://github.com/luyikk/prost-build-type
max_upload_size
id570835
size156,149
(luyikk)

documentation

https://docs.rs/prost-msg-build

README

Documentation Crate

prost-msg-build

build prost struct with msg id so as to realize type judgment

message Fail{
   enum MsgId {  None=0;Id = 150002; }
   int64 number=1;
   string message=2;
}

auto impl MsgId and 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
    ]
}

about prost-build

prost-build

prost-build makes it easy to generate Rust code from .proto files as part of a Cargo build. See the crate documentation for examples of how to integrate prost-build into a Cargo project.

protoc

prost-build uses protoc to parse the proto files. There are two ways to make protoc available for prost-build:

  • Include protoc in your PATH. This can be done by following the protoc install instructions.
  • Pass the PROTOC=<my/path/to/protoc> environment variable with the path to protoc.

License

prost-build is distributed under the terms of the Apache License (Version 2.0).

See LICENSE for details.

Copyright 2017 Dan Burkert

Commit count: 29

cargo fmt