#[non_exhaustive]pub struct QuicConfig {
pub bind_addr: SocketAddr,
pub server_config: Option<ServerConfig>,
}Available on crate feature
server only.Expand description
Configuration for the QUIC server.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.bind_addr: SocketAddrThe socket address on which the QUIC server should bind.
Normally you’d chose port 7842, see crate::defaults::DEFAULT_RELAY_QUIC_PORT.
server_config: Option<ServerConfig>The TLS server configuration for the QUIC server.
If this [rustls::ServerConfig] does not support TLS 1.3, the QUIC server will fail
to spawn.
Will use the TLS config from RelayConfig::tls if unset. If neither is set the QUIC
server will fail to spawn.
Implementations§
Source§impl QuicConfig
impl QuicConfig
Sourcepub fn new(bind_addr: impl Into<SocketAddr>) -> Self
pub fn new(bind_addr: impl Into<SocketAddr>) -> Self
Creates a new QuicConfig bound to bind_addr.
The TLS server config is left unset and inherited from RelayConfig::tls.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for QuicConfig
impl !RefUnwindSafe for QuicConfig
impl Send for QuicConfig
impl Sync for QuicConfig
impl Unpin for QuicConfig
impl !UnwindSafe for QuicConfig
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<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