pub struct ProtoParser { /* private fields */ }
Expand description
A proto file parser that can extract service definitions
Implementations§
Source§impl ProtoParser
impl ProtoParser
Sourcepub fn with_include_paths(include_paths: Vec<PathBuf>) -> Self
pub fn with_include_paths(include_paths: Vec<PathBuf>) -> Self
Create a new proto parser with include paths
Sourcepub async fn parse_directory(
&mut self,
proto_dir: &str,
) -> Result<(), Box<dyn Error + Send + Sync>>
pub async fn parse_directory( &mut self, proto_dir: &str, ) -> Result<(), Box<dyn Error + Send + Sync>>
Parse proto files from a directory
Sourcepub fn services(&self) -> &HashMap<String, ProtoService>
pub fn services(&self) -> &HashMap<String, ProtoService>
Get all discovered services
Sourcepub fn get_service(&self, name: &str) -> Option<&ProtoService>
pub fn get_service(&self, name: &str) -> Option<&ProtoService>
Get a specific service by name
Sourcepub fn pool(&self) -> &DescriptorPool
pub fn pool(&self) -> &DescriptorPool
Get the descriptor pool
Sourcepub fn into_pool(self) -> DescriptorPool
pub fn into_pool(self) -> DescriptorPool
Consume the parser and return the descriptor pool
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ProtoParser
impl RefUnwindSafe for ProtoParser
impl Send for ProtoParser
impl Sync for ProtoParser
impl Unpin for ProtoParser
impl UnwindSafe for ProtoParser
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
Converts
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>
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request