| // 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 "quiche/quic/core/quic_clock.h" | 
 |  | 
 | #include <limits> | 
 |  | 
 | #include "quiche/quic/platform/api/quic_logging.h" | 
 |  | 
 | namespace quic { | 
 |  | 
 | QuicTime QuicClock::ConvertWallTimeToQuicTime( | 
 |     const QuicWallTime& walltime) const { | 
 |  | 
 |   //     .......................... | 
 |   //     |            |           | | 
 |   // unix epoch   |walltime|   WallNow() | 
 |   //     .......................... | 
 |   //            |     |           | | 
 |   //     clock epoch  |         Now() | 
 |   //               result | 
 |   // | 
 |   // result = Now() - (WallNow() - walltime) | 
 |   return Now() - QuicTime::Delta::FromMicroseconds( | 
 |                      WallNow() | 
 |                          .Subtract(QuicTime::Delta::FromMicroseconds( | 
 |                              walltime.ToUNIXMicroseconds())) | 
 |                          .ToUNIXMicroseconds()); | 
 | } | 
 |  | 
 | }  // namespace quic |