mirror of
https://github.com/badaix/snapcast.git
synced 2025-05-21 21:16:15 +02:00
git-svn-id: svn://elaine/murooma/trunk@284 d8a302eb-03bc-478d-80e4-98257eca68ef
This commit is contained in:
parent
7467141a14
commit
e33ffbd4e6
4 changed files with 11 additions and 5 deletions
|
@ -118,13 +118,13 @@ void Controller::worker()
|
|||
{
|
||||
while (active_)
|
||||
{
|
||||
usleep(1000000);
|
||||
usleep(500*1000);
|
||||
shared_ptr<TimeMsg> reply = clientConnection->sendReq<TimeMsg>(&timeReq, 1000);
|
||||
if (reply)
|
||||
{
|
||||
double latency = (reply->received.sec - reply->sent.sec) + (reply->received.usec - reply->sent.usec) / 1000000.;
|
||||
TimeProvider::getInstance().setDiffToServer((reply->latency - latency) * 1000 / 2);
|
||||
cout << TimeProvider::getInstance().getDiffToServer() << "\n";
|
||||
cout << "Median: " << TimeProvider::getInstance().getDiffToServer() << "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,13 +38,13 @@ public:
|
|||
return mean;
|
||||
}
|
||||
|
||||
T percentil(unsigned int percentil) const
|
||||
T percentile(unsigned int percentile) const
|
||||
{
|
||||
if (buffer.empty())
|
||||
return 0;
|
||||
std::deque<T> tmpBuffer(buffer.begin(), buffer.end());
|
||||
std::sort(tmpBuffer.begin(), tmpBuffer.end());
|
||||
return tmpBuffer[(size_t)(tmpBuffer.size() * ((float)percentil / (float)100))];
|
||||
return tmpBuffer[(size_t)(tmpBuffer.size() * ((float)percentile / (float)100))];
|
||||
}
|
||||
|
||||
inline bool full() const
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
TimeProvider::TimeProvider() : diffToServer(0)
|
||||
{
|
||||
diffBuffer.setSize(60);
|
||||
diffBuffer.setSize(120);
|
||||
}
|
||||
|
||||
|
||||
|
@ -26,4 +26,9 @@ long TimeProvider::getDiffToServerMs()
|
|||
}
|
||||
|
||||
|
||||
long TimeProvider::getPercentileDiffToServer(size_t percentile)
|
||||
{
|
||||
return diffBuffer.percentile(percentile);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ public:
|
|||
|
||||
void setDiffToServer(double ms);
|
||||
long getDiffToServer();
|
||||
long getPercentileDiffToServer(size_t percentile);
|
||||
long getDiffToServerMs();
|
||||
|
||||
private:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue