Merge branch 'max_locations_distance_table' of https://github.com/frodrigo/osrm-backend into frodrigo-max_locations_distance_table
Conflicts: Library/OSRM.h Library/OSRM_impl.cpp Library/OSRM_impl.h
This commit is contained in:
+2
-2
@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#ifndef OSRM_H
|
||||
#define OSRM_H
|
||||
|
||||
#include <osrm/server_paths.hpp>
|
||||
#include <osrm/ServerConfig.h>
|
||||
|
||||
#include <memory>
|
||||
|
||||
@@ -46,7 +46,7 @@ class OSRM
|
||||
std::unique_ptr<OSRM_impl> OSRM_pimpl_;
|
||||
|
||||
public:
|
||||
explicit OSRM(ServerPaths paths, const bool use_shared_memory = false);
|
||||
explicit OSRM(ServerConfig serverConfig);
|
||||
~OSRM();
|
||||
int RunQuery(RouteParameters &route_parameters, JSON::Object &json_result);
|
||||
};
|
||||
|
||||
@@ -49,16 +49,15 @@ namespace boost { namespace interprocess { class named_mutex; } }
|
||||
#include <boost/interprocess/sync/scoped_lock.hpp>
|
||||
|
||||
#include <osrm/route_parameters.hpp>
|
||||
#include <osrm/server_paths.hpp>
|
||||
|
||||
#include <algorithm>
|
||||
#include <fstream>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
OSRM_impl::OSRM_impl(ServerPaths server_paths, const bool use_shared_memory)
|
||||
OSRM_impl::OSRM_impl(ServerConfig &serverConfig)
|
||||
{
|
||||
if (use_shared_memory)
|
||||
if (serverConfig.use_shared_memory)
|
||||
{
|
||||
barrier = osrm::make_unique<SharedBarriers>();
|
||||
query_data_facade = new SharedDataFacade<QueryEdge::EdgeData>();
|
||||
@@ -66,12 +65,13 @@ OSRM_impl::OSRM_impl(ServerPaths server_paths, const bool use_shared_memory)
|
||||
else
|
||||
{
|
||||
// populate base path
|
||||
populate_base_path(server_paths);
|
||||
query_data_facade = new InternalDataFacade<QueryEdge::EdgeData>(server_paths);
|
||||
populate_base_path(serverConfig.server_paths);
|
||||
query_data_facade = new InternalDataFacade<QueryEdge::EdgeData>(serverConfig.server_paths);
|
||||
}
|
||||
|
||||
// The following plugins handle all requests.
|
||||
RegisterPlugin(new DistanceTablePlugin<BaseDataFacade<QueryEdge::EdgeData>>(query_data_facade));
|
||||
RegisterPlugin(new DistanceTablePlugin<BaseDataFacade<QueryEdge::EdgeData>>(query_data_facade,
|
||||
serverConfig.max_locations_distance_table));
|
||||
RegisterPlugin(new HelloWorldPlugin());
|
||||
RegisterPlugin(new LocatePlugin<BaseDataFacade<QueryEdge::EdgeData>>(query_data_facade));
|
||||
RegisterPlugin(new NearestPlugin<BaseDataFacade<QueryEdge::EdgeData>>(query_data_facade));
|
||||
@@ -151,8 +151,8 @@ int OSRM_impl::RunQuery(RouteParameters &route_parameters, JSON::Object &json_re
|
||||
|
||||
// proxy code for compilation firewall
|
||||
|
||||
OSRM::OSRM(ServerPaths paths, const bool use_shared_memory)
|
||||
: OSRM_pimpl_(osrm::make_unique<OSRM_impl>(paths, use_shared_memory))
|
||||
OSRM::OSRM(ServerConfig server_config)
|
||||
: OSRM_pimpl_(osrm::make_unique<OSRM_impl>(server_config))
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -32,11 +32,11 @@ class BasePlugin;
|
||||
namespace http { class Reply; }
|
||||
struct RouteParameters;
|
||||
|
||||
#include <osrm/json_container.hpp>
|
||||
#include <osrm/server_paths.hpp>
|
||||
|
||||
#include "../data_structures/query_edge.hpp"
|
||||
|
||||
#include <osrm/json_container.hpp>
|
||||
#include <osrm/ServerConfig.h>
|
||||
|
||||
#include <memory>
|
||||
#include <unordered_map>
|
||||
#include <string>
|
||||
@@ -50,7 +50,7 @@ class OSRM_impl
|
||||
using PluginMap = std::unordered_map<std::string, BasePlugin *>;
|
||||
|
||||
public:
|
||||
OSRM_impl(ServerPaths paths, const bool use_shared_memory);
|
||||
OSRM_impl(ServerConfig &serverConfig);
|
||||
OSRM_impl(const OSRM_impl &) = delete;
|
||||
virtual ~OSRM_impl();
|
||||
int RunQuery(RouteParameters &route_parameters, JSON::Object &json_result);
|
||||
|
||||
Reference in New Issue
Block a user