feat: update client&server
This commit is contained in:
@@ -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))
|
||||||
}
|
}
|
||||||
@@ -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))) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user