diff --git a/system_wrappers/include/clock.h b/system_wrappers/include/clock.h index f1fc11f172..3d292c8c70 100644 --- a/system_wrappers/include/clock.h +++ b/system_wrappers/include/clock.h @@ -32,17 +32,17 @@ class Clock { // Return a timestamp in milliseconds relative to some arbitrary source; the // source is fixed for this clock. - virtual int64_t TimeInMilliseconds() const = 0; + virtual int64_t TimeInMilliseconds() = 0; // Return a timestamp in microseconds relative to some arbitrary source; the // source is fixed for this clock. - virtual int64_t TimeInMicroseconds() const = 0; + virtual int64_t TimeInMicroseconds() = 0; // Retrieve an NTP absolute timestamp. - virtual NtpTime CurrentNtpTime() const = 0; + virtual NtpTime CurrentNtpTime() = 0; // Retrieve an NTP absolute timestamp in milliseconds. - virtual int64_t CurrentNtpInMilliseconds() const = 0; + virtual int64_t CurrentNtpInMilliseconds() = 0; // Converts an NTP timestamp to a millisecond timestamp. static int64_t NtpToMs(uint32_t seconds, uint32_t fractions) { @@ -61,17 +61,17 @@ class SimulatedClock : public Clock { // Return a timestamp in milliseconds relative to some arbitrary source; the // source is fixed for this clock. - int64_t TimeInMilliseconds() const override; + int64_t TimeInMilliseconds() override; // Return a timestamp in microseconds relative to some arbitrary source; the // source is fixed for this clock. - int64_t TimeInMicroseconds() const override; + int64_t TimeInMicroseconds() override; // Retrieve an NTP absolute timestamp. - NtpTime CurrentNtpTime() const override; + NtpTime CurrentNtpTime() override; // Converts an NTP timestamp to a millisecond timestamp. - int64_t CurrentNtpInMilliseconds() const override; + int64_t CurrentNtpInMilliseconds() override; // Advance the simulated clock with a given number of milliseconds or // microseconds. diff --git a/system_wrappers/source/clock.cc b/system_wrappers/source/clock.cc index 27624be783..a0acf40589 100644 --- a/system_wrappers/source/clock.cc +++ b/system_wrappers/source/clock.cc @@ -34,14 +34,14 @@ namespace webrtc { class RealTimeClock : public Clock { // Return a timestamp in milliseconds relative to some arbitrary source; the // source is fixed for this clock. - int64_t TimeInMilliseconds() const override { return rtc::TimeMillis(); } + int64_t TimeInMilliseconds() override { return rtc::TimeMillis(); } // Return a timestamp in microseconds relative to some arbitrary source; the // source is fixed for this clock. - int64_t TimeInMicroseconds() const override { return rtc::TimeMicros(); } + int64_t TimeInMicroseconds() override { return rtc::TimeMicros(); } // Retrieve an NTP absolute timestamp. - NtpTime CurrentNtpTime() const override { + NtpTime CurrentNtpTime() override { timeval tv = CurrentTimeVal(); double microseconds_in_seconds; uint32_t seconds; @@ -52,7 +52,7 @@ class RealTimeClock : public Clock { } // Retrieve an NTP absolute timestamp in milliseconds. - int64_t CurrentNtpInMilliseconds() const override { + int64_t CurrentNtpInMilliseconds() override { timeval tv = CurrentTimeVal(); uint32_t seconds; double microseconds_in_seconds; @@ -62,7 +62,7 @@ class RealTimeClock : public Clock { } protected: - virtual timeval CurrentTimeVal() const = 0; + virtual timeval CurrentTimeVal() = 0; static void Adjust(const timeval& tv, uint32_t* adjusted_s, @@ -87,7 +87,7 @@ class WinUwpRealTimeClock final : public RealTimeClock { ~WinUwpRealTimeClock() override {} protected: - timeval CurrentTimeVal() const override { + timeval CurrentTimeVal() override { // The rtc::SystemTimeNanos() method is already time offset from a base // epoch value and might as be synchronized against an NTP time server as // an added bonus. @@ -104,7 +104,7 @@ class WinUwpRealTimeClock final : public RealTimeClock { #elif defined(WEBRTC_WIN) // TODO(pbos): Consider modifying the implementation to synchronize itself -// against system time (update ref_point_, make it non-const) periodically to +// against system time (update ref_point_) periodically to // prevent clock drift. class WindowsRealTimeClock : public RealTimeClock { public: @@ -121,7 +121,7 @@ class WindowsRealTimeClock : public RealTimeClock { LARGE_INTEGER counter_ms; }; - timeval CurrentTimeVal() const override { + timeval CurrentTimeVal() override { const uint64_t FILETIME_1970 = 0x019db1ded53e8000; FILETIME StartTime; @@ -143,7 +143,7 @@ class WindowsRealTimeClock : public RealTimeClock { return tv; } - void GetTime(FILETIME* current_time) const { + void GetTime(FILETIME* current_time) { DWORD t; LARGE_INTEGER elapsed_ms; { @@ -197,10 +197,9 @@ class WindowsRealTimeClock : public RealTimeClock { return ref; } - // mutable as time-accessing functions are const. rtc::CriticalSection crit_; - mutable DWORD last_time_ms_; - mutable LONG num_timer_wraps_; + DWORD last_time_ms_; + LONG num_timer_wraps_; const ReferencePoint ref_point_; }; @@ -212,7 +211,7 @@ class UnixRealTimeClock : public RealTimeClock { ~UnixRealTimeClock() override {} protected: - timeval CurrentTimeVal() const override { + timeval CurrentTimeVal() override { struct timeval tv; struct timezone tz; tz.tz_minuteswest = 0; @@ -241,17 +240,17 @@ SimulatedClock::SimulatedClock(int64_t initial_time_us) SimulatedClock::~SimulatedClock() {} -int64_t SimulatedClock::TimeInMilliseconds() const { +int64_t SimulatedClock::TimeInMilliseconds() { ReadLockScoped synchronize(*lock_); return (time_us_ + 500) / 1000; } -int64_t SimulatedClock::TimeInMicroseconds() const { +int64_t SimulatedClock::TimeInMicroseconds() { ReadLockScoped synchronize(*lock_); return time_us_; } -NtpTime SimulatedClock::CurrentNtpTime() const { +NtpTime SimulatedClock::CurrentNtpTime() { int64_t now_ms = TimeInMilliseconds(); uint32_t seconds = (now_ms / 1000) + kNtpJan1970; uint32_t fractions = @@ -259,7 +258,7 @@ NtpTime SimulatedClock::CurrentNtpTime() const { return NtpTime(seconds, fractions); } -int64_t SimulatedClock::CurrentNtpInMilliseconds() const { +int64_t SimulatedClock::CurrentNtpInMilliseconds() { return TimeInMilliseconds() + 1000 * static_cast(kNtpJan1970); } diff --git a/test/drifting_clock.cc b/test/drifting_clock.cc index 5333e1de15..41ab2cf59e 100644 --- a/test/drifting_clock.cc +++ b/test/drifting_clock.cc @@ -31,15 +31,15 @@ float DriftingClock::Drift() const { return (now - start_time_) * drift_; } -int64_t DriftingClock::TimeInMilliseconds() const { +int64_t DriftingClock::TimeInMilliseconds() { return clock_->TimeInMilliseconds() + Drift() / 1000.; } -int64_t DriftingClock::TimeInMicroseconds() const { +int64_t DriftingClock::TimeInMicroseconds() { return clock_->TimeInMicroseconds() + Drift(); } -NtpTime DriftingClock::CurrentNtpTime() const { +NtpTime DriftingClock::CurrentNtpTime() { // NTP precision is 1/2^32 seconds, i.e. 2^32 ntp fractions = 1 second. const double kNtpFracPerMicroSecond = 4294.967296; // = 2^32 / 10^6 @@ -49,7 +49,7 @@ NtpTime DriftingClock::CurrentNtpTime() const { return NtpTime(total_fractions); } -int64_t DriftingClock::CurrentNtpInMilliseconds() const { +int64_t DriftingClock::CurrentNtpInMilliseconds() { return clock_->CurrentNtpInMilliseconds() + Drift() / 1000.; } } // namespace test diff --git a/test/drifting_clock.h b/test/drifting_clock.h index dba820b751..46e3c1b7a5 100644 --- a/test/drifting_clock.h +++ b/test/drifting_clock.h @@ -30,10 +30,10 @@ class DriftingClock : public Clock { static float PercentsFaster(float percent) { return 1.0f + percent / 100.0f; } static float PercentsSlower(float percent) { return 1.0f - percent / 100.0f; } - int64_t TimeInMilliseconds() const override; - int64_t TimeInMicroseconds() const override; - NtpTime CurrentNtpTime() const override; - int64_t CurrentNtpInMilliseconds() const override; + int64_t TimeInMilliseconds() override; + int64_t TimeInMicroseconds() override; + NtpTime CurrentNtpTime() override; + int64_t CurrentNtpInMilliseconds() override; private: float Drift() const;