mirror of
https://github.com/badaix/snapcast.git
synced 2025-05-12 16:46:42 +02:00
timeMsg double
git-svn-id: svn://elaine/murooma/trunk@265 d8a302eb-03bc-478d-80e4-98257eca68ef
This commit is contained in:
parent
c0dde672ce
commit
92152aea48
3 changed files with 8 additions and 7 deletions
|
@ -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";
|
||||||
|
|
|
@ -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));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue