-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrequest_queue.cpp
More file actions
37 lines (28 loc) · 1.03 KB
/
Copy pathrequest_queue.cpp
File metadata and controls
37 lines (28 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "request_queue.h"
using namespace std;
RequestQueue::RequestQueue(const SearchServer& search_server): server_(search_server) {}
void RequestQueue::CountEmptyRequests(const vector<Document>& result){
if (!requests_.empty() && time_ > min_in_day_) {
if(requests_.front().result.empty())
--empty_res_cnt_;
requests_.pop_front();
requests_.push_back({result});
if (result.empty())
++empty_res_cnt_;
} else{
requests_.push_back({result});
if (result.empty())
++empty_res_cnt_;
}
}
int RequestQueue::GetNoResultRequests() const {
return empty_res_cnt_;
}
vector<Document> RequestQueue::AddFindRequest(string_view raw_query, DocumentStatus status) {
return AddFindRequest(raw_query, [status](int document_id, DocumentStatus document_status, int rating) {
return document_status == status;
});
}
vector<Document> RequestQueue::AddFindRequest(string_view raw_query) {
return AddFindRequest(raw_query, DocumentStatus::ACTUAL);
}