+
+ const std::string DEFAULT_REDIS_PORT("6379");
+
+ void appendDBPortToAddrList(std::string& addresses, const std::string& port)
+ {
+ size_t base(0);
+ std::vector<std::string> portList;
+ boost::split(portList, port, boost::is_any_of(","));
+
+ std::size_t idx(0);
+ auto redisPort((portList.size() > 0 && idx < portList.size()) ? portList.at(idx) : DEFAULT_REDIS_PORT);
+ auto pos = addresses.find(',', base);
+ while (std::string::npos != pos)
+ {
+ addresses.insert(pos, ":" + redisPort);
+ base = pos + 2 + redisPort.size();
+ pos = addresses.find(',', base);
+ idx++;
+ }
+ addresses.append(":" + redisPort);
+ }