pub struct MdFrame {
pub sub: SubscriptionId,
pub event: MdEvent,
}Expand description
One stream event of one subscription.
Fields§
§sub: SubscriptionIdThe subscription whose stream produced the event.
event: MdEventWhat happened on that stream.
Implementations§
Source§impl MdFrame
impl MdFrame
Sourcepub fn lifecycle(sub: SubscriptionId, ev: StreamEvent<()>) -> Option<Self>
pub fn lifecycle(sub: SubscriptionId, ev: StreamEvent<()>) -> Option<Self>
Frame for a stream lifecycle event (connected, disconnected, failed).
None for StreamEvent::Msg, because a message has its own typed variant of MdEvent.
§Examples
use brokapi_core::SubscriptionId;
use brokapi_finam::core::{MdEvent, MdFrame, StreamEvent};
let sub = SubscriptionId::new(1);
let frame = MdFrame::lifecycle(sub, StreamEvent::Connected).unwrap();
assert!(matches!(frame.event, MdEvent::Connected));
assert!(MdFrame::lifecycle(sub, StreamEvent::Msg(())).is_none());Trait Implementations§
Auto Trait Implementations§
impl Freeze for MdFrame
impl RefUnwindSafe for MdFrame
impl Send for MdFrame
impl Sync for MdFrame
impl Unpin for MdFrame
impl UnsafeUnpin for MdFrame
impl UnwindSafe for MdFrame
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,
§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>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].