pub struct DescriptorCache { /* private fields */ }
Expand description
A thread-safe cache of service descriptors
Implementations§
Source§impl DescriptorCache
impl DescriptorCache
Sourcepub async fn add_service(&self, service: ServiceDescriptor)
pub async fn add_service(&self, service: ServiceDescriptor)
Add a service descriptor to the cache
Sourcepub async fn get_method(
&self,
service_name: &str,
method_name: &str,
) -> Result<MethodDescriptor, Status>
pub async fn get_method( &self, service_name: &str, method_name: &str, ) -> Result<MethodDescriptor, Status>
Get a method descriptor from the cache
Sourcepub async fn get_service(
&self,
service_name: &str,
) -> Result<ServiceDescriptor, Status>
pub async fn get_service( &self, service_name: &str, ) -> Result<ServiceDescriptor, Status>
Get a service descriptor from the cache with proper error handling
Sourcepub async fn contains_service(&self, service_name: &str) -> bool
pub async fn contains_service(&self, service_name: &str) -> bool
Check if a service exists in the cache
Sourcepub async fn contains_method(
&self,
service_name: &str,
method_name: &str,
) -> bool
pub async fn contains_method( &self, service_name: &str, method_name: &str, ) -> bool
Check if a method exists in the cache
Sourcepub async fn populate_from_pool(&self, pool: Option<&DescriptorPool>)
pub async fn populate_from_pool(&self, pool: Option<&DescriptorPool>)
Populate the cache from a descriptor pool
Sourcepub async fn service_count(&self) -> usize
pub async fn service_count(&self) -> usize
Get the number of cached services
Sourcepub async fn method_count(&self) -> usize
pub async fn method_count(&self) -> usize
Get the number of cached methods across all services
Trait Implementations§
Source§impl Clone for DescriptorCache
impl Clone for DescriptorCache
Source§fn clone(&self) -> DescriptorCache
fn clone(&self) -> DescriptorCache
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for DescriptorCache
impl Debug for DescriptorCache
Auto Trait Implementations§
impl Freeze for DescriptorCache
impl !RefUnwindSafe for DescriptorCache
impl Send for DescriptorCache
impl Sync for DescriptorCache
impl Unpin for DescriptorCache
impl !UnwindSafe for DescriptorCache
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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