diff --git a/src/electrum/server.rs b/src/electrum/server.rs index ea5579699..e716fb8dd 100644 --- a/src/electrum/server.rs +++ b/src/electrum/server.rs @@ -789,6 +789,7 @@ impl RPC { stream .set_nonblocking(false) .expect("failed to set connection as blocking"); + stream.set_nodelay(true).expect("failed to set TCP_NODELAY"); acceptor.send(Some((stream, addr))).expect("send failed"); } }); diff --git a/src/rest.rs b/src/rest.rs index bb909d151..0d0a0f583 100644 --- a/src/rest.rs +++ b/src/rest.rs @@ -601,7 +601,10 @@ async fn run_server(config: Arc, query: Arc, rx: oneshot::Receive tokio::select! { result = listener.accept() => { match result { - Ok((stream, _)) => spawn_conn(stream, Arc::clone(&query), Arc::clone(&config), &graceful), + Ok((stream, _)) => { + stream.set_nodelay(true).expect("failed to set TCP_NODELAY"); + spawn_conn(stream, Arc::clone(&query), Arc::clone(&config), &graceful); + } Err(e) => warn!("accept error: {}", e), } }