mirror of
https://github.com/badaix/snapcast.git
synced 2025-08-01 23:59:43 +02:00
33 lines
577 B
C++
33 lines
577 B
C++
#ifndef TIME_PROVIDER_H
|
|
#define TIME_PROVIDER_H
|
|
|
|
#include <atomic>
|
|
#include "doubleBuffer.h"
|
|
|
|
class TimeProvider
|
|
{
|
|
public:
|
|
static TimeProvider& getInstance()
|
|
{
|
|
static TimeProvider instance;
|
|
return instance;
|
|
}
|
|
|
|
void setDiffToServer(double ms);
|
|
long getDiffToServer();
|
|
long getPercentileDiffToServer(size_t percentile);
|
|
long getDiffToServerMs();
|
|
|
|
private:
|
|
TimeProvider();
|
|
TimeProvider(TimeProvider const&); // Don't Implement
|
|
void operator=(TimeProvider const&); // Don't implement
|
|
|
|
DoubleBuffer<long> diffBuffer;
|
|
std::atomic<long> diffToServer;
|
|
};
|
|
|
|
|
|
#endif
|
|
|
|
|