Struct tonic_build::Builder
source · [−]pub struct Builder { /* private fields */ }
Expand description
Service generator builder.
Implementations
sourceimpl Builder
impl Builder
sourcepub fn build_client(self, enable: bool) -> Self
pub fn build_client(self, enable: bool) -> Self
Enable or disable gRPC client code generation.
sourcepub fn build_server(self, enable: bool) -> Self
pub fn build_server(self, enable: bool) -> Self
Enable or disable gRPC server code generation.
sourcepub fn file_descriptor_set_path(self, path: impl AsRef<Path>) -> Self
pub fn file_descriptor_set_path(self, path: impl AsRef<Path>) -> Self
Generate a file containing the encoded prost_types::FileDescriptorSet
for protocol buffers
modules. This is required for implementing gRPC Server Reflection.
sourcepub fn out_dir(self, out_dir: impl AsRef<Path>) -> Self
pub fn out_dir(self, out_dir: impl AsRef<Path>) -> Self
Set the output directory to generate code to.
Defaults to the OUT_DIR
environment variable.
sourcepub fn extern_path(
self,
proto_path: impl AsRef<str>,
rust_path: impl AsRef<str>
) -> Self
pub fn extern_path(
self,
proto_path: impl AsRef<str>,
rust_path: impl AsRef<str>
) -> Self
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 paths should start with “.” and rust paths should start with “::”
sourcepub fn field_attribute<P: AsRef<str>, A: AsRef<str>>(
self,
path: P,
attribute: A
) -> Self
pub fn field_attribute<P: AsRef<str>, A: AsRef<str>>(
self,
path: P,
attribute: A
) -> Self
Add additional attribute to matched messages, enums, and one-offs.
Passed directly to prost_build::Config.field_attribute
.
sourcepub fn type_attribute<P: AsRef<str>, A: AsRef<str>>(
self,
path: P,
attribute: A
) -> Self
pub fn type_attribute<P: AsRef<str>, A: AsRef<str>>(
self,
path: P,
attribute: A
) -> Self
Add additional attribute to matched messages, enums, and one-offs.
Passed directly to prost_build::Config.type_attribute
.
sourcepub fn server_mod_attribute<P: AsRef<str>, A: AsRef<str>>(
self,
path: P,
attribute: A
) -> Self
pub fn server_mod_attribute<P: AsRef<str>, A: AsRef<str>>(
self,
path: P,
attribute: A
) -> Self
Add additional attribute to matched server mod
s. Matches on the package name.
sourcepub fn server_attribute<P: AsRef<str>, A: AsRef<str>>(
self,
path: P,
attribute: A
) -> Self
pub fn server_attribute<P: AsRef<str>, A: AsRef<str>>(
self,
path: P,
attribute: A
) -> Self
Add additional attribute to matched service servers. Matches on the service name.
sourcepub fn client_mod_attribute<P: AsRef<str>, A: AsRef<str>>(
self,
path: P,
attribute: A
) -> Self
pub fn client_mod_attribute<P: AsRef<str>, A: AsRef<str>>(
self,
path: P,
attribute: A
) -> Self
Add additional attribute to matched client mod
s. Matches on the package name.
sourcepub fn client_attribute<P: AsRef<str>, A: AsRef<str>>(
self,
path: P,
attribute: A
) -> Self
pub fn client_attribute<P: AsRef<str>, A: AsRef<str>>(
self,
path: P,
attribute: A
) -> Self
Add additional attribute to matched service clients. Matches on the service name.
sourcepub fn proto_path(self, proto_path: impl AsRef<str>) -> Self
pub fn proto_path(self, proto_path: impl AsRef<str>) -> Self
Set the path to where tonic will search for the Request/Response proto structs
live relative to the module where you call include_proto!
.
This defaults to super
since tonic will generate code in a module.
sourcepub fn protoc_arg<A: AsRef<str>>(self, arg: A) -> Self
pub fn protoc_arg<A: AsRef<str>>(self, arg: A) -> Self
Configure Prost protoc_args
build arguments.
Note: Enabling --experimental_allow_proto3_optional
requires protobuf >= 3.12.
sourcepub fn disable_package_emission(self) -> Self
pub fn disable_package_emission(self) -> Self
Emits GRPC endpoints with no attached package. Effectively ignores protofile package declaration from grpc context.
This effectively sets prost’s exported package to an empty string.
sourcepub fn compile_well_known_types(self, compile_well_known_types: bool) -> Self
pub fn compile_well_known_types(self, compile_well_known_types: bool) -> Self
Enable or disable directing Prost to compile well-known protobuf types instead
of using the already-compiled versions available in the prost-types
crate.
This defaults to false
.
sourcepub fn include_file(self, path: impl AsRef<Path>) -> Self
pub fn include_file(self, path: impl AsRef<Path>) -> Self
Configures the optional module filename for easy inclusion of all generated Rust files
If set, generates a file (inside the OUT_DIR
or out_dir()
as appropriate) which contains
a set of pub mod XXX
statements combining to load all Rust files generated. This can allow
for a shortcut where multiple related proto files have been compiled together resulting in
a semi-complex set of includes.
sourcepub fn compile(
self,
protos: &[impl AsRef<Path>],
includes: &[impl AsRef<Path>]
) -> Result<()>
pub fn compile(
self,
protos: &[impl AsRef<Path>],
includes: &[impl AsRef<Path>]
) -> Result<()>
Compile the .proto files and execute code generation.
sourcepub fn compile_with_config(
self,
config: Config,
protos: &[impl AsRef<Path>],
includes: &[impl AsRef<Path>]
) -> Result<()>
pub fn compile_with_config(
self,
config: Config,
protos: &[impl AsRef<Path>],
includes: &[impl AsRef<Path>]
) -> Result<()>
Compile the .proto files and execute code generation using a
custom prost_build::Config
.
sourcepub 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-build
s
Config::service_generator
.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Builder
impl Send for Builder
impl Sync for Builder
impl Unpin for Builder
impl UnwindSafe for Builder
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
Uses borrowed data to replace owned data, usually by cloning. Read more