Port maneuver overrides to tar

This commit is contained in:
Patrick Niklaus 2018-03-19 14:54:27 +00:00
parent 5d7d5fceba
commit 73b3d37837
3 changed files with 11 additions and 35 deletions

View File

@ -299,10 +299,11 @@ inline void readManeuverOverrides(const boost::filesystem::path &path,
StorageManeuverOverrideT &maneuver_overrides,
NodeSequencesT &node_sequences)
{
const auto fingerprint = storage::io::FileReader::VerifyFingerprint;
storage::io::FileReader reader{path, fingerprint};
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
storage::tar::FileReader reader{path, fingerprint};
serialization::read(reader, maneuver_overrides, node_sequences);
storage::serialization::read(reader, "/common/maneuver_overrides/overrides", maneuver_overrides);
storage::serialization::read(reader, "/common/maneuver_overrides/node_sequences", node_sequences);
}
// writes .osrm.maneuver_overrides
@ -310,10 +311,11 @@ inline void writeManeuverOverrides(const boost::filesystem::path &path,
const std::vector<StorageManeuverOverride> &maneuver_overrides,
const std::vector<NodeID> &node_sequences)
{
const auto fingerprint = storage::io::FileWriter::GenerateFingerprint;
storage::io::FileWriter writer{path, fingerprint};
const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint;
storage::tar::FileWriter writer{path, fingerprint};
serialization::write(writer, maneuver_overrides, node_sequences);
storage::serialization::write(writer, "/common/maneuver_overrides/overrides", maneuver_overrides);
storage::serialization::write(writer, "/common/maneuver_overrides/node_sequences", node_sequences);
}
}
}

View File

@ -314,22 +314,6 @@ inline void read(storage::io::FileReader &reader,
read(reader, penalty);
}
inline void write(storage::io::FileWriter &writer,
const std::vector<StorageManeuverOverride> &maneuver_overrides,
const std::vector<NodeID> &node_sequences)
{
storage::serialization::write(writer, maneuver_overrides);
storage::serialization::write(writer, node_sequences);
}
template <typename ManeuverOverridesT, typename NodeSequenceT>
inline void read(storage::io::FileReader &reader,
ManeuverOverridesT &maneuver_overrides,
NodeSequenceT &node_sequences)
{
storage::serialization::read(reader, maneuver_overrides);
storage::serialization::read(reader, node_sequences);
}
}
}
}

View File

@ -307,19 +307,6 @@ void Storage::PopulateLayout(DataLayout &layout)
make_block<TurnPenalty>(number_of_penalties));
}
// load maneuver overrides
{
io::FileReader maneuver_overrides_file(config.GetPath(".osrm.maneuver_overrides"),
io::FileReader::VerifyFingerprint);
const auto number_of_overrides =
maneuver_overrides_file.ReadVectorSize<extractor::StorageManeuverOverride>();
layout.SetBlock(DataLayout::MANEUVER_OVERRIDES,
make_block<extractor::StorageManeuverOverride>(number_of_overrides));
const auto number_of_nodes = maneuver_overrides_file.ReadVectorSize<NodeID>();
layout.SetBlock(DataLayout::MANEUVER_OVERRIDE_NODE_SEQUENCES,
make_block<NodeID>(number_of_nodes));
}
std::unordered_map<std::string, DataLayout::BlockID> name_to_block_id = {
{"/mld/multilevelgraph/node_array", DataLayout::MLD_GRAPH_NODE_LIST},
{"/mld/multilevelgraph/edge_array", DataLayout::MLD_GRAPH_EDGE_LIST},
@ -382,6 +369,8 @@ void Storage::PopulateLayout(DataLayout &layout)
{"/common/turn_lanes/offsets", DataLayout::LANE_DESCRIPTION_OFFSETS},
{"/common/turn_lanes/masks", DataLayout::LANE_DESCRIPTION_MASKS},
{"/common/turn_lanes/data", DataLayout::TURN_LANE_DATA},
{"/common/maneuver_overrides/overrides", DataLayout::MANEUVER_OVERRIDES},
{"/common/maneuver_overrides/node_sequences", DataLayout::MANEUVER_OVERRIDE_NODE_SEQUENCES},
};
std::vector<NamedBlock> blocks;
@ -401,6 +390,7 @@ void Storage::PopulateLayout(DataLayout &layout)
{REQUIRED, config.GetPath(".osrm.ebg_nodes")},
{REQUIRED, config.GetPath(".osrm.tls")},
{REQUIRED, config.GetPath(".osrm.tld")},
{REQUIRED, config.GetPath(".osrm.maneuver_overrides")},
};
for (const auto &file : tar_files)