[core] Introduce Timer abstraction
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
#include <mbgl/platform/platform.hpp>
|
||||
#include <mbgl/platform/log.hpp>
|
||||
|
||||
#include <mbgl/util/uv_detail.hpp>
|
||||
#include <mbgl/util/thread.hpp>
|
||||
#include <mbgl/util/mapbox.hpp>
|
||||
#include <mbgl/util/exception.hpp>
|
||||
@@ -236,11 +235,10 @@ void DefaultFileSource::Impl::reschedule(DefaultFileRequestImpl& request) {
|
||||
update(request);
|
||||
} else if (timeout > Seconds::zero()) {
|
||||
if (!request.timerRequest) {
|
||||
request.timerRequest = std::make_unique<uv::timer>(util::RunLoop::getLoop());
|
||||
request.timerRequest = std::make_unique<util::Timer>();
|
||||
}
|
||||
|
||||
// timeout is in seconds, but the timer takes milliseconds.
|
||||
request.timerRequest->start(asMilliseconds(timeout).count(), 0, [this, &request] {
|
||||
request.timerRequest->start(timeout, Duration::zero(), [this, &request] {
|
||||
assert(!request.realRequest);
|
||||
startRealRequest(request);
|
||||
});
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <mbgl/util/async_task.hpp>
|
||||
#include <mbgl/util/noncopyable.hpp>
|
||||
#include <mbgl/util/chrono.hpp>
|
||||
#include <mbgl/util/timer.hpp>
|
||||
|
||||
#include <set>
|
||||
#include <unordered_map>
|
||||
@@ -40,7 +41,7 @@ public:
|
||||
const Resource resource;
|
||||
std::unique_ptr<WorkRequest> cacheRequest;
|
||||
RequestBase* realRequest = nullptr;
|
||||
std::unique_ptr<uv::timer> timerRequest;
|
||||
std::unique_ptr<util::Timer> timerRequest;
|
||||
|
||||
inline DefaultFileRequestImpl(const Resource& resource_)
|
||||
: resource(resource_) {}
|
||||
|
||||
Reference in New Issue
Block a user