pub struct QuicClientConfig { /* private fields */ }展开描述
一个兼容 QUIC 的 TLS 客户端配置
Quinn 会在 ClientConfig::with_root_certificates() 和 ClientConfig::with_platform_verifier() 内部以合理的默认值隐式构造一个 QuicClientConfig。
另外,也可以利用 QuicClientConfig 的 TryFrom 实现来包装一个自定义的 rustls::ClientConfig,但需要留意以下几点:
- 如果没有将
enable_early_data设为 true,则在出站连接上将无法发送 0-RTT 数据。 rustls::ClientConfig必须启用 TLS 1.3 支持,转换才能成功。
内部 rustls::ClientConfig 的 resumption 字段中的对象决定了在出站连接上调用 into_0rtt 时会返回 Ok 还是 Err。通常而言,当它识别到对应的服务器名时就会允许 into_0rtt 继续进行,其默认实现是缓存最多 256 个服务器名的内存缓存。
实现§
源代码§impl QuicClientConfig
impl QuicClientConfig
源代码pub fn with_initial(
inner: Arc<ClientConfig>,
initial: Suite,
) -> Result<QuicClientConfig, NoInitialCipherSuite>
pub fn with_initial( inner: Arc<ClientConfig>, initial: Suite, ) -> Result<QuicClientConfig, NoInitialCipherSuite>
使用单独的初始密码套件初始化一个兼容 QUIC 的 TLS 客户端配置
当你希望避免将初始密码套件用于业务流量加密时,这很有用。
trait 实现§
源代码§impl ClientConfig for QuicClientConfig
impl ClientConfig for QuicClientConfig
源代码§fn start_session(
self: Arc<QuicClientConfig>,
version: u32,
server_name: &str,
params: &TransportParameters,
) -> Result<Box<dyn Session>, ConnectError>
fn start_session( self: Arc<QuicClientConfig>, version: u32, server_name: &str, params: &TransportParameters, ) -> Result<Box<dyn Session>, ConnectError>
使用此配置启动客户端会话
源代码§impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
impl TryFrom<Arc<ClientConfig>> for QuicClientConfig
源代码§type Error = NoInitialCipherSuite
type Error = NoInitialCipherSuite
转换出错时返回的类型。
源代码§fn try_from(
inner: Arc<ClientConfig>,
) -> Result<QuicClientConfig, <QuicClientConfig as TryFrom<Arc<ClientConfig>>>::Error>
fn try_from( inner: Arc<ClientConfig>, ) -> Result<QuicClientConfig, <QuicClientConfig as TryFrom<Arc<ClientConfig>>>::Error>
执行转换。
源代码§impl TryFrom<ClientConfig> for QuicClientConfig
impl TryFrom<ClientConfig> for QuicClientConfig
源代码§type Error = NoInitialCipherSuite
type Error = NoInitialCipherSuite
转换出错时返回的类型。
源代码§fn try_from(
inner: ClientConfig,
) -> Result<QuicClientConfig, <QuicClientConfig as TryFrom<ClientConfig>>::Error>
fn try_from( inner: ClientConfig, ) -> Result<QuicClientConfig, <QuicClientConfig as TryFrom<ClientConfig>>::Error>
执行转换。
自动 trait 实现§
impl Freeze for QuicClientConfig
impl !RefUnwindSafe for QuicClientConfig
impl Send for QuicClientConfig
impl Sync for QuicClientConfig
impl Unpin for QuicClientConfig
impl UnsafeUnpin for QuicClientConfig
impl !UnwindSafe for QuicClientConfig
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. 更多信息