Struct SettingId
pub struct SettingId(/* private fields */);http and std only.Expand description
The identifier of an HTTP/3 setting (RFC 9114 §7.2.4, §11.2.2).
Unknown identifiers are preserved (an endpoint “MUST ignore … unknown or unsupported values”,
RFC 9114 §7.2.4.1) while still being subject to duplicate detection. The setting identifiers
HTTP/2 defined without an HTTP/3 counterpart are reserved and their receipt is a connection
error of type H3_SETTINGS_ERROR; SettingId::is_h2_forbidden recognizes them.
Implementations§
§impl SettingId
impl SettingId
pub const QPACK_MAX_TABLE_CAPACITY: SettingId
pub const QPACK_MAX_TABLE_CAPACITY: SettingId
SETTINGS_QPACK_MAX_TABLE_CAPACITY (RFC 9204 §5).
pub const MAX_FIELD_SECTION_SIZE: SettingId
pub const MAX_FIELD_SECTION_SIZE: SettingId
SETTINGS_MAX_FIELD_SECTION_SIZE (RFC 9114 §7.2.4.1).
pub const QPACK_BLOCKED_STREAMS: SettingId
pub const QPACK_BLOCKED_STREAMS: SettingId
SETTINGS_QPACK_BLOCKED_STREAMS (RFC 9204 §5).
pub const fn is_reserved(self) -> bool
pub const fn is_reserved(self) -> bool
Whether this is a reserved identifier of the form 0x1f * N + 0x21 (RFC 9114 §11.2.2) used
for greasing. Reserved identifiers are legal on the wire and ignored on receipt.
pub const fn is_h2_forbidden(self) -> bool
pub const fn is_h2_forbidden(self) -> bool
Whether this identifier was reserved because HTTP/2 defined it and HTTP/3 does not reuse it
(0x00, 0x02, 0x03, 0x04, 0x05; RFC 9114 §7.2.4.1, §11.2.2). Its receipt is a
connection error of type H3_SETTINGS_ERROR.
Trait Implementations§
impl Copy for SettingId
impl Eq for SettingId
§impl Ord for SettingId
impl Ord for SettingId
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
§impl PartialOrd for SettingId
impl PartialOrd for SettingId
impl StructuralPartialEq for SettingId
Auto Trait Implementations§
impl Freeze for SettingId
impl RefUnwindSafe for SettingId
impl Send for SettingId
impl Sync for SettingId
impl Unpin for SettingId
impl UnsafeUnpin for SettingId
impl UnwindSafe for SettingId
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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> ⓘ
§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> ⓘ
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> ⓘ
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more