Struct tarpc::context::Context [−][src]
#[non_exhaustive]pub struct Context { pub deadline: SystemTime, pub trace_context: Context, }
A request context that carries request-scoped information like deadlines and trace information. It is sent from client to server and is used by the server to enforce response deadlines.
The context should not be stored directly in a server implementation, because the context will be different for each request in scope.
Fields (Non-exhaustive)
Struct {{ .. }}
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.deadline: SystemTime
When the client expects the request to be complete by. The server should cancel the request if it is not complete by this time.
trace_context: Context
Uniquely identifies requests originating from the same source.
When a service handles a request by making requests itself, those requests should
include the same trace_id
as that included on the original request. This way,
users can trace related actions across a distributed system.
Implementations
impl Context
[src]
pub fn current() -> Self
[src]
Returns the context for the current request, or a default Context if no request is active.
pub fn trace_id(&self) -> &TraceId
[src]
Returns the ID of the request-scoped trace.
Trait Implementations
impl Clone for Context
[src]
impl Copy for Context
[src]
impl Debug for Context
[src]
impl<'de> Deserialize<'de> for Context
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Serialize for Context
[src]
Auto Trait Implementations
impl RefUnwindSafe for Context
impl Send for Context
impl Sync for Context
impl Unpin for Context
impl UnwindSafe for Context
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T> FutureExt for T
[src]
pub fn with_context(self, otel_cx: Context) -> WithContext<Self>
[src]
pub fn with_current_context(self) -> WithContext<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,