removes Option wrapper from QuicConfig in QuicConnectionManager (#31995)

QuicConfig isn't really optional and allowing it to be None results in
misconfigured connections.
This commit is contained in:
behzad nouri 2023-06-06 21:27:56 +00:00 committed by GitHub
parent 36222a44d7
commit 0db4f3f263
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 13 deletions

View File

@ -186,9 +186,8 @@ impl BaseClientConnection for Quic {
} }
} }
#[derive(Default)]
pub struct QuicConnectionManager { pub struct QuicConnectionManager {
connection_config: Option<QuicConfig>, connection_config: QuicConfig,
} }
impl ConnectionManager for QuicConnectionManager { impl ConnectionManager for QuicConnectionManager {
@ -200,13 +199,7 @@ impl ConnectionManager for QuicConnectionManager {
fn new_connection_pool(&self) -> Self::ConnectionPool { fn new_connection_pool(&self) -> Self::ConnectionPool {
QuicPool { QuicPool {
connections: Vec::default(), connections: Vec::default(),
endpoint: Arc::new( endpoint: Arc::new(self.connection_config.create_endpoint()),
self.connection_config
.as_ref()
.map_or(QuicLazyInitializedEndpoint::default(), |config| {
config.create_endpoint()
}),
),
} }
} }
@ -216,10 +209,8 @@ impl ConnectionManager for QuicConnectionManager {
} }
impl QuicConnectionManager { impl QuicConnectionManager {
pub fn new_with_connection_config(config: QuicConfig) -> Self { pub fn new_with_connection_config(connection_config: QuicConfig) -> Self {
Self { Self { connection_config }
connection_config: Some(config),
}
} }
} }
#[cfg(test)] #[cfg(test)]