Struct ClientHelloPeekStatus
pub struct ClientHelloPeekStatus {
pub failure: Option<PeekStopReason>,
}boring only.Expand description
The inspection outcome attached when a ClientHello peeker dispatches a connection.
TCP and QUIC peek services insert this extension before dispatching, including a clear status on valid or non-TLS input so an earlier failure is shadowed. The functional helper with explicit policies returns it separately and does not require an extension-bearing stream.
Fields§
§failure: Option<PeekStopReason>Why inspection failed and selected fallback, if it did.
Rejected includes malformed messages, unsupported QUIC versions, and
TLS reassembly-limit violations.
Eof means recognized TLS ended before a complete hello; Timeout
means the configured deadline expired without a verdict. A buffer limit
or QUIC inspection budget is reported as MaxPeekSizeReached.
Stop reasons describe each transport’s inspection process: a handshake-size
violation is Rejected for TLS records and MaxPeekSizeReached for QUIC.
Both follow the same malformed-TLS policy. No failure is recorded for a
valid ClientHello or traffic that was not identified as TLS.
Trait Implementations§
§impl Clone for ClientHelloPeekStatus
impl Clone for ClientHelloPeekStatus
§fn clone(&self) -> ClientHelloPeekStatus
fn clone(&self) -> ClientHelloPeekStatus
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ClientHelloPeekStatus
§impl Debug for ClientHelloPeekStatus
impl Debug for ClientHelloPeekStatus
§impl Default for ClientHelloPeekStatus
impl Default for ClientHelloPeekStatus
§fn default() -> ClientHelloPeekStatus
fn default() -> ClientHelloPeekStatus
impl Extension for ClientHelloPeekStatus
impl TlsExtension for ClientHelloPeekStatus
Auto Trait Implementations§
impl Freeze for ClientHelloPeekStatus
impl RefUnwindSafe for ClientHelloPeekStatus
impl Send for ClientHelloPeekStatus
impl Sync for ClientHelloPeekStatus
impl Unpin for ClientHelloPeekStatus
impl UnsafeUnpin for ClientHelloPeekStatus
impl UnwindSafe for ClientHelloPeekStatus
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<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