Makes the OSRM interface threadsafe.
Technically speaking we're changing the `libosrm` API. But since we're only lifting restrictions by marking the API threadsafe, we should be fine here.
This commit is contained in:
@@ -55,7 +55,7 @@ class Engine final
|
||||
// Needs to be public
|
||||
struct EngineLock;
|
||||
|
||||
explicit Engine(EngineConfig &config);
|
||||
explicit Engine(const EngineConfig &config);
|
||||
|
||||
Engine(Engine &&) noexcept;
|
||||
Engine &operator=(Engine &&) noexcept;
|
||||
@@ -63,12 +63,12 @@ class Engine final
|
||||
// Impl. in cpp since for unique_ptr of incomplete types
|
||||
~Engine();
|
||||
|
||||
Status Route(const api::RouteParameters ¶meters, util::json::Object &result);
|
||||
Status Table(const api::TableParameters ¶meters, util::json::Object &result);
|
||||
Status Nearest(const api::NearestParameters ¶meters, util::json::Object &result);
|
||||
Status Trip(const api::TripParameters ¶meters, util::json::Object &result);
|
||||
Status Match(const api::MatchParameters ¶meters, util::json::Object &result);
|
||||
Status Tile(const api::TileParameters ¶meters, std::string &result);
|
||||
Status Route(const api::RouteParameters ¶meters, util::json::Object &result) const;
|
||||
Status Table(const api::TableParameters ¶meters, util::json::Object &result) const;
|
||||
Status Nearest(const api::NearestParameters ¶meters, util::json::Object &result) const;
|
||||
Status Trip(const api::TripParameters ¶meters, util::json::Object &result) const;
|
||||
Status Match(const api::MatchParameters ¶meters, util::json::Object &result) const;
|
||||
Status Tile(const api::TileParameters ¶meters, std::string &result) const;
|
||||
|
||||
private:
|
||||
std::unique_ptr<EngineLock> lock;
|
||||
|
||||
Reference in New Issue
Block a user