From bf578e768be9c479f22f723b8368e78206332227 Mon Sep 17 00:00:00 2001 From: rustdesk Date: Sun, 23 Jan 2022 20:53:55 +0800 Subject: [PATCH] set_nodelay --- libs/hbb_common/src/tcp.rs | 2 ++ src/server.rs | 1 + 2 files changed, 3 insertions(+) diff --git a/libs/hbb_common/src/tcp.rs b/libs/hbb_common/src/tcp.rs index 86f67688c..7966920c2 100644 --- a/libs/hbb_common/src/tcp.rs +++ b/libs/hbb_common/src/tcp.rs @@ -85,6 +85,7 @@ impl FramedStream { new_socket(local_addr, true)?.connect(remote_addr), ) .await??; + stream.set_nodelay(true).ok(); let addr = stream.local_addr()?; return Ok(Self( Framed::new(DynTcpStream(Box::new(stream)), BytesCodec::new()), @@ -114,6 +115,7 @@ impl FramedStream { if let Some(proxy) = proxy.to_proxy_addrs().next().await { let stream = super::timeout(ms_timeout, new_socket(local, true)?.connect(proxy?)).await??; + stream.set_nodelay(true).ok(); let stream = if username.trim().is_empty() { super::timeout( ms_timeout, diff --git a/src/server.rs b/src/server.rs index 766e1f100..2951c8982 100644 --- a/src/server.rs +++ b/src/server.rs @@ -75,6 +75,7 @@ async fn accept_connection_(server: ServerPtr, socket: Stream, secure: bool) -> let listener = new_listener(local_addr, true).await?; log::info!("Server listening on: {}", &listener.local_addr()?); if let Ok((stream, addr)) = timeout(CONNECT_TIMEOUT, listener.accept()).await? { + stream.set_nodelay(true).ok(); let stream_addr = stream.local_addr()?; create_tcp_connection(server, Stream::from(stream, stream_addr), addr, secure).await?; }