pub struct QuicServerConfig { /* private fields */ }展开描述
一个兼容 QUIC 的 TLS 服务器配置
Quinn 会在 ServerConfig::with_single_cert() 内部以合理的默认值隐式构造一个 QuicServerConfig。另外,也可以利用 QuicServerConfig 的 TryFrom 实现或 with_initial 方法来包装一个自定义的 rustls::ServerConfig,但需要留意以下几点:
- 如果没有将
max_early_data_size设为u32::MAX,则服务器将无法接受入站 0-RTT 数据。QUIC 协议禁止把max_early_data_size设为 0 或u32::MAX以外的值。 rustls::ServerConfig必须启用 TLS 1.3 支持,转换才能成功。
实现§
源代码§impl QuicServerConfig
impl QuicServerConfig
源代码pub fn with_initial(
inner: Arc<ServerConfig>,
initial: Suite,
) -> Result<QuicServerConfig, NoInitialCipherSuite>
pub fn with_initial( inner: Arc<ServerConfig>, initial: Suite, ) -> Result<QuicServerConfig, NoInitialCipherSuite>
使用单独的初始密码套件初始化一个兼容 QUIC 的 TLS 客户端配置
当你希望避免将初始密码套件用于业务流量加密时,这很有用。
trait 实现§
源代码§impl ServerConfig for QuicServerConfig
impl ServerConfig for QuicServerConfig
源代码§fn start_session(
self: Arc<QuicServerConfig>,
version: u32,
params: &TransportParameters,
) -> Box<dyn Session>
fn start_session( self: Arc<QuicServerConfig>, version: u32, params: &TransportParameters, ) -> Box<dyn Session>
Start a server session with this configuration 更多信息
源代码§fn initial_keys(
&self,
version: u32,
dst_cid: &ConnectionId,
) -> Result<Keys, UnsupportedVersion>
fn initial_keys( &self, version: u32, dst_cid: &ConnectionId, ) -> Result<Keys, UnsupportedVersion>
根据客户端的初始目标 ConnectionId 创建初始密钥集
源代码§impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
impl TryFrom<Arc<ServerConfig>> for QuicServerConfig
源代码§type Error = NoInitialCipherSuite
type Error = NoInitialCipherSuite
转换出错时返回的类型。
源代码§fn try_from(
inner: Arc<ServerConfig>,
) -> Result<QuicServerConfig, <QuicServerConfig as TryFrom<Arc<ServerConfig>>>::Error>
fn try_from( inner: Arc<ServerConfig>, ) -> Result<QuicServerConfig, <QuicServerConfig as TryFrom<Arc<ServerConfig>>>::Error>
执行转换。
源代码§impl TryFrom<ServerConfig> for QuicServerConfig
impl TryFrom<ServerConfig> for QuicServerConfig
源代码§type Error = NoInitialCipherSuite
type Error = NoInitialCipherSuite
转换出错时返回的类型。
源代码§fn try_from(
inner: ServerConfig,
) -> Result<QuicServerConfig, <QuicServerConfig as TryFrom<ServerConfig>>::Error>
fn try_from( inner: ServerConfig, ) -> Result<QuicServerConfig, <QuicServerConfig as TryFrom<ServerConfig>>::Error>
执行转换。
自动 trait 实现§
impl Freeze for QuicServerConfig
impl !RefUnwindSafe for QuicServerConfig
impl Send for QuicServerConfig
impl Sync for QuicServerConfig
impl Unpin for QuicServerConfig
impl UnsafeUnpin for QuicServerConfig
impl !UnwindSafe for QuicServerConfig
blanket 实现§
源代码§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
源代码§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. 更多信息