pub struct EventContext {
pub message: InboundMessage,
pub container: &'static FrozenDiContainer,
pub trace: TraceContext,
}Expand description
What an #[EventPattern] handler receives — DI + payload + trace, no
HTTP types anywhere.
Fields§
§message: InboundMessage§container: &'static FrozenDiContainer§trace: TraceContextContinues the producer’s trace (or a fresh root when none was carried).
Implementations§
Source§impl EventContext
impl EventContext
Sourcepub fn inject<T: Send + Sync + 'static>(&self) -> &'static T
pub fn inject<T: Send + Sync + 'static>(&self) -> &'static T
Resolve a singleton service. O(1), no locks. Panics when absent.
Sourcepub fn try_inject<T: Send + Sync + 'static>(&self) -> Option<&'static T>
pub fn try_inject<T: Send + Sync + 'static>(&self) -> Option<&'static T>
Non-panicking variant of Self::inject.
Sourcepub fn payload<T: DeserializeOwned>(&self) -> Result<T, String>
pub fn payload<T: DeserializeOwned>(&self) -> Result<T, String>
Deserialize the payload into a typed event.
Sourcepub fn traceparent(&self) -> String
pub fn traceparent(&self) -> String
traceparent for forwarding to the next hop (HTTP call, next queue).
Auto Trait Implementations§
impl !RefUnwindSafe for EventContext
impl !UnwindSafe for EventContext
impl Freeze for EventContext
impl Send for EventContext
impl Sync for EventContext
impl Unpin for EventContext
impl UnsafeUnpin for EventContext
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> 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