summaryrefslogtreecommitdiff
path: root/src/mbgl/storage/http_context.cpp
blob: c7474908044864a5f9d508fe2bb4347e66eee178 (plain)
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
#include <mbgl/storage/http_context.hpp>

namespace mbgl {

HTTPContext::HTTPContext(uv_loop_t* loop_)
    : reachability(loop_, [this] { retryRequests(); }) {
    NetworkStatus::Subscribe(reachability.get());
    reachability.unref();
}

HTTPContext::~HTTPContext() {
    assert(requests.empty());
    NetworkStatus::Unsubscribe(reachability.get());
}

void HTTPContext::addRequest(RequestBase* request) {
    requests.insert(request);
}

void HTTPContext::removeRequest(RequestBase* request) {
    requests.erase(request);
}

void HTTPContext::retryRequests() {
    for (auto request : requests) {
        request->retry();
    }
}

}