Check all streams
This commit is contained in:
parent
87fbfc6475
commit
39b3cab1da
@ -257,7 +257,7 @@ class InternalDataFacade final : public BaseDataFacade
|
|||||||
std::string name;
|
std::string name;
|
||||||
while (std::getline(datasourcenames_stream, name))
|
while (std::getline(datasourcenames_stream, name))
|
||||||
{
|
{
|
||||||
m_datasource_names.push_back(name);
|
m_datasource_names.push_back(std::move(name));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -697,6 +697,7 @@ class SharedDataFacade final : public BaseDataFacade
|
|||||||
BOOST_ASSERT(m_datasource_name_offsets.size() > datasource_name_id);
|
BOOST_ASSERT(m_datasource_name_offsets.size() > datasource_name_id);
|
||||||
|
|
||||||
std::string result;
|
std::string result;
|
||||||
|
result.reserve(m_datasource_name_lengths[datasource_name_id]);
|
||||||
std::copy(m_datasource_name_data.begin() + m_datasource_name_offsets[datasource_name_id],
|
std::copy(m_datasource_name_data.begin() + m_datasource_name_offsets[datasource_name_id],
|
||||||
m_datasource_name_data.begin() + m_datasource_name_offsets[datasource_name_id] +
|
m_datasource_name_data.begin() + m_datasource_name_offsets[datasource_name_id] +
|
||||||
m_datasource_name_lengths[datasource_name_id],
|
m_datasource_name_lengths[datasource_name_id],
|
||||||
|
@ -132,6 +132,10 @@ int Storage::Run()
|
|||||||
util::SimpleLogger().Write() << "load names from: " << config.names_data_path;
|
util::SimpleLogger().Write() << "load names from: " << config.names_data_path;
|
||||||
// number of entries in name index
|
// number of entries in name index
|
||||||
boost::filesystem::ifstream name_stream(config.names_data_path, std::ios::binary);
|
boost::filesystem::ifstream name_stream(config.names_data_path, std::ios::binary);
|
||||||
|
if (!name_stream)
|
||||||
|
{
|
||||||
|
throw util::exception("Could not open " + config.names_data_path.string() + " for reading.");
|
||||||
|
}
|
||||||
unsigned name_blocks = 0;
|
unsigned name_blocks = 0;
|
||||||
name_stream.read((char *)&name_blocks, sizeof(unsigned));
|
name_stream.read((char *)&name_blocks, sizeof(unsigned));
|
||||||
shared_layout_ptr->SetBlockSize<unsigned>(SharedDataLayout::NAME_OFFSETS, name_blocks);
|
shared_layout_ptr->SetBlockSize<unsigned>(SharedDataLayout::NAME_OFFSETS, name_blocks);
|
||||||
@ -146,6 +150,10 @@ int Storage::Run()
|
|||||||
|
|
||||||
// Loading information for original edges
|
// Loading information for original edges
|
||||||
boost::filesystem::ifstream edges_input_stream(config.edges_data_path, std::ios::binary);
|
boost::filesystem::ifstream edges_input_stream(config.edges_data_path, std::ios::binary);
|
||||||
|
if (!edges_input_stream)
|
||||||
|
{
|
||||||
|
throw util::exception("Could not open " + config.edges_data_path.string() + " for reading.");
|
||||||
|
}
|
||||||
unsigned number_of_original_edges = 0;
|
unsigned number_of_original_edges = 0;
|
||||||
edges_input_stream.read((char *)&number_of_original_edges, sizeof(unsigned));
|
edges_input_stream.read((char *)&number_of_original_edges, sizeof(unsigned));
|
||||||
|
|
||||||
@ -160,6 +168,10 @@ int Storage::Run()
|
|||||||
SharedDataLayout::TURN_INSTRUCTION, number_of_original_edges);
|
SharedDataLayout::TURN_INSTRUCTION, number_of_original_edges);
|
||||||
|
|
||||||
boost::filesystem::ifstream hsgr_input_stream(config.hsgr_data_path, std::ios::binary);
|
boost::filesystem::ifstream hsgr_input_stream(config.hsgr_data_path, std::ios::binary);
|
||||||
|
if (!hsgr_input_stream)
|
||||||
|
{
|
||||||
|
throw util::exception("Could not open " + config.hsgr_data_path.string() + " for reading.");
|
||||||
|
}
|
||||||
|
|
||||||
util::FingerPrint fingerprint_valid = util::FingerPrint::GetValid();
|
util::FingerPrint fingerprint_valid = util::FingerPrint::GetValid();
|
||||||
util::FingerPrint fingerprint_loaded;
|
util::FingerPrint fingerprint_loaded;
|
||||||
@ -230,6 +242,10 @@ int Storage::Run()
|
|||||||
|
|
||||||
// load core marker size
|
// load core marker size
|
||||||
boost::filesystem::ifstream core_marker_file(config.core_data_path, std::ios::binary);
|
boost::filesystem::ifstream core_marker_file(config.core_data_path, std::ios::binary);
|
||||||
|
if (!core_marker_file)
|
||||||
|
{
|
||||||
|
throw util::exception("Could not open " + config.core_data_path.string() + " for reading.");
|
||||||
|
}
|
||||||
|
|
||||||
uint32_t number_of_core_markers = 0;
|
uint32_t number_of_core_markers = 0;
|
||||||
core_marker_file.read((char *)&number_of_core_markers, sizeof(uint32_t));
|
core_marker_file.read((char *)&number_of_core_markers, sizeof(uint32_t));
|
||||||
@ -238,6 +254,10 @@ int Storage::Run()
|
|||||||
|
|
||||||
// load coordinate size
|
// load coordinate size
|
||||||
boost::filesystem::ifstream nodes_input_stream(config.nodes_data_path, std::ios::binary);
|
boost::filesystem::ifstream nodes_input_stream(config.nodes_data_path, std::ios::binary);
|
||||||
|
if (!nodes_input_stream)
|
||||||
|
{
|
||||||
|
throw util::exception("Could not open " + config.core_data_path.string() + " for reading.");
|
||||||
|
}
|
||||||
unsigned coordinate_list_size = 0;
|
unsigned coordinate_list_size = 0;
|
||||||
nodes_input_stream.read((char *)&coordinate_list_size, sizeof(unsigned));
|
nodes_input_stream.read((char *)&coordinate_list_size, sizeof(unsigned));
|
||||||
shared_layout_ptr->SetBlockSize<util::Coordinate>(SharedDataLayout::COORDINATE_LIST,
|
shared_layout_ptr->SetBlockSize<util::Coordinate>(SharedDataLayout::COORDINATE_LIST,
|
||||||
@ -245,6 +265,10 @@ int Storage::Run()
|
|||||||
|
|
||||||
// load geometries sizes
|
// load geometries sizes
|
||||||
boost::filesystem::ifstream geometry_input_stream(config.geometries_path, std::ios::binary);
|
boost::filesystem::ifstream geometry_input_stream(config.geometries_path, std::ios::binary);
|
||||||
|
if (!geometry_input_stream)
|
||||||
|
{
|
||||||
|
throw util::exception("Could not open " + config.geometries_path.string() + " for reading.");
|
||||||
|
}
|
||||||
unsigned number_of_geometries_indices = 0;
|
unsigned number_of_geometries_indices = 0;
|
||||||
unsigned number_of_compressed_geometries = 0;
|
unsigned number_of_compressed_geometries = 0;
|
||||||
|
|
||||||
@ -261,6 +285,10 @@ int Storage::Run()
|
|||||||
// exist.
|
// exist.
|
||||||
boost::filesystem::ifstream geometry_datasource_input_stream(config.datasource_indexes_path,
|
boost::filesystem::ifstream geometry_datasource_input_stream(config.datasource_indexes_path,
|
||||||
std::ios::binary);
|
std::ios::binary);
|
||||||
|
if (!geometry_datasource_input_stream)
|
||||||
|
{
|
||||||
|
throw util::exception("Could not open " + config.datasource_indexes_path.string() + " for reading.");
|
||||||
|
}
|
||||||
std::size_t number_of_compressed_datasources = 0;
|
std::size_t number_of_compressed_datasources = 0;
|
||||||
if (geometry_datasource_input_stream)
|
if (geometry_datasource_input_stream)
|
||||||
{
|
{
|
||||||
@ -274,6 +302,10 @@ int Storage::Run()
|
|||||||
// exist
|
// exist
|
||||||
boost::filesystem::ifstream datasource_names_input_stream(config.datasource_names_path,
|
boost::filesystem::ifstream datasource_names_input_stream(config.datasource_names_path,
|
||||||
std::ios::binary);
|
std::ios::binary);
|
||||||
|
if (!datasource_names_input_stream)
|
||||||
|
{
|
||||||
|
throw util::exception("Could not open " + config.datasource_names_path.string() + " for reading.");
|
||||||
|
}
|
||||||
std::vector<char> m_datasource_name_data;
|
std::vector<char> m_datasource_name_data;
|
||||||
std::vector<std::size_t> m_datasource_name_offsets;
|
std::vector<std::size_t> m_datasource_name_offsets;
|
||||||
std::vector<std::size_t> m_datasource_name_lengths;
|
std::vector<std::size_t> m_datasource_name_lengths;
|
||||||
|
Loading…
Reference in New Issue
Block a user