void Loader::servePendingRequests(Priority minimumPriority) { if (m_isSuspendingPendingRequests) return; m_requestTimer.stop(); m_nonHTTPProtocolHost->servePendingRequests(minimumPriority); Vector<Host*> hostsToServe; m_hosts.checkConsistency(); HostMap::iterator i = m_hosts.begin(); HostMap::iterator end = m_hosts.end(); for (; i != end; ++i) hostsToServe.append(i->second.get()); for (unsigned n = 0; n < hostsToServe.size(); ++n) { Host* host = hostsToServe[n]; if (host->hasRequests()) host->servePendingRequests(minimumPriority); else if (!host->processingResource()) { AtomicString name = host->name(); m_hosts.remove(name.impl()); } } }
void Loader::servePendingRequests(Priority minimumPriority) { m_requestTimer.stop(); m_nonHTTPProtocolHost.servePendingRequests(minimumPriority); Vector<Host*> hostsToServe; copyValuesToVector(m_hosts, hostsToServe); for (unsigned n = 0; n < hostsToServe.size(); ++n) { Host* host = hostsToServe[n]; if (host->hasRequests()) host->servePendingRequests(minimumPriority); else if (!host->processingResource()){ AtomicString name = host->name(); delete host; m_hosts.remove(name.impl()); } } }