xref: /tonic/tonic-reflection/src/lib.rs (revision ff71e893)
1 //! A `tonic` based gRPC Server Reflection implementation.
2 
3 #![warn(
4     missing_debug_implementations,
5     missing_docs,
6     rust_2018_idioms,
7     unreachable_pub
8 )]
9 #![doc(
10     html_logo_url = "https://github.com/hyperium/tonic/raw/master/.github/assets/tonic-docs.png"
11 )]
12 #![deny(rustdoc::broken_intra_doc_links)]
13 #![doc(html_root_url = "https://docs.rs/tonic-reflection/0.10.2")]
14 #![doc(issue_tracker_base_url = "https://github.com/hyperium/tonic/issues/")]
15 #![doc(test(no_crate_inject, attr(deny(rust_2018_idioms))))]
16 #![cfg_attr(docsrs, feature(doc_cfg))]
17 
18 mod generated {
19     #![allow(unreachable_pub)]
20     #![allow(missing_docs)]
21     #![allow(rustdoc::invalid_html_tags)]
22     #[rustfmt::skip]
23     pub mod grpc_reflection_v1alpha;
24 
25     /// Byte encoded FILE_DESCRIPTOR_SET.
26     pub const FILE_DESCRIPTOR_SET: &[u8] = include_bytes!("generated/reflection_v1alpha1.bin");
27 
28     #[cfg(test)]
29     mod tests {
30         use super::FILE_DESCRIPTOR_SET;
31         use prost::Message as _;
32 
33         #[test]
34         fn file_descriptor_set_is_valid() {
35             prost_types::FileDescriptorSet::decode(FILE_DESCRIPTOR_SET).unwrap();
36         }
37     }
38 }
39 
40 /// Generated protobuf types from the `grpc.reflection.v1alpha` package.
41 pub mod pb {
42     pub use crate::generated::{grpc_reflection_v1alpha::*, FILE_DESCRIPTOR_SET};
43 }
44 
45 /// Implementation of the server component of gRPC Server Reflection.
46 pub mod server;
47