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:
Dennis Luxen
2015-01-08 14:49:10 +01:00
9 changed files with 101 additions and 32 deletions
+2 -2
View File
@@ -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);
};
+8 -8
View File
@@ -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
View File
@@ -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);