Thrift-1997:Add accept backlog configuration method to TServerSocket
authorJake Farrell <jfarrell@apache.org>
Wed, 5 Jun 2013 03:04:16 +0000 (23:04 -0400)
committerJake Farrell <jfarrell@apache.org>
Wed, 5 Jun 2013 03:04:16 +0000 (23:04 -0400)
Client: cpp
Patch: Randy Abernethy

TServerSocket hard codes the accept backlog to 1024. This patch adds a setAcceptBacklog() method which can be used to change the backlog size (must be called prior to listen()).

lib/cpp/src/thrift/transport/TServerSocket.cpp
lib/cpp/src/thrift/transport/TServerSocket.h

index 20313ac..1000367 100644 (file)
@@ -78,7 +78,7 @@ using boost::shared_ptr;
 TServerSocket::TServerSocket(int port) :
   port_(port),
   serverSocket_(-1),
-  acceptBacklog_(1024),
+  acceptBacklog_(DEFAULT_BACKLOG),
   sendTimeout_(0),
   recvTimeout_(0),
   accTimeout_(-1),
@@ -92,7 +92,7 @@ TServerSocket::TServerSocket(int port) :
 TServerSocket::TServerSocket(int port, int sendTimeout, int recvTimeout) :
   port_(port),
   serverSocket_(-1),
-  acceptBacklog_(1024),
+  acceptBacklog_(DEFAULT_BACKLOG),
   sendTimeout_(sendTimeout),
   recvTimeout_(recvTimeout),
   accTimeout_(-1),
@@ -107,7 +107,7 @@ TServerSocket::TServerSocket(string path) :
   port_(0),
   path_(path),
   serverSocket_(-1),
-  acceptBacklog_(1024),
+  acceptBacklog_(DEFAULT_BACKLOG),
   sendTimeout_(0),
   recvTimeout_(0),
   accTimeout_(-1),
@@ -134,6 +134,10 @@ void TServerSocket::setAcceptTimeout(int accTimeout) {
   accTimeout_ = accTimeout;
 }
 
+void TServerSocket::setAcceptBacklog(int accBacklog) {
+  acceptBacklog_ = accBacklog;
+}
+
 void TServerSocket::setRetryLimit(int retryLimit) {
   retryLimit_ = retryLimit;
 }
index 2ee7593..e562a19 100644 (file)
@@ -37,6 +37,8 @@ class TSocket;
  */
 class TServerSocket : public TServerTransport {
  public:
+  const static int DEFAULT_BACKLOG = 1024;
+
   TServerSocket(int port);
   TServerSocket(int port, int sendTimeout, int recvTimeout);
   TServerSocket(std::string path);
@@ -47,6 +49,7 @@ class TServerSocket : public TServerTransport {
   void setRecvTimeout(int recvTimeout);
 
   void setAcceptTimeout(int accTimeout);
+  void setAcceptBacklog(int accBacklog);
 
   void setRetryLimit(int retryLimit);
   void setRetryDelay(int retryDelay);