timeMsg double

git-svn-id: svn://elaine/murooma/trunk@265 d8a302eb-03bc-478d-80e4-98257eca68ef
This commit is contained in:
(no author) 2014-09-15 06:27:36 +00:00
parent c0dde672ce
commit 92152aea48
3 changed files with 8 additions and 7 deletions

View file

@ -113,7 +113,7 @@ void Controller::worker()
//cout << "Reply: " << reply->response->type << ", size: " << reply->response->size << ", sent: " << reply->response->sent.sec << "," << reply->response->sent.usec << ", recv: " << reply->response->received.sec << "," << reply->response->received.usec << "\n"; //cout << "Reply: " << reply->response->type << ", size: " << reply->response->size << ", sent: " << reply->response->sent.sec << "," << reply->response->sent.usec << ", recv: " << reply->response->received.sec << "," << reply->response->received.usec << "\n";
TimeMsg timeMsg; TimeMsg timeMsg;
timeMsg.deserialize(*reply->response, reply->buffer); timeMsg.deserialize(*reply->response, reply->buffer);
long latency = (timeMsg.received.sec - timeMsg.sent.sec) * 1000000 + (timeMsg.received.usec - timeMsg.sent.usec); double latency = (timeMsg.received.sec - timeMsg.sent.sec) + (timeMsg.received.usec - timeMsg.sent.usec) / 1000000.;
cout << "C2S: " << timeMsg.latency << ", S2C: " << latency << ", diff: " << (timeMsg.latency - latency) / 2 << endl; cout << "C2S: " << timeMsg.latency << ", S2C: " << latency << ", diff: " << (timeMsg.latency - latency) / 2 << endl;
timeBuffer.add((timeMsg.latency - latency) / 2); timeBuffer.add((timeMsg.latency - latency) / 2);
cout << timeBuffer.median() << "\n"; cout << timeBuffer.median() << "\n";

View file

@ -17,7 +17,7 @@ public:
virtual void read(std::istream& stream) virtual void read(std::istream& stream)
{ {
stream.read(reinterpret_cast<char *>(&latency), sizeof(int32_t)); stream.read(reinterpret_cast<char *>(&latency), sizeof(double));
} }
virtual uint32_t getSize() virtual uint32_t getSize()
@ -25,12 +25,12 @@ public:
return sizeof(int32_t); return sizeof(int32_t);
} }
int32_t latency; double latency;
protected: protected:
virtual void doserialize(std::ostream& stream) virtual void doserialize(std::ostream& stream)
{ {
stream.write(reinterpret_cast<char *>(&latency), sizeof(int32_t)); stream.write(reinterpret_cast<char *>(&latency), sizeof(double));
} }
}; };

View file

@ -15,9 +15,10 @@ void ControlServer::onMessageReceived(SocketConnection* connection, const BaseMe
{ {
TimeMsg timeMsg; TimeMsg timeMsg;
timeMsg.deserialize(baseMessage, buffer); timeMsg.deserialize(baseMessage, buffer);
timeMsg.latency = (timeMsg.received.sec - timeMsg.sent.sec) * 1000000 + (timeMsg.received.usec - timeMsg.sent.usec); // timeMsg.latency = (timeMsg.received.sec - timeMsg.sent.sec) * 1000000 + (timeMsg.received.usec - timeMsg.sent.usec);
tv diff = timeMsg.received - timeMsg.sent; timeMsg.latency = (timeMsg.received.sec - timeMsg.sent.sec) + (timeMsg.received.usec - timeMsg.sent.usec) / 1000000.;
cout << "Latency: " << diff.sec << "." << diff.usec << "\n"; // tv diff = timeMsg.received - timeMsg.sent;
// cout << "Latency: " << diff.sec << "." << diff.usec << "\n";
timeMsg.refersTo = timeMsg.id; timeMsg.refersTo = timeMsg.id;
connection->send(&timeMsg); connection->send(&timeMsg);
} }