From 9fc2c32408395689e25591d1d6bdb134fd78797c Mon Sep 17 00:00:00 2001 From: Patrick Niklaus Date: Wed, 28 Mar 2018 23:18:09 +0000 Subject: [PATCH] Fix errors when loading an incompatible dataset. --- include/contractor/files.hpp | 5 ----- .../datafacade/contiguous_internalmem_datafacade.hpp | 6 +++--- include/engine/datafacade/datafacade_base.hpp | 2 +- include/engine/datafacade_factory.hpp | 7 +++++++ include/guidance/files.hpp | 7 +++++-- include/guidance/serialization.hpp | 9 ++------- include/guidance/turn_data_container.hpp | 12 ++++-------- include/partitioner/files.hpp | 7 +++++-- include/partitioner/multi_level_graph.hpp | 12 ++++-------- include/partitioner/serialization.hpp | 9 ++------- src/contractor/contractor.cpp | 5 +---- src/storage/storage.cpp | 8 +++++--- unit_tests/mocks/mock_datafacade.hpp | 2 +- 13 files changed, 40 insertions(+), 51 deletions(-) diff --git a/include/contractor/files.hpp b/include/contractor/files.hpp index b7014f9ab..7ba994423 100644 --- a/include/contractor/files.hpp +++ b/include/contractor/files.hpp @@ -14,7 +14,6 @@ namespace files // reads .osrm.hsgr file template inline void readGraph(const boost::filesystem::path &path, - unsigned &checksum, std::unordered_map &metrics, std::uint32_t &connectivity_checksum) { @@ -25,7 +24,6 @@ inline void readGraph(const boost::filesystem::path &path, const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; storage::tar::FileReader reader{path, fingerprint}; - reader.ReadInto("/ch/checksum", checksum); reader.ReadInto("/ch/connectivity_checksum", connectivity_checksum); for (auto &pair : metrics) @@ -38,7 +36,6 @@ inline void readGraph(const boost::filesystem::path &path, // writes .osrm.hsgr file template inline void writeGraph(const boost::filesystem::path &path, - unsigned checksum, const std::unordered_map &metrics, const std::uint32_t connectivity_checksum) { @@ -48,8 +45,6 @@ inline void writeGraph(const boost::filesystem::path &path, const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; storage::tar::FileWriter writer{path, fingerprint}; - writer.WriteElementCount64("/ch/checksum", 1); - writer.WriteFrom("/ch/checksum", checksum); writer.WriteElementCount64("/ch/connectivity_checksum", 1); writer.WriteFrom("/ch/connectivity_checksum", connectivity_checksum); diff --git a/include/engine/datafacade/contiguous_internalmem_datafacade.hpp b/include/engine/datafacade/contiguous_internalmem_datafacade.hpp index 65f450459..79ec5f36b 100644 --- a/include/engine/datafacade/contiguous_internalmem_datafacade.hpp +++ b/include/engine/datafacade/contiguous_internalmem_datafacade.hpp @@ -194,7 +194,7 @@ class ContiguousInternalMemoryDataFacadeBase : public BaseDataFacade extractor::ProfileProperties *m_profile_properties; extractor::Datasources *m_datasources; - unsigned m_check_sum; + std::uint32_t m_check_sum; util::vector_view m_coordinate_list; extractor::PackedOSMIDsView m_osmnodeid_list; util::vector_view m_lane_description_offsets; @@ -242,7 +242,7 @@ class ContiguousInternalMemoryDataFacadeBase : public BaseDataFacade void InitializeChecksumPointer(const storage::DataLayout &data_layout, char *memory_block) { - m_check_sum = *data_layout.GetBlockPtr(memory_block, "/ch/checksum"); + m_check_sum = *data_layout.GetBlockPtr(memory_block, "/common/connectivity_checksum"); util::Log() << "set checksum: " << m_check_sum; } @@ -779,7 +779,7 @@ class ContiguousInternalMemoryDataFacadeBase : public BaseDataFacade input_coordinate, bearing, bearing_range, approach); } - unsigned GetCheckSum() const override final { return m_check_sum; } + std::uint32_t GetCheckSum() const override final { return m_check_sum; } GeometryID GetGeometryIndex(const NodeID id) const override final { diff --git a/include/engine/datafacade/datafacade_base.hpp b/include/engine/datafacade/datafacade_base.hpp index 46d8e3350..ed40533c8 100644 --- a/include/engine/datafacade/datafacade_base.hpp +++ b/include/engine/datafacade/datafacade_base.hpp @@ -53,7 +53,7 @@ class BaseDataFacade BaseDataFacade() {} virtual ~BaseDataFacade() {} - virtual unsigned GetCheckSum() const = 0; + virtual std::uint32_t GetCheckSum() const = 0; // node and edge information access virtual util::Coordinate GetCoordinateOfNode(const NodeID id) const = 0; diff --git a/include/engine/datafacade_factory.hpp b/include/engine/datafacade_factory.hpp index bb313db90..44e1a1f85 100644 --- a/include/engine/datafacade_factory.hpp +++ b/include/engine/datafacade_factory.hpp @@ -57,6 +57,13 @@ template