diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-01-07 21:06:44 -0800 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2016-01-08 12:23:48 -0800 |
commit | adf3dea4e58f0fcd59899937ed050e7174aebd42 (patch) | |
tree | 547a39e4dfe9f1459f589bfd6ce76fa77d7febd3 /platform/default/online_file_source.cpp | |
parent | 4b7db28157052c6a402114a5796da809105886be (diff) | |
download | qtlocation-mapboxgl-adf3dea4e58f0fcd59899937ed050e7174aebd42.tar.gz |
[core] Simplify OnlineFileSource's Timer use
There is no need for the timer to be created only under certain conditions. Stopping a non-started timer is a no-op. Therefore it can simply be a direct member.
While here, rename the variable. It's a timer, not a request.
Diffstat (limited to 'platform/default/online_file_source.cpp')
-rw-r--r-- | platform/default/online_file_source.cpp | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/platform/default/online_file_source.cpp b/platform/default/online_file_source.cpp index 120f21230c..4d9a13bd83 100644 --- a/platform/default/online_file_source.cpp +++ b/platform/default/online_file_source.cpp @@ -50,7 +50,7 @@ public: const Resource resource; std::unique_ptr<WorkRequest> cacheRequest; RequestBase* realRequest = nullptr; - std::unique_ptr<util::Timer> timerRequest; + util::Timer realRequestTimer; inline OnlineFileRequestImpl(const Resource& resource_) : resource(resource_) {} @@ -268,10 +268,8 @@ void OnlineFileSource::Impl::startCacheRequest(OnlineFileRequestImpl& request) { void OnlineFileSource::Impl::startRealRequest(OnlineFileRequestImpl& request) { assert(!request.realRequest); - // Cancel the timer if we have one. - if (request.timerRequest) { - request.timerRequest->stop(); - } + // Ensure the timer is stopped. + request.realRequestTimer.stop(); auto callback = [this, &request](std::shared_ptr<const Response> response) { request.realRequest = nullptr; @@ -332,11 +330,7 @@ void OnlineFileSource::Impl::reschedule(OnlineFileRequestImpl& request) { if (timeout == Seconds::zero()) { update(request); } else if (timeout > Seconds::zero()) { - if (!request.timerRequest) { - request.timerRequest = std::make_unique<util::Timer>(); - } - - request.timerRequest->start(timeout, Duration::zero(), [this, &request] { + request.realRequestTimer.start(timeout, Duration::zero(), [this, &request] { assert(!request.realRequest); startRealRequest(request); }); @@ -350,7 +344,7 @@ OnlineFileRequestImpl::~OnlineFileRequestImpl() { realRequest->cancel(); realRequest = nullptr; } - // timerRequest and cacheRequest are automatically canceld upon destruction. + // realRequestTimer and cacheRequest are automatically canceled upon destruction. } void OnlineFileRequestImpl::addObserver(FileRequest* req, Callback callback) { |