[thrift] TSocketPool::addServer, c++ version

Summary: Same thing as the previous PHP change. Also includes a new constructor for easy building of a TSocketPool with a single host (for later filling in via addServer) without extra std::vector boxing/unboxing.

Reviewed By: mcslee

Test Plan: Synapse c++ client at r62896 uses this.

Revert: OK

TracCamp Project: Thrift

DiffCamp Revision: 909


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665297 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/cpp/src/transport/TSocketPool.cpp b/lib/cpp/src/transport/TSocketPool.cpp
index 1293e5b..b6440fc 100644
--- a/lib/cpp/src/transport/TSocketPool.cpp
+++ b/lib/cpp/src/transport/TSocketPool.cpp
@@ -33,7 +33,7 @@
   }
 
   for (unsigned int i = 0; i < hosts.size(); ++i) {
-    servers_.push_back(pair<string, int>(hosts[i], ports[i]));
+    addServer(hosts[i], ports[i]);
   }
 }
 
@@ -47,10 +47,24 @@
 {
 }
 
+TSocketPool::TSocketPool(const string& host, int port) : TSocket(),
+  numRetries_(1),
+  retryInterval_(60),
+  maxConsecutiveFailures_(1),
+  randomize_(true),
+  alwaysTryLast_(true)
+{
+  addServer(host, port);
+}
+
 TSocketPool::~TSocketPool() {
   close();
 }
 
+void TSocketPool::addServer(const string& host, int port) {
+  servers_.push_back(pair<string, int>(host, port));
+}
+
 void TSocketPool::setNumRetries(int numRetries) {
   numRetries_ = numRetries;
 }