#[repr(C)]pub struct StreamsBlockedFrame {
pub unidirectional: bool,
pub maximum_streams: u64,
}
Expand description
A sender SHOULD send a STREAMS_BLOCKED frame (type=0x16 or 0x17) when it wishes to open a stream, but is unable to due to the maximum stream limit set by its peer. A STREAMS_BLOCKED frame of type 0x16 is used to indicate reaching the bidirectional stream limit, and a STREAMS_BLOCKED frame of type 0x17 is used to indicate reaching the unidirectional stream limit.
A STREAMS_BLOCKED frame does not open the stream, but informs the peer that a new stream was needed and the stream limit prevented the creation of the stream.
Fields§
§unidirectional: bool
Indicates if this frame concerns unidirectional streams (type=0x17) or bidirectional streams (type=0x16).
maximum_streams: u64
A variable-length integer indicating the maximum number of streams allowed at the time the frame was sent. This value cannot exceed 2^60, as it is not possible to encode stream IDs larger than 2^62-1. Receipt of a frame that encodes a larger stream ID MUST be treated as a STREAM_LIMIT_ERROR or a FRAME_ENCODING_ERROR.
Trait Implementations§
Source§impl Clone for StreamsBlockedFrame
impl Clone for StreamsBlockedFrame
Source§fn clone(&self) -> StreamsBlockedFrame
fn clone(&self) -> StreamsBlockedFrame
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for StreamsBlockedFrame
impl Debug for StreamsBlockedFrame
Source§impl<'de> Deserialize<'de> for StreamsBlockedFrame
impl<'de> Deserialize<'de> for StreamsBlockedFrame
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<StreamsBlockedFrame, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<StreamsBlockedFrame, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for StreamsBlockedFrame
impl PartialEq for StreamsBlockedFrame
Source§impl PartialOrd for StreamsBlockedFrame
impl PartialOrd for StreamsBlockedFrame
Source§impl Serialize for StreamsBlockedFrame
impl Serialize for StreamsBlockedFrame
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for StreamsBlockedFrame
impl Eq for StreamsBlockedFrame
impl StructuralPartialEq for StreamsBlockedFrame
Auto Trait Implementations§
impl Freeze for StreamsBlockedFrame
impl RefUnwindSafe for StreamsBlockedFrame
impl Send for StreamsBlockedFrame
impl Sync for StreamsBlockedFrame
impl Unpin for StreamsBlockedFrame
impl UnwindSafe for StreamsBlockedFrame
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out
indicating that a T
is niched.