From f7c94e03a90a6571186416c611d1f20c28d4e18e Mon Sep 17 00:00:00 2001 From: Vladimir Byko-Ianko Date: Fri, 9 Dec 2016 13:38:03 +0300 Subject: [PATCH] Review fixes. --- map/traffic_manager.cpp | 13 +++++++------ map/traffic_manager.hpp | 24 ++++++++++++------------ 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/map/traffic_manager.cpp b/map/traffic_manager.cpp index d6d4f5479a..f352c356c4 100644 --- a/map/traffic_manager.cpp +++ b/map/traffic_manager.cpp @@ -35,7 +35,7 @@ TrafficManager::CacheEntry::CacheEntry() TrafficManager::CacheEntry::CacheEntry(time_point const & requestTime) : m_isLoaded(false) , m_dataSize(0) - , m_lastSeenTime(requestTime) + , m_lastActiveTime(requestTime) , m_lastRequestTime(requestTime) , m_retriesCount(0) , m_isWaitingForResponse(true) @@ -206,13 +206,14 @@ void TrafficManager::UpdateMyPosition(MyPosition const & myPosition) { // Side of square around |myPosition|. Every mwm which is covered by the square // will get traffic info. - double const kSquareSideM = 5000; + double const kSquareSideM = 5000.0; m_currentPosition = {myPosition, true /* initialized */}; if (!IsEnabled() || IsInvalidState()) return; - m2::RectD const rect = MercatorBounds::RectByCenterXYAndSizeInMeters(myPosition.m_position, kSquareSideM); + m2::RectD const rect = MercatorBounds::RectByCenterXYAndSizeInMeters(myPosition.m_position, + kSquareSideM / 2.0); // Request traffic. UpdateActiveMwms(rect, m_lastRoutingMwmsByRect, m_activeRoutingMwms); @@ -301,7 +302,7 @@ void TrafficManager::RequestTrafficData(MwmSet::MwmId const & mwmId, bool force) it->second.m_lastRequestTime = currentTime; } if (!force) - it->second.m_lastSeenTime = currentTime; + it->second.m_lastActiveTime = currentTime; } if (needRequesting) @@ -403,13 +404,13 @@ void TrafficManager::CheckCacheSize() // Calculating number of different active mwms. set activeMwms; UniteActiveMwms(activeMwms); - size_t const activeMwmsSize = m_activeDrapeMwms.size(); + size_t const activeMwmsSize = activeMwms.size(); if (m_currentCacheSizeBytes > m_maxCacheSizeBytes && m_mwmCache.size() > activeMwmsSize) { std::multimap, MwmSet::MwmId> seenTimings; for (auto const & mwmInfo : m_mwmCache) - seenTimings.insert(make_pair(mwmInfo.second.m_lastSeenTime, mwmInfo.first)); + seenTimings.insert(make_pair(mwmInfo.second.m_lastActiveTime, mwmInfo.first)); auto itSeen = seenTimings.begin(); while (m_currentCacheSizeBytes > m_maxCacheSizeBytes && diff --git a/map/traffic_manager.hpp b/map/traffic_manager.hpp index f29f4e888d..b1ae938efb 100644 --- a/map/traffic_manager.hpp +++ b/map/traffic_manager.hpp @@ -79,16 +79,6 @@ public: void OnRecoverGLContext(); void OnMwmDelete(MwmSet::MwmId const & mwmId); -private: - void ThreadRoutine(); - bool WaitForRequest(vector & mwms); - - void OnTrafficDataResponse(traffic::TrafficInfo && info); - void OnTrafficRequestFailed(traffic::TrafficInfo && info); - - void UpdateActiveMwms(m2::RectD const & rect, vector & lastMwmsByRect, - set & activeMwms); - private: struct CacheEntry { @@ -98,7 +88,7 @@ private: bool m_isLoaded; size_t m_dataSize; - time_point m_lastSeenTime; + time_point m_lastActiveTime; time_point m_lastRequestTime; time_point m_lastResponseTime; @@ -108,6 +98,16 @@ private: traffic::TrafficInfo::Availability m_lastAvailability; }; + + void ThreadRoutine(); + bool WaitForRequest(vector & mwms); + + void OnTrafficDataResponse(traffic::TrafficInfo && info); + void OnTrafficRequestFailed(traffic::TrafficInfo && info); + + void UpdateActiveMwms(m2::RectD const & rect, vector & lastMwmsByRect, + set & activeMwms); + // This is a group of methods that haven't their own synchronization inside. void RequestTrafficData(); void RequestTrafficData(MwmSet::MwmId const & mwmId, bool force); @@ -129,7 +129,7 @@ private: { set activeMwms; UniteActiveMwms(activeMwms); - for (MwmSet::MwmId const & mwmId : activeMwms) + for (auto const & mwmId : activeMwms) f(mwmId); }