From 8e26b187bebbe907b97a0bb95fdb886546574dbf Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Mon, 7 Mar 2016 17:07:25 -0500 Subject: [PATCH] Set TCP_NODELAY on plain, loopback JSONRPC clients --- src/ripple/server/impl/PlainHTTPPeer.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/ripple/server/impl/PlainHTTPPeer.h b/src/ripple/server/impl/PlainHTTPPeer.h index b955e128ef..668ba476fe 100644 --- a/src/ripple/server/impl/PlainHTTPPeer.h +++ b/src/ripple/server/impl/PlainHTTPPeer.h @@ -56,11 +56,18 @@ private: template PlainHTTPPeer::PlainHTTPPeer (Port const& port, Handler& handler, - beast::Journal journal, endpoint_type remote_address, + beast::Journal journal, endpoint_type remote_endpoint, ConstBufferSequence const& buffers, socket_type&& socket) - : BaseHTTPPeer(port, handler, socket.get_io_service(), journal, remote_address, buffers) + : BaseHTTPPeer(port, handler, socket.get_io_service(), + journal, remote_endpoint, buffers) , stream_(std::move(socket)) { + // Set TCP_NODELAY on loopback interfaces, + // otherwise Nagle's algorithm makes Env + // tests run slower on Linux systems. + // + if(remote_endpoint.address().is_loopback()) + stream_.set_option(boost::asio::ip::tcp::no_delay{true}); } void