about summary refs log tree commit diff
path: root/tvix/store/src/proto.rs
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2022-11-26T01·14+0000
committerflokli <flokli@flokli.de>2022-12-30T20·25+0000
commit0bf2b0ef1164aae0ad692066e8cfc0b243a89e4d (patch)
treeba915b00f113395c55cc8094dfdd0b020de579cc /tvix/store/src/proto.rs
parent51243007f67019d0d57b6cfaff2aec3191afa180 (diff)
feat(tvix/store): implement reflection r/5557
This implements grpc.reflection.v1alpha.ServerReflection, and will make tools
like evans automatically discover available services, without having to
specify the path to the .proto files client-side.

It's behind a reflection feature flag, which is enabled by default.

Change-Id: Icbcb5eb05ceede5b9952e38a2ba72eaa6fa8a437
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7435
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/store/src/proto.rs')
-rw-r--r--tvix/store/src/proto.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/tvix/store/src/proto.rs b/tvix/store/src/proto.rs
index eac3782065..75e5c34ab1 100644
--- a/tvix/store/src/proto.rs
+++ b/tvix/store/src/proto.rs
@@ -7,6 +7,12 @@ use prost::Message;
 
 tonic::include_proto!("tvix.store.v1");
 
+#[cfg(feature = "reflection")]
+/// Compiled file descriptors for implementing [gRPC
+/// reflection](https://github.com/grpc/grpc/blob/master/doc/server-reflection.md) with e.g.
+/// [`tonic_reflection`](https://docs.rs/tonic-reflection).
+pub const FILE_DESCRIPTOR_SET: &[u8] = tonic::include_file_descriptor_set!("tvix.store.v1");
+
 /// Errors that can occur during the validation of Directory messages.
 #[derive(Debug, PartialEq, Eq, Error)]
 pub enum ValidateDirectoryError {