Struct ConnectionProfileCompiler
pub struct ConnectionProfileCompiler { /* private fields */ }Available on crate features
quic and std and ua only.Expand description
Register with the outer UA connect modifier around a native QUIC connector.
Supply the same fixed TLS policy and provider as that connector. Request overrides retain their normal precedence. Compile once for each connection input; use a fresh input to select a different native recipe. Captured TLS currently requires BoringSSL; other providers report unsupported components during admission.
Implementations§
§impl ConnectionProfileCompiler
impl ConnectionProfileCompiler
pub fn new( policy: TlsClientConfig, provider: Arc<dyn QuicClientConfigProvider>, ) -> ConnectionProfileCompiler
Trait Implementations§
§impl Clone for ConnectionProfileCompiler
impl Clone for ConnectionProfileCompiler
§fn clone(&self) -> ConnectionProfileCompiler
fn clone(&self) -> ConnectionProfileCompiler
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 more§impl<Input> ConnectionProfileCompiler<Input> for ConnectionProfileCompiler
impl<Input> ConnectionProfileCompiler<Input> for ConnectionProfileCompiler
type Compiled = CompiledConnection
§fn compile(
&self,
input: &Input,
selection: &ConnectionSelection,
components: &mut PreparedConnectionComponents,
) -> Result<CompiledConnection, Box<dyn Error + Send + Sync>>
fn compile( &self, input: &Input, selection: &ConnectionSelection, components: &mut PreparedConnectionComponents, ) -> Result<CompiledConnection, Box<dyn Error + Send + Sync>>
Prepare
selection from its decoded components. Current connection
bindings come from input; record lowered items in the components’ report.
Move consumed components into the compiled output instead of cloning them.
Admission still checks every slot in the original selection.Auto Trait Implementations§
impl !RefUnwindSafe for ConnectionProfileCompiler
impl !UnwindSafe for ConnectionProfileCompiler
impl Freeze for ConnectionProfileCompiler
impl Send for ConnectionProfileCompiler
impl Sync for ConnectionProfileCompiler
impl Unpin for ConnectionProfileCompiler
impl UnsafeUnpin for ConnectionProfileCompiler
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<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