feat: update client&server

This commit is contained in:
2022-08-27 00:33:22 +08:00
parent 9fbc498615
commit 47d2937c45
2 changed files with 4 additions and 9 deletions

View File

@@ -106,10 +106,7 @@ pub async fn run(listen_config: &ListenConfig) -> XResult<()> {
} }
} }
fn make_client_endpoint( fn make_client_endpoint(bind_addr: SocketAddr, server_certs: &[&[u8]]) -> Result<Endpoint, Box<dyn Error>> {
bind_addr: SocketAddr,
server_certs: &[&[u8]],
) -> Result<Endpoint, Box<dyn Error>> {
let client_cfg = configure_client(server_certs)?; let client_cfg = configure_client(server_certs)?;
let mut endpoint = Endpoint::client(bind_addr)?; let mut endpoint = Endpoint::client(bind_addr)?;
endpoint.set_default_client_config(client_cfg); endpoint.set_default_client_config(client_cfg);
@@ -121,6 +118,5 @@ fn configure_client(server_certs: &[&[u8]]) -> Result<ClientConfig, Box<dyn Erro
for cert in server_certs { for cert in server_certs {
certs.add(&rustls::Certificate(cert.to_vec()))?; certs.add(&rustls::Certificate(cert.to_vec()))?;
} }
Ok(ClientConfig::with_root_certificates(certs)) Ok(ClientConfig::with_root_certificates(certs))
} }

View File

@@ -26,8 +26,7 @@ pub async fn run(listen_config: &ListenConfig) -> XResult<()> {
let cert_chain = vec![rustls::Certificate(cert_bytes)]; let cert_chain = vec![rustls::Certificate(cert_bytes)];
let mut server_config = opt_result!(ServerConfig::with_single_cert(cert_chain, priv_key), "Create server config failed: {}"); let mut server_config = opt_result!(ServerConfig::with_single_cert(cert_chain, priv_key), "Create server config failed: {}");
Arc::get_mut(&mut server_config.transport) Arc::get_mut(&mut server_config.transport).unwrap()
.unwrap()
.max_concurrent_uni_streams(0_u8.into()); .max_concurrent_uni_streams(0_u8.into());
information!("Listen: {}", &listen_config.listen); information!("Listen: {}", &listen_config.listen);
let listen_addr: SocketAddr = opt_result!(listen_config.listen.parse(), "Parse listen address: {} failed: {}", &listen_config.listen); let listen_addr: SocketAddr = opt_result!(listen_config.listen.parse(), "Parse listen address: {} failed: {}", &listen_config.listen);
@@ -45,7 +44,7 @@ pub async fn run(listen_config: &ListenConfig) -> XResult<()> {
let connection = match connection.await { let connection = match connection.await {
Ok(connection) => connection, Ok(connection) => connection,
Err(e) => { Err(e) => {
warning!("Create connection failed: {}", e); warning!("Create connection failed: {:?}", e);
sleep(Duration::from_secs(3)).await; sleep(Duration::from_secs(3)).await;
continue; continue;
} }
@@ -67,7 +66,7 @@ pub async fn run(listen_config: &ListenConfig) -> XResult<()> {
break; break;
} }
Some(Err(e)) => { Some(Err(e)) => {
information!("Connection ended: {}", e); information!("Connection ended: {:?}", e);
break; break;
} }
Some(Ok((send, recv))) => { Some(Ok((send, recv))) => {