void ConnectionPool::addObject(const InetSocketAddress& key) { sys::ScopedLock<sys::Mutex> l(lock); TransportQueuePtr idleQ(new BlockingQueue<TcpTransport *>()); // = TransportQueue(BlockingQueue<TcpTransport *>* idleQ = new BlockingQueue<TcpTransport *>(); idle.insert(std::pair<InetSocketAddress, TransportQueuePtr>(key, idleQ)); for (int i = 0; i < configuration.getMinIdle(); i++) { idleQ->push(&factory->makeObject(key)); } TransportQueuePtr busyQ(new BlockingQueue<TcpTransport *>()); //BlockingQueue<TcpTransport *>* busyQ = new BlockingQueue<TcpTransport *>(); busy.insert(std::pair<InetSocketAddress, TransportQueuePtr>(key, busyQ)); }
void ConnectionPool::addObject(const InetSocketAddress& key) { sys::ScopedLock<sys::Mutex> l(lock); if (idle.find(key) != idle.end()) { return; //key already existed. } TransportQueuePtr idleQ(new BlockingQueue<TcpTransport *>()); // = TransportQueue(BlockingQueue<TcpTransport *>* idleQ = new BlockingQueue<TcpTransport *>(); idle.insert(std::pair<InetSocketAddress, TransportQueuePtr>(key, idleQ)); TransportQueuePtr busyQ(new BlockingQueue<TcpTransport *>()); // = TransportQueue(BlockingQueue<TcpTransport *>* idleQ = new BlockingQueue<TcpTransport *>(); busy.insert(std::pair<InetSocketAddress, TransportQueuePtr>(key, busyQ)); ensureMinIdle(key); }