mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Use std::queue for HTTPFetchRequest and std::vector for log_output instead of std::list
This commit is contained in:
parent
9749d9fee6
commit
3d505b2b5f
2 changed files with 23 additions and 26 deletions
|
@ -37,7 +37,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
#include "settings.h"
|
||||
|
||||
JMutex g_httpfetch_mutex;
|
||||
std::map<unsigned long, std::list<HTTPFetchResult> > g_httpfetch_results;
|
||||
std::map<unsigned long, std::queue<HTTPFetchResult> > g_httpfetch_results;
|
||||
|
||||
HTTPFetchRequest::HTTPFetchRequest()
|
||||
{
|
||||
|
@ -57,7 +57,7 @@ static void httpfetch_deliver_result(const HTTPFetchResult &fetch_result)
|
|||
unsigned long caller = fetch_result.caller;
|
||||
if (caller != HTTPFETCH_DISCARD) {
|
||||
JMutexAutoLock lock(g_httpfetch_mutex);
|
||||
g_httpfetch_results[caller].push_back(fetch_result);
|
||||
g_httpfetch_results[caller].push(fetch_result);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -70,11 +70,11 @@ unsigned long httpfetch_caller_alloc()
|
|||
// Check each caller ID except HTTPFETCH_DISCARD
|
||||
const unsigned long discard = HTTPFETCH_DISCARD;
|
||||
for (unsigned long caller = discard + 1; caller != discard; ++caller) {
|
||||
std::map<unsigned long, std::list<HTTPFetchResult> >::iterator
|
||||
std::map<unsigned long, std::queue<HTTPFetchResult> >::iterator
|
||||
it = g_httpfetch_results.find(caller);
|
||||
if (it == g_httpfetch_results.end()) {
|
||||
verbosestream<<"httpfetch_caller_alloc: allocating "
|
||||
<<caller<<std::endl;
|
||||
verbosestream << "httpfetch_caller_alloc: allocating "
|
||||
<< caller << std::endl;
|
||||
// Access element to create it
|
||||
g_httpfetch_results[caller];
|
||||
return caller;
|
||||
|
@ -102,19 +102,19 @@ bool httpfetch_async_get(unsigned long caller, HTTPFetchResult &fetch_result)
|
|||
JMutexAutoLock lock(g_httpfetch_mutex);
|
||||
|
||||
// Check that caller exists
|
||||
std::map<unsigned long, std::list<HTTPFetchResult> >::iterator
|
||||
std::map<unsigned long, std::queue<HTTPFetchResult> >::iterator
|
||||
it = g_httpfetch_results.find(caller);
|
||||
if (it == g_httpfetch_results.end())
|
||||
return false;
|
||||
|
||||
// Check that result queue is nonempty
|
||||
std::list<HTTPFetchResult> &caller_results = it->second;
|
||||
std::queue<HTTPFetchResult> &caller_results = it->second;
|
||||
if (caller_results.empty())
|
||||
return false;
|
||||
|
||||
// Pop first result
|
||||
fetch_result = caller_results.front();
|
||||
caller_results.pop_front();
|
||||
caller_results.pop();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue