Session::PriorityQueue: minor simplification

GitOrigin-RevId: f0baab28bb95afef247e4ad0c291222be6d105c5
This commit is contained in:
Arseny Smirnov 2020-08-18 18:37:10 +03:00
parent c1252ad929
commit 89fad4fdb9
2 changed files with 5 additions and 4 deletions

View File

@ -123,11 +123,11 @@ void Session::PriorityQueue::push(NetQueryPtr query) {
} }
NetQueryPtr Session::PriorityQueue::pop() { NetQueryPtr Session::PriorityQueue::pop() {
auto it = queries_.rbegin(); CHECK(!empty());
CHECK(it != queries_.rend()); auto it = queries_.begin();
auto res = it->second.pop(); auto res = it->second.pop();
if (it->second.empty()) { if (it->second.empty()) {
queries_.erase(it->first); queries_.erase(it);
} }
return res; return res;
} }

View File

@ -29,6 +29,7 @@
#include <array> #include <array>
#include <deque> #include <deque>
#include <functional>
#include <map> #include <map>
#include <memory> #include <memory>
#include <unordered_map> #include <unordered_map>
@ -132,7 +133,7 @@ class Session final
bool empty() const; bool empty() const;
private: private:
std::map<int8, VectorQueue<NetQueryPtr>> queries_; std::map<int8, VectorQueue<NetQueryPtr>, std::greater<>> queries_;
}; };
PriorityQueue pending_queries_; PriorityQueue pending_queries_;
std::map<uint64, Query> sent_queries_; std::map<uint64, Query> sent_queries_;