diff --git a/Server/DataStructures/SharedDataFacade.h b/Server/DataStructures/SharedDataFacade.h index 0688656d5..89e8137cb 100644 --- a/Server/DataStructures/SharedDataFacade.h +++ b/Server/DataStructures/SharedDataFacade.h @@ -145,6 +145,13 @@ template class SharedDataFacade : public BaseDataFacade::vector>( coordinate_list_ptr, data_layout->num_entries[SharedDataLayout::COORDINATE_LIST]); + TravelMode *travel_mode_list_ptr = data_layout->GetBlockPtr( + shared_memory, SharedDataLayout::TRAVEL_MODE); + typename ShM::vector travel_mode_list( + travel_mode_list_ptr, + data_layout->num_entries[SharedDataLayout::TRAVEL_MODE]); + m_travel_mode_list.swap(travel_mode_list); + TurnInstruction *turn_instruction_list_ptr = data_layout->GetBlockPtr( shared_memory, SharedDataLayout::TURN_INSTRUCTION); typename ShM::vector turn_instruction_list( diff --git a/Server/DataStructures/SharedDataType.h b/Server/DataStructures/SharedDataType.h index e2351d8e9..a4a8d209b 100644 --- a/Server/DataStructures/SharedDataType.h +++ b/Server/DataStructures/SharedDataType.h @@ -50,6 +50,7 @@ struct SharedDataLayout GRAPH_EDGE_LIST, COORDINATE_LIST, TURN_INSTRUCTION, + TRAVEL_MODE, R_SEARCH_TREE, GEOMETRIES_INDEX, GEOMETRIES_LIST, @@ -82,6 +83,7 @@ struct SharedDataLayout SimpleLogger().Write(logDEBUG) << "timestamp_length: " << num_entries[TIMESTAMP]; SimpleLogger().Write(logDEBUG) << "coordinate_list_size: " << num_entries[COORDINATE_LIST]; SimpleLogger().Write(logDEBUG) << "turn_instruction_list_size: " << num_entries[TURN_INSTRUCTION]; + SimpleLogger().Write(logDEBUG) << "travel_mode_list_size: " << num_entries[TRAVEL_MODE]; SimpleLogger().Write(logDEBUG) << "r_search_tree_size: " << num_entries[R_SEARCH_TREE]; SimpleLogger().Write(logDEBUG) << "geometries_indicators: " << num_entries[GEOMETRIES_INDICATORS] << "/" << ((num_entries[GEOMETRIES_INDICATORS] / 8) + 1); @@ -98,6 +100,7 @@ struct SharedDataLayout SimpleLogger().Write(logDEBUG) << "GRAPH_EDGE_LIST " << ": " << GetBlockSize(GRAPH_EDGE_LIST ); SimpleLogger().Write(logDEBUG) << "COORDINATE_LIST " << ": " << GetBlockSize(COORDINATE_LIST ); SimpleLogger().Write(logDEBUG) << "TURN_INSTRUCTION " << ": " << GetBlockSize(TURN_INSTRUCTION ); + SimpleLogger().Write(logDEBUG) << "TRAVEL_MODE " << ": " << GetBlockSize(TRAVEL_MODE ); SimpleLogger().Write(logDEBUG) << "R_SEARCH_TREE " << ": " << GetBlockSize(R_SEARCH_TREE ); SimpleLogger().Write(logDEBUG) << "GEOMETRIES_INDEX " << ": " << GetBlockSize(GEOMETRIES_INDEX ); SimpleLogger().Write(logDEBUG) << "GEOMETRIES_LIST " << ": " << GetBlockSize(GEOMETRIES_LIST ); diff --git a/datastore.cpp b/datastore.cpp index 9df11ce00..c1804930c 100644 --- a/datastore.cpp +++ b/datastore.cpp @@ -267,6 +267,8 @@ int main(const int argc, const char *argv[]) number_of_original_edges); shared_layout_ptr->SetBlockSize(SharedDataLayout::NAME_ID_LIST, number_of_original_edges); + shared_layout_ptr->SetBlockSize(SharedDataLayout::TRAVEL_MODE, + number_of_original_edges); shared_layout_ptr->SetBlockSize(SharedDataLayout::TURN_INSTRUCTION, number_of_original_edges); // note: there are 32 geometry indicators in one unsigned block @@ -426,6 +428,10 @@ int main(const int argc, const char *argv[]) unsigned *name_id_ptr = shared_layout_ptr->GetBlockPtr( shared_memory_ptr, SharedDataLayout::NAME_ID_LIST); + TravelMode *travel_mode_ptr = + shared_layout_ptr->GetBlockPtr( + shared_memory_ptr, SharedDataLayout::TRAVEL_MODE); + TurnInstruction *turn_instructions_ptr = shared_layout_ptr->GetBlockPtr( shared_memory_ptr, SharedDataLayout::TURN_INSTRUCTION); @@ -439,6 +445,7 @@ int main(const int argc, const char *argv[]) edges_input_stream.read((char *)&(current_edge_data), sizeof(OriginalEdgeData)); via_node_ptr[i] = current_edge_data.via_node; name_id_ptr[i] = current_edge_data.name_id; + travel_mode_ptr[i] = current_edge_data.travel_mode; turn_instructions_ptr[i] = current_edge_data.turn_instruction; const unsigned bucket = i / 32;