mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 14:26:09 +03:00
40 lines
1.3 KiB
C++
40 lines
1.3 KiB
C++
|
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style license that can be
|
||
|
// found in the LICENSE file.
|
||
|
|
||
|
#include "net/quic/platform/impl/quic_chromium_clock.h"
|
||
|
|
||
|
#include "base/memory/singleton.h"
|
||
|
#include "base/time/time.h"
|
||
|
|
||
|
namespace net {
|
||
|
|
||
|
QuicChromiumClock* QuicChromiumClock::GetInstance() {
|
||
|
return base::Singleton<QuicChromiumClock>::get();
|
||
|
}
|
||
|
QuicChromiumClock::QuicChromiumClock() {}
|
||
|
|
||
|
QuicChromiumClock::~QuicChromiumClock() {}
|
||
|
|
||
|
QuicTime QuicChromiumClock::ApproximateNow() const {
|
||
|
// At the moment, Chrome does not have a distinct notion of ApproximateNow().
|
||
|
// We should consider implementing this using MessageLoop::recent_time_.
|
||
|
return Now();
|
||
|
}
|
||
|
|
||
|
QuicTime QuicChromiumClock::Now() const {
|
||
|
int64_t ticks = (base::TimeTicks::Now() - base::TimeTicks()).InMicroseconds();
|
||
|
DCHECK_GE(ticks, 0);
|
||
|
return CreateTimeFromMicroseconds(ticks);
|
||
|
}
|
||
|
|
||
|
QuicWallTime QuicChromiumClock::WallNow() const {
|
||
|
const base::TimeDelta time_since_unix_epoch =
|
||
|
base::Time::Now() - base::Time::UnixEpoch();
|
||
|
int64_t time_since_unix_epoch_micro = time_since_unix_epoch.InMicroseconds();
|
||
|
DCHECK_GE(time_since_unix_epoch_micro, 0);
|
||
|
return QuicWallTime::FromUNIXMicroseconds(time_since_unix_epoch_micro);
|
||
|
}
|
||
|
|
||
|
} // namespace net
|