pub struct ServerConfig { /* private fields */ }Expand description
Server configuration.
You can create an instance of ServerConfig using its builder pattern by calling
the builder() method.
Once you have an instance, you can further customize it by chaining method calls
to set various configuration options.
§Configuration Builder States
The configuration process follows a state-based builder pattern, where the server configuration progresses through 3 states.
§1. WantsBindAddress
The caller must supply a binding address for the server. This is where to specify the listening port of the server. The following options are mutually exclusive:
with_bind_default: the simplest configuration where only the port will be specified.with_bind_config: configures to bind an address determined by a configuration preset.with_bind_address: configures to bind a custom specified socket address.
Only one of these options can be selected during the client configuration process.
§Examples:
use wtransport::ServerConfig;
// Configuration for accepting incoming connection on port 443
ServerConfig::builder().with_bind_default(443);§2. WantsCertificate
The caller must supply a TLS certificate for the server.
with_certificate: configures a TLSCertificatefor the server.with_custom_tls: sets the TLS server configuration manually.
§Examples:
use wtransport::Certificate;
use wtransport::ServerConfig;
ServerConfig::builder()
.with_bind_default(443)
.with_certificate(Certificate::load("cert.pem", "key.pem").await?);§3. WantsTransportConfigServer
The caller can supply additional transport configurations.
Multiple options can be given at this stage. Once the configuration is completed, it is possible
to finalize with the method build().
All these options can be omitted in the configuration; default values will be used.
§Examples:
use wtransport::ServerConfig;
use wtransport::Certificate;
use std::time::Duration;
let server_config = ServerConfig::builder()
.with_bind_default(443)
.with_certificate(Certificate::load("cert.pem", "key.pem").await?)
.keep_alive_interval(Some(Duration::from_secs(3)))
.build();Implementations§
Source§impl ServerConfig
impl ServerConfig
Sourcepub fn builder() -> ServerConfigBuilder<WantsBindAddress>
pub fn builder() -> ServerConfigBuilder<WantsBindAddress>
Creates a builder to build up the server configuration.
For more information, see the ServerConfigBuilder documentation.
Sourcepub fn quic_config(&self) -> &ServerConfig
Available on crate feature quinn only.
pub fn quic_config(&self) -> &ServerConfig
quinn only.Returns a reference to the inner QUIC configuration.
Sourcepub fn quic_config_mut(&mut self) -> &mut ServerConfig
Available on crate feature quinn only.
pub fn quic_config_mut(&mut self) -> &mut ServerConfig
quinn only.Returns a mutable reference to the inner QUIC configuration.