pub(crate) enum Frame {
SynStream {
stream_id: u32,
fin: bool,
headers: Headers,
},
SynReply {
stream_id: u32,
headers: Headers,
},
RstStream {
stream_id: u32,
status: u32,
},
Ping {
id: u32,
},
GoAway {
last_stream_id: u32,
status: u32,
},
Headers {
stream_id: u32,
fin: bool,
},
Data {
stream_id: u32,
fin: bool,
data: Bytes,
},
Ignored,
}Expand description
A single SPDY frame. Only the frames and fields the server acts on are
represented, see Frame::Ignored. Its debug output shows only the
length of data, which may carry secrets, like typed passwords or
forwarded traffic.
Variants§
SynStream
The client opens a stream.
SynReply
The server accepts a stream.
RstStream
Either side aborts a stream.
Ping
A ping, which the receiver echoes if the other side started it.
GoAway
Either side ends the connection.
Headers
Additional headers, which only matter for their FIN flag.
Data
Data of a stream, an empty one with FIN closes its sending side.
Ignored
A frame which needs no handling: SETTINGS, WINDOW_UPDATE or an unknown control frame. spdystream does not do flow control, so window updates are not needed either.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Frame
impl RefUnwindSafe for Frame
impl Send for Frame
impl Sync for Frame
impl Unpin for Frame
impl UnsafeUnpin for Frame
impl UnwindSafe for Frame
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
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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].