Load timestamp string from file

This commit is contained in:
DennisOSRM 2012-05-15 14:28:13 +02:00
parent 358f12d910
commit 6769f83d5b
4 changed files with 17 additions and 14 deletions

View File

@ -28,8 +28,7 @@ or see http://www.gnu.org/licenses/agpl.txt.
class TimestampPlugin : public BasePlugin {
public:
TimestampPlugin(QueryObjectsStorage * objects) {
nodeHelpDesk = objects->nodeHelpDesk;
TimestampPlugin(QueryObjectsStorage * o) : objects(o) {
}
std::string GetDescriptor() const { return std::string("timestamp"); }
std::string GetVersionString() const { return std::string("0.3 (DL)"); }
@ -50,7 +49,7 @@ public:
reply.content += ("\"status\":");
reply.content += "0,";
reply.content += ("\"timestamp\":\"");
reply.content += "n/a";
reply.content += objects->timestamp;
reply.content += "\"";
reply.content += ",\"transactionId\":\"OSRM Routing Engine JSON timestamp (v0.3)\"";
reply.content += ("}");
@ -72,14 +71,7 @@ public:
reply.headers[0].value = tmp;
}
private:
inline bool checkCoord(const _Coordinate & c) {
if(c.lat > 90*100000 || c.lat < -90*100000 || c.lon > 180*100000 || c.lon <-180*100000) {
return false;
}
return true;
}
NodeInformationHelpDesk * nodeHelpDesk;
QueryObjectsStorage * objects;
};
#endif /* TIMESTAMPPLUGIN_H_ */

View File

@ -22,7 +22,7 @@ or see http://www.gnu.org/licenses/agpl.txt.
#include "QueryObjectsStorage.h"
#include "../../Util/GraphLoader.h"
QueryObjectsStorage::QueryObjectsStorage(std::string hsgrPath, std::string ramIndexPath, std::string fileIndexPath, std::string nodesPath, std::string edgesPath, std::string namesPath, std::string psd) {
QueryObjectsStorage::QueryObjectsStorage(std::string hsgrPath, std::string ramIndexPath, std::string fileIndexPath, std::string nodesPath, std::string edgesPath, std::string namesPath, std::string timestampPath, std::string psd) {
INFO("loading graph data");
std::ifstream hsgrInStream(hsgrPath.c_str(), std::ios::binary);
//Deserialize road network graph
@ -35,6 +35,14 @@ QueryObjectsStorage::QueryObjectsStorage(std::string hsgrPath, std::string ramIn
assert(0 == nodeList.size());
assert(0 == edgeList.size());
if(timestampPath.length()) {
INFO("Loading Timestamp")
std::ifstream timestampInStream(timestampPath.c_str());
getline(timestampInStream, timestamp);
timestampInStream.close();
}
if(!timestamp.length())
timestamp = "n/a";
INFO("Loading auxiliary information");
//Init nearest neighbor data structure

View File

@ -36,9 +36,10 @@ struct QueryObjectsStorage {
NodeInformationHelpDesk * nodeHelpDesk;
std::vector<std::string> names;
QueryGraph * graph;
std::string timestamp;
unsigned checkSum;
QueryObjectsStorage(std::string hsgrPath, std::string ramIndexPath, std::string fileIndexPath, std::string nodesPath, std::string edgesPath, std::string namesPath, std::string psd = "route");
QueryObjectsStorage(std::string hsgrPath, std::string ramIndexPath, std::string fileIndexPath, std::string nodesPath, std::string edgesPath, std::string namesPath, std::string timestampPath, std::string psd = "route");
~QueryObjectsStorage();
};

View File

@ -101,7 +101,9 @@ int main (int argc, char *argv[]) {
serverConfig.GetParameter("fileIndex"),
serverConfig.GetParameter("nodesData"),
serverConfig.GetParameter("edgesData"),
serverConfig.GetParameter("namesData"));
serverConfig.GetParameter("namesData"),
serverConfig.GetParameter("timestamp")
);
h.RegisterPlugin(new HelloWorldPlugin());