pub enum ServerFrame {
Response(Box<ServiceResponse>),
Notification(Notification),
}Expand description
Envelope for every frame the server writes to a client.
Strict request/response responses ride Response; server-initiated
pushes (subscribed write events) ride Notification. The reader task on
the client demuxes by variant: Response frames go to the next pending
oneshot in FIFO order, Notification frames go to the local callback
dispatcher.
Response boxes its payload because ServiceResponse is large (the
TrustedLoginChallenge variant carries a full UserInfo), and an
unboxed enum would force every Notification frame to carry that
stack footprint too.
Variants§
Response(Box<ServiceResponse>)
A response to a previously-sent ServiceRequest.
Notification(Notification)
A server-initiated push (subscription-driven).
Trait Implementations§
Source§impl Clone for ServerFrame
impl Clone for ServerFrame
Source§fn clone(&self) -> ServerFrame
fn clone(&self) -> ServerFrame
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ServerFrame
impl Debug for ServerFrame
Source§impl<'de> Deserialize<'de> for ServerFrame
impl<'de> Deserialize<'de> for ServerFrame
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ServerFrame
impl RefUnwindSafe for ServerFrame
impl Send for ServerFrame
impl Sync for ServerFrame
impl Unpin for ServerFrame
impl UnsafeUnpin for ServerFrame
impl UnwindSafe for ServerFrame
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>
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 more