diff options
author | Vladimir Byko-Ianko <v.bykoianko@corp.mail.ru> | 2016-12-12 13:46:21 +0300 |
---|---|---|
committer | Vladimir Byko-Ianko <v.bykoianko@corp.mail.ru> | 2016-12-12 13:46:21 +0300 |
commit | 4f39c5d766c9babeb1757da9398c45b2e9cc1e56 (patch) | |
tree | 0731f747088ded3fd890ac7b1e2ccc6613d7368e /traffic | |
parent | bd675c6b08cd7eda774548474a32787f2a96963a (diff) |
Traffic cache for routing memory optimization.
Diffstat (limited to 'traffic')
-rw-r--r-- | traffic/traffic_cache.cpp | 17 | ||||
-rw-r--r-- | traffic/traffic_cache.hpp | 8 |
2 files changed, 12 insertions, 13 deletions
diff --git a/traffic/traffic_cache.cpp b/traffic/traffic_cache.cpp index ec0373b7e6..71b37f6ba2 100644 --- a/traffic/traffic_cache.cpp +++ b/traffic/traffic_cache.cpp @@ -2,22 +2,21 @@ namespace traffic { -void TrafficCache::Set(TrafficInfo && info) +void TrafficCache::Set(MwmSet::MwmId const & mwmId, TrafficInfo::Coloring && coloring) { - MwmSet::MwmId const mwmId = info.GetMwmId(); - m_trafficInfo[mwmId] = make_shared<TrafficInfo>(move(info)); + m_trafficColoring[mwmId] = make_shared<TrafficInfo::Coloring>(move(coloring)); } -void TrafficCache::Remove(MwmSet::MwmId const & mwmId) { m_trafficInfo.erase(mwmId); } +void TrafficCache::Remove(MwmSet::MwmId const & mwmId) { m_trafficColoring.erase(mwmId); } -shared_ptr<TrafficInfo> TrafficCache::GetTrafficInfo(MwmSet::MwmId const & mwmId) const +shared_ptr<TrafficInfo::Coloring> TrafficCache::GetTrafficInfo(MwmSet::MwmId const & mwmId) const { - auto it = m_trafficInfo.find(mwmId); + auto it = m_trafficColoring.find(mwmId); - if (it == m_trafficInfo.cend()) - return shared_ptr<TrafficInfo>(); + if (it == m_trafficColoring.cend()) + return shared_ptr<TrafficInfo::Coloring>(); return it->second; } -void TrafficCache::Clear() { m_trafficInfo.clear(); } +void TrafficCache::Clear() { m_trafficColoring.clear(); } } // namespace traffic diff --git a/traffic/traffic_cache.hpp b/traffic/traffic_cache.hpp index ba79312a6f..4412f20cb6 100644 --- a/traffic/traffic_cache.hpp +++ b/traffic/traffic_cache.hpp @@ -11,17 +11,17 @@ namespace traffic class TrafficCache { public: - TrafficCache() : m_trafficInfo() {} + TrafficCache() : m_trafficColoring() {} virtual ~TrafficCache() = default; - virtual shared_ptr<traffic::TrafficInfo> GetTrafficInfo(MwmSet::MwmId const & mwmId) const; + virtual shared_ptr<traffic::TrafficInfo::Coloring> GetTrafficInfo(MwmSet::MwmId const & mwmId) const; protected: - void Set(traffic::TrafficInfo && info); + void Set(MwmSet::MwmId const & mwmId, TrafficInfo::Coloring && mwmIdAndColoring); void Remove(MwmSet::MwmId const & mwmId); void Clear(); private: - map<MwmSet::MwmId, shared_ptr<traffic::TrafficInfo>> m_trafficInfo; + map<MwmSet::MwmId, shared_ptr<traffic::TrafficInfo::Coloring>> m_trafficColoring; }; } // namespace traffic |