Struct Http3ConnectorBuilder
pub struct Http3ConnectorBuilder { /* private fields */ }dns and http-backend and http and std and tcp only.Expand description
Configure an HTTP/3 connector, including its reusable UDP endpoint.
The supplied executor owns endpoint and connection tasks. Pass an executor tied to the application’s graceful shutdown when those tasks should drain with the application. A custom endpoint can be supplied when its socket or lifecycle is managed separately.
Implementations§
§impl Http3ConnectorBuilder
impl Http3ConnectorBuilder
pub fn with_endpoint(self, endpoint: Endpoint) -> Http3ConnectorBuilder
pub fn with_endpoint(self, endpoint: Endpoint) -> Http3ConnectorBuilder
Reuse an application-managed endpoint instead of binding a new socket.
pub fn set_endpoint(&mut self, endpoint: Endpoint) -> &mut Http3ConnectorBuilder
pub fn set_endpoint(&mut self, endpoint: Endpoint) -> &mut Http3ConnectorBuilder
Reuse an application-managed endpoint instead of binding a new socket.
pub fn with_tls_config(self, tls: TlsClientConfig) -> Http3ConnectorBuilder
pub fn with_tls_config(self, tls: TlsClientConfig) -> Http3ConnectorBuilder
Set TLS defaults; request TLS extensions can override these settings.
pub fn set_tls_config(
&mut self,
tls: TlsClientConfig,
) -> &mut Http3ConnectorBuilder
pub fn set_tls_config( &mut self, tls: TlsClientConfig, ) -> &mut Http3ConnectorBuilder
Set TLS defaults; request TLS extensions can override these settings.
pub fn with_tls_provider(
self,
provider: Arc<dyn QuicClientConfigProvider>,
) -> Http3ConnectorBuilder
pub fn with_tls_provider( self, provider: Arc<dyn QuicClientConfigProvider>, ) -> Http3ConnectorBuilder
Inject the fixed TLS configuration provider, including custom implementations.
pub fn set_tls_provider(
&mut self,
provider: Arc<dyn QuicClientConfigProvider>,
) -> &mut Http3ConnectorBuilder
pub fn set_tls_provider( &mut self, provider: Arc<dyn QuicClientConfigProvider>, ) -> &mut Http3ConnectorBuilder
Inject the fixed TLS configuration provider, including custom implementations.
pub fn with_config(self, config: Config) -> Http3ConnectorBuilder
pub fn with_config(self, config: Config) -> Http3ConnectorBuilder
Configure HTTP/3 limits and their corresponding QUIC receive budgets.
pub fn set_config(&mut self, config: Config) -> &mut Http3ConnectorBuilder
pub fn set_config(&mut self, config: Config) -> &mut Http3ConnectorBuilder
Configure HTTP/3 limits and their corresponding QUIC receive budgets.
pub async fn build(self) -> Result<Http3Connector, Box<dyn Error + Sync + Send>>
pub async fn build(self) -> Result<Http3Connector, Box<dyn Error + Sync + Send>>
Validate the limits and bind a default outbound endpoint when needed.
pub fn build_lazy(self) -> Result<Http3Connector, Box<dyn Error + Sync + Send>>
pub fn build_lazy(self) -> Result<Http3Connector, Box<dyn Error + Sync + Send>>
Validate configuration now and bind the endpoint on the first connection attempt.
Construction requires no runtime or socket. Clones share initialization and the resulting endpoint; failed or cancelled initialization can be retried. If the runtime shuts down, a later attempt recreates the owned endpoint, provided the configured graceful executor has not been cancelled. An application-supplied endpoint is used immediately and is never replaced.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Http3ConnectorBuilder
impl !UnwindSafe for Http3ConnectorBuilder
impl Freeze for Http3ConnectorBuilder
impl Send for Http3ConnectorBuilder
impl Sync for Http3ConnectorBuilder
impl Unpin for Http3ConnectorBuilder
impl UnsafeUnpin for Http3ConnectorBuilder
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
§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