[][src]Struct tarpc::rpc::context::Context

#[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)

Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional 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 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]

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]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,