diff --git a/lib/cpp/src/transport/TServerSocket.cpp b/lib/cpp/src/transport/TServerSocket.cpp
index 69d35bf..38ca363 100644
--- a/lib/cpp/src/transport/TServerSocket.cpp
+++ b/lib/cpp/src/transport/TServerSocket.cpp
@@ -30,6 +30,8 @@
   recvTimeout_(0),
   retryLimit_(0),
   retryDelay_(0),
+  tcpSendBuffer_(0),
+  tcpRecvBuffer_(0),
   intSock1_(-1),
   intSock2_(-1) {}
 
@@ -41,6 +43,8 @@
   recvTimeout_(recvTimeout),
   retryLimit_(0),
   retryDelay_(0),
+  tcpSendBuffer_(0),
+  tcpRecvBuffer_(0),
   intSock1_(-1),
   intSock2_(-1) {}
 
@@ -64,6 +68,14 @@
   retryDelay_ = retryDelay;
 }
 
+void TServerSocket::setTcpSendBuffer(int tcpSendBuffer) {
+  tcpSendBuffer_ = tcpSendBuffer;
+}
+
+void TServerSocket::setTcpRecvBuffer(int tcpRecvBuffer) {
+  tcpRecvBuffer_ = tcpRecvBuffer;
+}
+
 void TServerSocket::listen() {
   int sv[2];
   if (-1 == socketpair(AF_LOCAL, SOCK_STREAM, 0, sv)) {
@@ -115,6 +127,25 @@
     throw TTransportException(TTransportException::NOT_OPEN, "Could not set SO_REUSEADDR");
   }
 
+  // Set TCP buffer sizes
+  if (tcpSendBuffer_ > 0) {
+    if (-1 == setsockopt(serverSocket_, SOL_SOCKET, SO_SNDBUF,
+                         &tcpSendBuffer_, sizeof(tcpSendBuffer_))) {
+      GlobalOutput("TServerSocket::listen() SO_SNDBUF");
+      close();
+      throw TTransportException(TTransportException::NOT_OPEN, "Could not set SO_SNDBUF");
+    }
+  }
+
+  if (tcpRecvBuffer_ > 0) {
+    if (-1 == setsockopt(serverSocket_, SOL_SOCKET, SO_RCVBUF,
+                         &tcpRecvBuffer_, sizeof(tcpRecvBuffer_))) {
+      GlobalOutput("TServerSocket::listen() SO_RCVBUF");
+      close();
+      throw TTransportException(TTransportException::NOT_OPEN, "Could not set SO_RCVBUF");
+    }
+  }
+
   // Defer accept
   #ifdef TCP_DEFER_ACCEPT
   if (-1 == setsockopt(serverSocket_, SOL_SOCKET, TCP_DEFER_ACCEPT,
diff --git a/lib/cpp/src/transport/TServerSocket.h b/lib/cpp/src/transport/TServerSocket.h
index 213d9d4..b6bafa0 100644
--- a/lib/cpp/src/transport/TServerSocket.h
+++ b/lib/cpp/src/transport/TServerSocket.h
@@ -33,6 +33,9 @@
   void setRetryLimit(int retryLimit);
   void setRetryDelay(int retryDelay);
 
+  void setTcpSendBuffer(int tcpSendBuffer);
+  void setTcpRecvBuffer(int tcpRecvBuffer);
+
   void listen();
   void close();
 
@@ -49,6 +52,8 @@
   int recvTimeout_;
   int retryLimit_;
   int retryDelay_;
+  int tcpSendBuffer_;
+  int tcpRecvBuffer_;
 
   int intSock1_;
   int intSock2_;
