From 4372118a2371db2efbb7b2de9134850ec0bae1f8 Mon Sep 17 00:00:00 2001 From: Irene Y Zhang <iyzhang@cs.washington.edu> Date: Fri, 13 May 2016 14:55:57 -0700 Subject: [PATCH] turning off Nagle algorithm --- lib/tcptransport.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/tcptransport.cc b/lib/tcptransport.cc index 3216ba4..63faccc 100644 --- a/lib/tcptransport.cc +++ b/lib/tcptransport.cc @@ -271,6 +271,13 @@ TCPTransport::Register(TransportReceiver *receiver, PWarning("Failed to set SO_REUSEADDR on TCP listening socket"); } + // Set TCP_NODELAY + n = 1; + if (setsockopt(fd, IPPROTO_TCP, + TCP_NODELAY, (char *)&n, sizeof(n)) < 0) { + PWarning("Failed to set TCP_NODELAY on TCP listening socket"); + } + // Registering a replica. Bind socket to the designated // host/port const string &host = config.replica(replicaIdx).host; @@ -555,6 +562,9 @@ TCPTransport::TCPReadableCallback(struct bufferevent *bev, void *arg) uint32_t *magic; magic = (uint32_t *)evbuffer_pullup(evbuf, sizeof(*magic)); + if (magic == NULL) { + return; + } ASSERT(*magic == MAGIC); size_t *sz; -- GitLab