From 1744e69214c99be5f8ee5d9fa9b2964b73b6489f Mon Sep 17 00:00:00 2001 From: DennisOSRM Date: Fri, 17 Feb 2012 08:34:52 +0100 Subject: [PATCH] checksum is transmitted to the client. --- Descriptors/JSONDescriptor.h | 11 ++++++++--- Plugins/RawRouteData.h | 1 + Plugins/ViaRoutePlugin.h | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Descriptors/JSONDescriptor.h b/Descriptors/JSONDescriptor.h index 275f629d3..37e2aabc6 100644 --- a/Descriptors/JSONDescriptor.h +++ b/Descriptors/JSONDescriptor.h @@ -151,8 +151,8 @@ public: reply.content += "],"; //list all viapoints so that the client may display it reply.content += "\"via_points\":["; + std::string tmp; if(true == config.geometry) { - std::string tmp; for(unsigned segmentIdx = 1; segmentIdx < rawRoute.segmentEndCoordinates.size(); ++segmentIdx) { if(segmentIdx > 1) reply.content += ","; @@ -166,8 +166,13 @@ public: reply.content += "]"; } } - reply.content += "]," - "\"transactionId\": \"OSRM Routing Engine JSON Descriptor (v0.3)\""; + reply.content += "],"; + reply.content += "\"route_data\": {"; + reply.content += "\"checksum\":"; + intToString(rawRoute.checkSum, tmp); + reply.content += tmp; + reply.content += "},"; + reply.content += "\"transactionId\": \"OSRM Routing Engine JSON Descriptor (v0.3)\""; reply.content += "}"; } diff --git a/Plugins/RawRouteData.h b/Plugins/RawRouteData.h index 8ace4070c..4a6f53a43 100644 --- a/Plugins/RawRouteData.h +++ b/Plugins/RawRouteData.h @@ -25,6 +25,7 @@ struct RawRouteData { std::vector< _PathData > computedRouted; std::vector< PhantomNodes > segmentEndCoordinates; std::vector< _Coordinate > rawViaNodeCoordinates; + unsigned checkSum; }; #endif /* RAWROUTEDATA_H_ */ diff --git a/Plugins/ViaRoutePlugin.h b/Plugins/ViaRoutePlugin.h index 8ddb4a017..d5ba127cb 100644 --- a/Plugins/ViaRoutePlugin.h +++ b/Plugins/ViaRoutePlugin.h @@ -94,7 +94,7 @@ public: _Coordinate startCoord(lat1, lon1); _Coordinate targetCoord(lat2, lon2); RawRouteData rawRoute; - + rawRoute.checkSum = nodeHelpDesk->GetCheckSum(); if(false == checkCoord(startCoord) || false == checkCoord(targetCoord)) { reply = http::Reply::stockReply(http::Reply::badRequest); return; @@ -152,7 +152,7 @@ public: std::string JSONParameter = routeParameters.options.Find("jsonp"); if("" != JSONParameter) { reply.content += JSONParameter; - reply.content += "(\n"; + reply.content += "("; } _DescriptorConfig descriptorConfig;