mirror of
https://github.com/tun2proxy/tun2proxy.git
synced 2025-06-21 08:30:53 +00:00
tun shutdown issues. (#97)
This commit is contained in:
parent
4ab6f1a9bc
commit
7e7aadb04b
3 changed files with 21 additions and 15 deletions
|
@ -5,8 +5,8 @@ async fn main() -> Result<(), BoxError> {
|
|||
dotenvy::dotenv().ok();
|
||||
let args = Args::parse_args();
|
||||
|
||||
// let default = format!("{}={:?}", module_path!(), args.verbosity);
|
||||
let default = format!("{:?}", args.verbosity);
|
||||
// let default = format!("{}={:?},trust_dns_proto=warn", module_path!(), args.verbosity);
|
||||
let default = format!("{:?},trust_dns_proto=warn", args.verbosity);
|
||||
env_logger::Builder::from_env(env_logger::Env::default().default_filter_or(default)).init();
|
||||
|
||||
let shutdown_token = tokio_util::sync::CancellationToken::new();
|
||||
|
|
28
src/lib.rs
28
src/lib.rs
|
@ -222,17 +222,23 @@ async fn handle_tcp_session(
|
|||
let (mut t_rx, mut t_tx) = tokio::io::split(tcp_stack);
|
||||
let (mut s_rx, mut s_tx) = tokio::io::split(server);
|
||||
|
||||
for _ in 0..2 {
|
||||
tokio::select! {
|
||||
_ = tokio::io::copy(&mut t_rx, &mut s_tx) => {
|
||||
s_tx.shutdown().await?;
|
||||
},
|
||||
_ = tokio::io::copy(&mut s_rx, &mut t_tx) => {
|
||||
t_tx.shutdown().await?;
|
||||
},
|
||||
}
|
||||
}
|
||||
log::info!("Ending {}", session_info);
|
||||
let res = tokio::join!(
|
||||
async move {
|
||||
let r = tokio::io::copy(&mut t_rx, &mut s_tx).await;
|
||||
if let Err(err) = s_tx.shutdown().await {
|
||||
log::trace!("{} s_tx shutdown error {}", session_info, err);
|
||||
}
|
||||
r
|
||||
},
|
||||
async move {
|
||||
let r = tokio::io::copy(&mut s_rx, &mut t_tx).await;
|
||||
if let Err(err) = t_tx.shutdown().await {
|
||||
log::trace!("{} t_tx shutdown error {}", session_info, err);
|
||||
}
|
||||
r
|
||||
},
|
||||
);
|
||||
log::info!("Ending {} with {:?}", session_info, res);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue