Struct NegotiatedTlsParameters
pub struct NegotiatedTlsParameters {
pub protocol_version: ProtocolVersion,
pub application_layer_protocol: Option<ApplicationProtocol>,
pub peer_certificate_chain: Option<Vec<CertificateDer<'static>>>,
pub server_name: Option<Domain>,
pub resumed: Option<bool>,
pub algorithms: NegotiatedTlsAlgorithms,
}boring only.Expand description
TLS parameters reported by either endpoint and stored in connection extensions. QUIC can expose this while the handshake progresses; optional values may become available later and do not imply handshake completion.
Fields§
§protocol_version: ProtocolVersionThe used ProtocolVersion.
application_layer_protocol: Option<ApplicationProtocol>Indicates the agreed upon ApplicationProtocol
in case the tls implementation can surfice this
AND there is such a protocol negotiated and agreed upon.
peer_certificate_chain: Option<Vec<CertificateDer<'static>>>Certificate chain provided the peer (only stored if config requested this)
server_name: Option<Domain>Received SNI on a server, not a verified peer identity. Absent on clients and when the peer omits SNI (including IP-address connections).
resumed: Option<bool>Whether TLS resumed a session. Absent until the backend has decided, or if it cannot report resumption.
algorithms: NegotiatedTlsAlgorithmsAlgorithms selected by the handshake, as far as the backend reports them.
Trait Implementations§
§impl Clone for NegotiatedTlsParameters
impl Clone for NegotiatedTlsParameters
§fn clone(&self) -> NegotiatedTlsParameters
fn clone(&self) -> NegotiatedTlsParameters
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for NegotiatedTlsParameters
impl Debug for NegotiatedTlsParameters
impl Eq for NegotiatedTlsParameters
impl Extension for NegotiatedTlsParameters
§impl From<&NegotiatedTlsParameters> for CapturedTlsParameters
impl From<&NegotiatedTlsParameters> for CapturedTlsParameters
§fn from(parameters: &NegotiatedTlsParameters) -> CapturedTlsParameters
fn from(parameters: &NegotiatedTlsParameters) -> CapturedTlsParameters
§impl PartialEq for NegotiatedTlsParameters
impl PartialEq for NegotiatedTlsParameters
impl StructuralPartialEq for NegotiatedTlsParameters
impl TlsExtension for NegotiatedTlsParameters
Auto Trait Implementations§
impl !Freeze for NegotiatedTlsParameters
impl RefUnwindSafe for NegotiatedTlsParameters
impl Send for NegotiatedTlsParameters
impl Sync for NegotiatedTlsParameters
impl Unpin for NegotiatedTlsParameters
impl UnsafeUnpin for NegotiatedTlsParameters
impl UnwindSafe for NegotiatedTlsParameters
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> 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