NonblockingConnect* ConnectPool::connect(const std::string& address, uint16 port) { fast_free(); for (int i = 0; i < kPoolSize; i++) { if (m_pool[i].second && !m_pool[i].first) { m_pool[i].second = false; m_pool[i].first = new NonblockingConnect(address, port); return m_pool[i].first; } } return 0; }
NonblockingConnect* ConnectPool::connect(const IPaddress& ip) { fast_free(); for (int i = 0; i < kPoolSize; i++) { if (m_pool[i].second && !m_pool[i].first) { m_pool[i].second = false; m_pool[i].first = new NonblockingConnect(ip); return m_pool[i].first; } } return 0; }
WEAK void safe_free(void *ptr) { return fast_free(ptr); }