From 37e655c71bdce1b1bc20a06eeb00458f205ada8b Mon Sep 17 00:00:00 2001 From: Jake Farrell Date: Tue, 4 Jun 2013 23:04:16 -0400 Subject: [PATCH] Thrift-1997:Add accept backlog configuration method to TServerSocket 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 | 10 +++++++--- lib/cpp/src/thrift/transport/TServerSocket.h | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/cpp/src/thrift/transport/TServerSocket.cpp b/lib/cpp/src/thrift/transport/TServerSocket.cpp index 20313ac3..1000367e 100644 --- a/lib/cpp/src/thrift/transport/TServerSocket.cpp +++ b/lib/cpp/src/thrift/transport/TServerSocket.cpp @@ -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; } diff --git a/lib/cpp/src/thrift/transport/TServerSocket.h b/lib/cpp/src/thrift/transport/TServerSocket.h index 2ee75931..e562a194 100644 --- a/lib/cpp/src/thrift/transport/TServerSocket.h +++ b/lib/cpp/src/thrift/transport/TServerSocket.h @@ -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); -- 2.17.1