Home | History | Annotate | Download | only in quic
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef NET_QUIC_QUIC_CLOCK_H_
      6 #define NET_QUIC_QUIC_CLOCK_H_
      7 
      8 #include "base/basictypes.h"
      9 #include "net/base/net_export.h"
     10 #include "net/quic/quic_time.h"
     11 
     12 namespace net {
     13 
     14 typedef double WallTime;
     15 
     16 // Clock to efficiently retrieve an approximately accurate time from an
     17 // EpollServer.
     18 class NET_EXPORT_PRIVATE QuicClock {
     19  public:
     20   QuicClock();
     21   virtual ~QuicClock();
     22 
     23   // Returns the approximate current time as a QuicTime object.
     24   virtual QuicTime ApproximateNow() const;
     25 
     26   // Returns the current time as a QuicTime object.
     27   // Note: this use significant resources please use only if needed.
     28   virtual QuicTime Now() const;
     29 
     30   // WallNow returns the current wall-time - a time that is consistent across
     31   // different clocks.
     32   virtual QuicWallTime WallNow() const;
     33 };
     34 
     35 }  // namespace net
     36 
     37 #endif  // NET_QUIC_QUIC_CLOCK_H_
     38