2016-03-22 14:30:18 -04:00
|
|
|
#include "engine/engine_config.hpp"
|
|
|
|
|
|
|
|
namespace osrm
|
|
|
|
{
|
|
|
|
namespace engine
|
|
|
|
{
|
|
|
|
|
|
|
|
bool EngineConfig::IsValid() const
|
|
|
|
{
|
|
|
|
const bool all_path_are_empty =
|
|
|
|
storage_config.ram_index_path.empty() && storage_config.file_index_path.empty() &&
|
|
|
|
storage_config.hsgr_data_path.empty() && storage_config.nodes_data_path.empty() &&
|
|
|
|
storage_config.edges_data_path.empty() && storage_config.core_data_path.empty() &&
|
|
|
|
storage_config.geometries_path.empty() && storage_config.timestamp_path.empty() &&
|
|
|
|
storage_config.datasource_names_path.empty() &&
|
|
|
|
storage_config.datasource_indexes_path.empty() && storage_config.names_data_path.empty();
|
|
|
|
|
2016-09-12 05:47:22 -04:00
|
|
|
const auto unlimited_or_more_than = [](const int v, const int limit) {
|
|
|
|
return v == -1 || v > limit;
|
|
|
|
};
|
|
|
|
|
|
|
|
const bool limits_valid = unlimited_or_more_than(max_locations_distance_table, 2) &&
|
|
|
|
unlimited_or_more_than(max_locations_map_matching, 2) &&
|
|
|
|
unlimited_or_more_than(max_locations_trip, 2) &&
|
|
|
|
unlimited_or_more_than(max_locations_viaroute, 2) &&
|
|
|
|
unlimited_or_more_than(max_results_nearest, 0);
|
2016-03-22 14:30:18 -04:00
|
|
|
|
|
|
|
return ((use_shared_memory && all_path_are_empty) || storage_config.IsValid()) && limits_valid;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|