Struct RamaGrpcProtoBuilder
pub struct RamaGrpcProtoBuilder { /* private fields */ }Expand description
Builder for configuring and generating code from .proto files.
Implementations§
§impl RamaGrpcProtoBuilder
impl RamaGrpcProtoBuilder
pub fn with_build_client(self, enable: bool) -> RamaGrpcProtoBuilder
pub fn with_build_client(self, enable: bool) -> RamaGrpcProtoBuilder
Enable or disable gRPC client code generation.
pub fn set_build_client(&mut self, enable: bool) -> &mut RamaGrpcProtoBuilder
pub fn set_build_client(&mut self, enable: bool) -> &mut RamaGrpcProtoBuilder
Enable or disable gRPC client code generation.
pub fn with_build_server(self, enable: bool) -> RamaGrpcProtoBuilder
pub fn with_build_server(self, enable: bool) -> RamaGrpcProtoBuilder
Enable or disable gRPC server code generation.
pub fn set_build_server(&mut self, enable: bool) -> &mut RamaGrpcProtoBuilder
pub fn set_build_server(&mut self, enable: bool) -> &mut RamaGrpcProtoBuilder
Enable or disable gRPC server code generation.
pub fn with_out_dir(self, out_dir: impl AsRef<Path>) -> RamaGrpcProtoBuilder
pub fn with_out_dir(self, out_dir: impl AsRef<Path>) -> RamaGrpcProtoBuilder
Configure the output directory where generated Rust files are written.
If unset, defaults to the OUT_DIR environment variable. OUT_DIR is set by Cargo when
executing build scripts, so out_dir typically does not need to be configured.
pub fn set_out_dir(
&mut self,
out_dir: impl AsRef<Path>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_out_dir( &mut self, out_dir: impl AsRef<Path>, ) -> &mut RamaGrpcProtoBuilder
Configure the output directory where generated Rust files are written.
If unset, defaults to the OUT_DIR environment variable. OUT_DIR is set by Cargo when
executing build scripts, so out_dir typically does not need to be configured.
pub fn with_extern_path(
self,
proto_path: impl AsRef<str>,
rust_path: impl AsRef<str>,
) -> RamaGrpcProtoBuilder
pub fn with_extern_path( self, proto_path: impl AsRef<str>, rust_path: impl AsRef<str>, ) -> RamaGrpcProtoBuilder
Declare externally provided Protobuf package or type.
Passed directly to prost_build::Config.extern_path.
Note that both the Protobuf path and the rust package paths should both be fully qualified.
i.e. Protobuf path should start with “.” and rust path should start with “::”
pub fn set_extern_path(
&mut self,
proto_path: impl AsRef<str>,
rust_path: impl AsRef<str>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_extern_path( &mut self, proto_path: impl AsRef<str>, rust_path: impl AsRef<str>, ) -> &mut RamaGrpcProtoBuilder
Declare externally provided Protobuf package or type.
Passed directly to prost_build::Config.extern_path.
Note that both the Protobuf path and the rust package paths should both be fully qualified.
i.e. Protobuf path should start with “.” and rust path should start with “::”
pub fn with_field_attribute(
self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> RamaGrpcProtoBuilder
pub fn with_field_attribute( self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> RamaGrpcProtoBuilder
Add additional attribute to matched messages, enums, and one-offs.
Passed directly to prost_build::Config.field_attribute.
pub fn set_field_attribute(
&mut self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_field_attribute( &mut self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> &mut RamaGrpcProtoBuilder
Add additional attribute to matched messages, enums, and one-offs.
Passed directly to prost_build::Config.field_attribute.
pub fn with_message_attribute(
self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> RamaGrpcProtoBuilder
pub fn with_message_attribute( self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> RamaGrpcProtoBuilder
Add additional attribute to matched messages, enums, and one-offs.
Passed directly to prost_build::Config.message_attribute.
pub fn set_message_attribute(
&mut self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_message_attribute( &mut self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> &mut RamaGrpcProtoBuilder
Add additional attribute to matched messages, enums, and one-offs.
Passed directly to prost_build::Config.message_attribute.
pub fn with_enum_attribute(
self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> RamaGrpcProtoBuilder
pub fn with_enum_attribute( self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> RamaGrpcProtoBuilder
Add additional attribute to matched enums and one-offs.
Passed directly to prost_build::Config.enum_attribute.
pub fn set_enum_attribute(
&mut self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_enum_attribute( &mut self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> &mut RamaGrpcProtoBuilder
Add additional attribute to matched enums and one-offs.
Passed directly to prost_build::Config.enum_attribute.
pub fn with_type_attribute(
self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> RamaGrpcProtoBuilder
pub fn with_type_attribute( self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> RamaGrpcProtoBuilder
Add additional attribute to matched messages, enums, and one-offs.
Passed directly to prost_build::Config.type_attribute.
pub fn set_type_attribute(
&mut self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_type_attribute( &mut self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> &mut RamaGrpcProtoBuilder
Add additional attribute to matched messages, enums, and one-offs.
Passed directly to prost_build::Config.type_attribute.
pub fn with_boxed(self, path: impl AsRef<str>) -> RamaGrpcProtoBuilder
pub fn with_boxed(self, path: impl AsRef<str>) -> RamaGrpcProtoBuilder
Add a field that should be boxed.
Passed directly to prost_build::Config.boxed.
pub fn set_boxed(&mut self, path: impl AsRef<str>) -> &mut RamaGrpcProtoBuilder
pub fn set_boxed(&mut self, path: impl AsRef<str>) -> &mut RamaGrpcProtoBuilder
Add a field that should be boxed.
Passed directly to prost_build::Config.boxed.
pub fn with_btree_map(self, path: impl AsRef<str>) -> RamaGrpcProtoBuilder
pub fn with_btree_map(self, path: impl AsRef<str>) -> RamaGrpcProtoBuilder
Configure btree_map on a message.
Passed directly to prost_build::Config.btree_map.
pub fn set_btree_map(
&mut self,
path: impl AsRef<str>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_btree_map( &mut self, path: impl AsRef<str>, ) -> &mut RamaGrpcProtoBuilder
Configure btree_map on a message.
Passed directly to prost_build::Config.btree_map.
pub fn with_bytes(self, path: impl AsRef<str>) -> RamaGrpcProtoBuilder
pub fn with_bytes(self, path: impl AsRef<str>) -> RamaGrpcProtoBuilder
Configure bytes on a message.
Passed directly to prost_build::Config.bytes.
pub fn set_bytes(&mut self, path: impl AsRef<str>) -> &mut RamaGrpcProtoBuilder
pub fn set_bytes(&mut self, path: impl AsRef<str>) -> &mut RamaGrpcProtoBuilder
Configure bytes on a message.
Passed directly to prost_build::Config.bytes.
pub fn with_server_mod_attribute(
self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> RamaGrpcProtoBuilder
pub fn with_server_mod_attribute( self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> RamaGrpcProtoBuilder
Add additional attribute to matched server mods. Passed directly to
prost_build::Config.message_attribute
pub fn set_server_mod_attribute(
&mut self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_server_mod_attribute( &mut self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> &mut RamaGrpcProtoBuilder
Add additional attribute to matched server mods. Passed directly to
prost_build::Config.message_attribute
pub fn with_server_attribute(
self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> RamaGrpcProtoBuilder
pub fn with_server_attribute( self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> RamaGrpcProtoBuilder
Add additional attribute to matched service servers. Passed directly to
prost_build::Config.message_attribute
pub fn set_server_attribute(
&mut self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_server_attribute( &mut self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> &mut RamaGrpcProtoBuilder
Add additional attribute to matched service servers. Passed directly to
prost_build::Config.message_attribute
pub fn with_trait_attribute(
self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> RamaGrpcProtoBuilder
pub fn with_trait_attribute( self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> RamaGrpcProtoBuilder
Add additional attribute to matched traits. Passed directly to
prost_build::Config.message_attribute
pub fn set_trait_attribute(
&mut self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_trait_attribute( &mut self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> &mut RamaGrpcProtoBuilder
Add additional attribute to matched traits. Passed directly to
prost_build::Config.message_attribute
pub fn with_client_mod_attribute(
self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> RamaGrpcProtoBuilder
pub fn with_client_mod_attribute( self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> RamaGrpcProtoBuilder
Add additional attribute to matched client mods. Passed directly to
prost_build::Config.message_attribute
pub fn set_client_mod_attribute(
&mut self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_client_mod_attribute( &mut self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> &mut RamaGrpcProtoBuilder
Add additional attribute to matched client mods. Passed directly to
prost_build::Config.message_attribute
pub fn with_client_attribute(
self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> RamaGrpcProtoBuilder
pub fn with_client_attribute( self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> RamaGrpcProtoBuilder
Add additional attribute to matched service clients. Passed directly to
prost_build::Config.message_attribute
pub fn set_client_attribute(
&mut self,
path: impl AsRef<str>,
attribute: impl AsRef<str>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_client_attribute( &mut self, path: impl AsRef<str>, attribute: impl AsRef<str>, ) -> &mut RamaGrpcProtoBuilder
Add additional attribute to matched service clients. Passed directly to
prost_build::Config.message_attribute
pub fn with_proto_path(
self,
proto_path: impl AsRef<str>,
) -> RamaGrpcProtoBuilder
pub fn with_proto_path( self, proto_path: impl AsRef<str>, ) -> RamaGrpcProtoBuilder
Set the path to where protobuf types are generated in the module tree.
Default is super.
This should be used in combination with extern_path when you want to use types that are
defined in other crates or modules, since types generated with .proto_path("my_types")
will be at the path my_types::generated_package_name.
This will change the path that is used to include the generated types, for example:
my_package::my_type(defaultproto_path)my_types::my_package::my_type(withproto_path("my_types"))
Use .extern_path("my.package", "::my_types::my_package") to use the generated types.
pub fn set_proto_path(
&mut self,
proto_path: impl AsRef<str>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_proto_path( &mut self, proto_path: impl AsRef<str>, ) -> &mut RamaGrpcProtoBuilder
Set the path to where protobuf types are generated in the module tree.
Default is super.
This should be used in combination with extern_path when you want to use types that are
defined in other crates or modules, since types generated with .proto_path("my_types")
will be at the path my_types::generated_package_name.
This will change the path that is used to include the generated types, for example:
my_package::my_type(defaultproto_path)my_types::my_package::my_type(withproto_path("my_types"))
Use .extern_path("my.package", "::my_types::my_package") to use the generated types.
pub fn with_compile_well_known_types(self, enable: bool) -> RamaGrpcProtoBuilder
pub fn with_compile_well_known_types(self, enable: bool) -> RamaGrpcProtoBuilder
Enable or disable directing Protobuf to compile well-known types.
Passed directly to prost_build::Config.compile_well_known_types.
pub fn set_compile_well_known_types(
&mut self,
enable: bool,
) -> &mut RamaGrpcProtoBuilder
pub fn set_compile_well_known_types( &mut self, enable: bool, ) -> &mut RamaGrpcProtoBuilder
Enable or disable directing Protobuf to compile well-known types.
Passed directly to prost_build::Config.compile_well_known_types.
pub fn with_emit_package(self, enable: bool) -> RamaGrpcProtoBuilder
pub fn with_emit_package(self, enable: bool) -> RamaGrpcProtoBuilder
Enable or disable emitting package information.
Passed directly to prost_build::Config.emit_package.
pub fn set_emit_package(&mut self, enable: bool) -> &mut RamaGrpcProtoBuilder
pub fn set_emit_package(&mut self, enable: bool) -> &mut RamaGrpcProtoBuilder
Enable or disable emitting package information.
Passed directly to prost_build::Config.emit_package.
pub fn with_file_descriptor_set_path(
self,
path: impl AsRef<Path>,
) -> RamaGrpcProtoBuilder
pub fn with_file_descriptor_set_path( self, path: impl AsRef<Path>, ) -> RamaGrpcProtoBuilder
Set the output file’s path, used to write the file descriptor set.
Passed directly to prost_build::Config.file_descriptor_set_path.
pub fn set_file_descriptor_set_path(
&mut self,
path: impl AsRef<Path>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_file_descriptor_set_path( &mut self, path: impl AsRef<Path>, ) -> &mut RamaGrpcProtoBuilder
Set the output file’s path, used to write the file descriptor set.
Passed directly to prost_build::Config.file_descriptor_set_path.
pub fn with_skip_protoc_run(self) -> RamaGrpcProtoBuilder
pub fn with_skip_protoc_run(self) -> RamaGrpcProtoBuilder
Skip building protos and just generate code using the provided file descriptor set.
Passed directly to prost_build::Config.skip_protoc_run.
pub fn set_skip_protoc_run(&mut self) -> &mut RamaGrpcProtoBuilder
pub fn set_skip_protoc_run(&mut self) -> &mut RamaGrpcProtoBuilder
Skip building protos and just generate code using the provided file descriptor set.
Passed directly to prost_build::Config.skip_protoc_run.
pub fn with_protoc_arg(self, arg: impl AsRef<str>) -> RamaGrpcProtoBuilder
pub fn with_protoc_arg(self, arg: impl AsRef<str>) -> RamaGrpcProtoBuilder
Add additional protoc arguments.
Passed directly to prost_build::Config.protoc_arg.
pub fn set_protoc_arg(
&mut self,
arg: impl AsRef<str>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_protoc_arg( &mut self, arg: impl AsRef<str>, ) -> &mut RamaGrpcProtoBuilder
Add additional protoc arguments.
Passed directly to prost_build::Config.protoc_arg.
pub fn with_include_file(self, path: impl AsRef<Path>) -> RamaGrpcProtoBuilder
pub fn with_include_file(self, path: impl AsRef<Path>) -> RamaGrpcProtoBuilder
Set the include file.
Passed directly to prost_build::Config.include_file.
pub fn set_include_file(
&mut self,
path: impl AsRef<Path>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_include_file( &mut self, path: impl AsRef<Path>, ) -> &mut RamaGrpcProtoBuilder
Set the include file.
Passed directly to prost_build::Config.include_file.
pub fn with_emit_rerun_if_changed(self, enable: bool) -> RamaGrpcProtoBuilder
pub fn with_emit_rerun_if_changed(self, enable: bool) -> RamaGrpcProtoBuilder
Controls the generation of include! statements in the output files.
Passed directly to prost_build::Config.emit_rerun_if_changed.
pub fn set_emit_rerun_if_changed(
&mut self,
enable: bool,
) -> &mut RamaGrpcProtoBuilder
pub fn set_emit_rerun_if_changed( &mut self, enable: bool, ) -> &mut RamaGrpcProtoBuilder
Controls the generation of include! statements in the output files.
Passed directly to prost_build::Config.emit_rerun_if_changed.
pub fn with_disable_comments(
self,
path: impl IntoIterator- >,
) -> RamaGrpcProtoBuilder
pub fn with_disable_comments(
self,
path: impl IntoIterator- >,
) -> RamaGrpcProtoBuilder
Set the comments that should be disabled.
Passed directly to prost_build::Config.disable_comments.
pub fn set_disable_comments(
&mut self,
path: impl IntoIterator- >,
) -> &mut RamaGrpcProtoBuilder
pub fn set_disable_comments(
&mut self,
path: impl IntoIterator- >,
) -> &mut RamaGrpcProtoBuilder
Set the comments that should be disabled.
Passed directly to prost_build::Config.disable_comments.
pub fn with_codec_path(self, path: impl AsRef<str>) -> RamaGrpcProtoBuilder
pub fn with_codec_path(self, path: impl AsRef<str>) -> RamaGrpcProtoBuilder
Set the codec path for generated gRPC services.
pub fn set_codec_path(
&mut self,
path: impl AsRef<str>,
) -> &mut RamaGrpcProtoBuilder
pub fn set_codec_path( &mut self, path: impl AsRef<str>, ) -> &mut RamaGrpcProtoBuilder
Set the codec path for generated gRPC services.
pub fn with_skip_debug(
self,
paths: impl IntoIterator- >,
) -> RamaGrpcProtoBuilder
pub fn with_skip_debug(
self,
paths: impl IntoIterator- >,
) -> RamaGrpcProtoBuilder
Configure the code generator not to strip the Debug implementation for the request and
response types from the generated code.
Passed directly to prost_build::Config.skip_debug.
pub fn set_skip_debug(
&mut self,
paths: impl IntoIterator- >,
) -> &mut RamaGrpcProtoBuilder
pub fn set_skip_debug(
&mut self,
paths: impl IntoIterator- >,
) -> &mut RamaGrpcProtoBuilder
Configure the code generator not to strip the Debug implementation for the request and
response types from the generated code.
Passed directly to prost_build::Config.skip_debug.
pub fn compile_protos<P>(
self,
protos: &[P],
includes: &[P],
) -> Result<(), Error>
pub fn compile_protos<P>( self, protos: &[P], includes: &[P], ) -> Result<(), Error>
Compile the .proto files and execute code generation.
pub fn compile_fds(self, fds: FileDescriptorSet) -> Result<(), Error>
pub fn compile_fds(self, fds: FileDescriptorSet) -> Result<(), Error>
Compile a prost_types::FileDescriptorSet and execute code generation.
pub fn compile_fds_with_config(
self,
fds: FileDescriptorSet,
config: Config,
) -> Result<(), Error>
pub fn compile_fds_with_config( self, fds: FileDescriptorSet, config: Config, ) -> Result<(), Error>
Compile a prost_types::FileDescriptorSet with a custom prost_build::Config.
pub fn service_generator(self) -> Box<dyn ServiceGenerator>
pub fn service_generator(self) -> Box<dyn ServiceGenerator>
Turn the builder into a ServiceGenerator ready to be passed to prost-builds
Config::service_generator.
Trait Implementations§
§impl Clone for RamaGrpcProtoBuilder
impl Clone for RamaGrpcProtoBuilder
§fn clone(&self) -> RamaGrpcProtoBuilder
fn clone(&self) -> RamaGrpcProtoBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for RamaGrpcProtoBuilder
impl RefUnwindSafe for RamaGrpcProtoBuilder
impl !Send for RamaGrpcProtoBuilder
impl !Sync for RamaGrpcProtoBuilder
impl Unpin for RamaGrpcProtoBuilder
impl UnwindSafe for RamaGrpcProtoBuilder
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more