Struct QuicPeekFallbackPolicy
pub struct QuicPeekFallbackPolicy {
pub not_quic: bool,
pub unsupported_version: bool,
pub malformed: bool,
pub budget: bool,
pub deadline: bool,
}Available on crate features
quic and std only.Expand description
Which QuicPeekRejections reach the fallback; any other fails the association with
QuicPeekRejectedError.
The default admits only QuicPeekRejection::NotQuic: forwarding any other class
untouched would let a client evade inspection by malforming, stretching or stalling its
flight.
Fields§
§not_quic: bool§unsupported_version: bool§malformed: bool§budget: bool§deadline: boolImplementations§
§impl QuicPeekFallbackPolicy
impl QuicPeekFallbackPolicy
pub const NOT_QUIC: QuicPeekFallbackPolicy
pub const NOT_QUIC: QuicPeekFallbackPolicy
Only associations that are not QUIC reach the fallback.
pub const ALL: QuicPeekFallbackPolicy
pub const ALL: QuicPeekFallbackPolicy
Every association without a complete ClientHello reaches the fallback.
pub const fn admits(self, rejection: QuicPeekRejection) -> bool
pub const fn admits(self, rejection: QuicPeekRejection) -> bool
Whether rejection reaches the fallback.
Trait Implementations§
§impl Clone for QuicPeekFallbackPolicy
impl Clone for QuicPeekFallbackPolicy
§fn clone(&self) -> QuicPeekFallbackPolicy
fn clone(&self) -> QuicPeekFallbackPolicy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for QuicPeekFallbackPolicy
§impl Debug for QuicPeekFallbackPolicy
impl Debug for QuicPeekFallbackPolicy
§impl Default for QuicPeekFallbackPolicy
impl Default for QuicPeekFallbackPolicy
§fn default() -> QuicPeekFallbackPolicy
fn default() -> QuicPeekFallbackPolicy
Returns the “default value” for a type. Read more
impl Eq for QuicPeekFallbackPolicy
§impl PartialEq for QuicPeekFallbackPolicy
impl PartialEq for QuicPeekFallbackPolicy
impl StructuralPartialEq for QuicPeekFallbackPolicy
Auto Trait Implementations§
impl Freeze for QuicPeekFallbackPolicy
impl RefUnwindSafe for QuicPeekFallbackPolicy
impl Send for QuicPeekFallbackPolicy
impl Sync for QuicPeekFallbackPolicy
impl Unpin for QuicPeekFallbackPolicy
impl UnsafeUnpin for QuicPeekFallbackPolicy
impl UnwindSafe for QuicPeekFallbackPolicy
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
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
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
Checks if this value is equivalent to the given key. Read more
§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> ⓘ
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§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 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>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more