pub struct TonicStatusWrapper {
inner: Status,
client_side_service_name: Option<Cow<'static, str>>,
}
Expand description
A wrapper of tonic::Status
that provides better error message and extracts
the source chain from the details
field.
Fields§
§inner: Status
§client_side_service_name: Option<Cow<'static, str>>
Implementations§
source§impl TonicStatusWrapper
impl TonicStatusWrapper
sourcepub fn new(status: Status) -> TonicStatusWrapper
pub fn new(status: Status) -> TonicStatusWrapper
Create a new TonicStatusWrapper
from the given tonic::Status
and extract
the source chain from its details
field.
sourcepub fn inner(&self) -> &Status
pub fn inner(&self) -> &Status
Returns the reference to the inner tonic::Status
.
sourcepub fn into_inner(self) -> Status
pub fn into_inner(self) -> Status
Consumes self
and returns the inner tonic::Status
.
Trait Implementations§
source§impl Debug for TonicStatusWrapper
impl Debug for TonicStatusWrapper
source§impl Display for TonicStatusWrapper
impl Display for TonicStatusWrapper
source§impl Error for TonicStatusWrapper
impl Error for TonicStatusWrapper
source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
source§fn provide<'a>(&'a self, request: &mut Request<'a>)
fn provide<'a>(&'a self, request: &mut Request<'a>)
🔬This is a nightly-only experimental API. (
error_generic_member_access
)Provides type-based access to context intended for error reports. Read more
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
source§impl From<Status> for TonicStatusWrapper
impl From<Status> for TonicStatusWrapper
source§fn from(status: Status) -> TonicStatusWrapper
fn from(status: Status) -> TonicStatusWrapper
Converts to this type from the input type.
Auto Trait Implementations§
impl !Freeze for TonicStatusWrapper
impl !RefUnwindSafe for TonicStatusWrapper
impl Send for TonicStatusWrapper
impl Sync for TonicStatusWrapper
impl Unpin for TonicStatusWrapper
impl !UnwindSafe for TonicStatusWrapper
Blanket Implementations§
§impl<T> AsReport for Twhere
T: Error,
impl<T> AsReport for Twhere
T: Error,
§fn as_report(&self) -> Report<'_>
fn as_report(&self) -> Report<'_>
Returns a [
Report
] that formats the error and its sources in a
cleaned-up way. Read more§fn to_report_string(&self) -> String
fn to_report_string(&self) -> String
Converts the error to a [
Report
] and formats it in a compact way. Read more§fn to_report_string_with_backtrace(&self) -> String
fn to_report_string_with_backtrace(&self) -> String
Converts the error to a [
Report
] and formats it in a compact way,
including backtraces if available. Read more§fn to_report_string_pretty(&self) -> String
fn to_report_string_pretty(&self) -> String
Converts the error to a [
Report
] and formats it in a pretty way. Read more§fn to_report_string_pretty_with_backtrace(&self) -> String
fn to_report_string_pretty_with_backtrace(&self) -> String
Converts the error to a [
Report
] and formats it in a pretty way, Read moresource§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> ErrorIsFromTonicServerImpl for T
impl<T> ErrorIsFromTonicServerImpl for T
source§fn is_from_tonic_server_impl(&self) -> bool
fn is_from_tonic_server_impl(&self) -> bool
Returns whether the error is from the implementation of a tonic server, i.e., created
with
ToTonicStatus::to_status
. Read more§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> 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
§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
source§impl<M> MetricVecRelabelExt for M
impl<M> MetricVecRelabelExt for M
source§fn relabel(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
Equivalent to
RelabeledMetricVec::with_metric_level
.source§fn relabel_n(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
relabel_num: usize,
) -> RelabeledMetricVec<M>
fn relabel_n( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, relabel_num: usize, ) -> RelabeledMetricVec<M>
Equivalent to
RelabeledMetricVec::with_metric_level_relabel_n
.source§fn relabel_debug_1(
self,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel_debug_1( self, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
Equivalent to
RelabeledMetricVec::with_metric_level_relabel_n
with metric_level
set to
MetricLevel::Debug
and relabel_num
set to 1.§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> ToTonicStatus for T
impl<T> ToTonicStatus for T
source§impl<T> TonicStatusWrapperExt for Twhere
T: Into<TonicStatusWrapper>,
impl<T> TonicStatusWrapperExt for Twhere
T: Into<TonicStatusWrapper>,
source§fn with_client_side_service_name(
self,
service_name: impl Into<Cow<'static, str>>,
) -> TonicStatusWrapper
fn with_client_side_service_name( self, service_name: impl Into<Cow<'static, str>>, ) -> TonicStatusWrapper
Set the client side service name to provide better error message. Read more