| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 # Copyright 2013 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 """WatchdogTimer timeout objects.""" | 
|  | 6 | 
|  | 7 import time | 
|  | 8 | 
|  | 9 | 
|  | 10 class WatchdogTimer(object): | 
|  | 11   """A resetable timeout-based watchdog. | 
|  | 12 | 
|  | 13   This object is threadsafe. | 
|  | 14   """ | 
|  | 15 | 
|  | 16   def __init__(self, timeout): | 
|  | 17     """Initializes the watchdog. | 
|  | 18 | 
|  | 19     Args: | 
|  | 20       timeout: The timeout in seconds. If timeout is None it will never timeout. | 
|  | 21     """ | 
|  | 22     self._start_time = time.time() | 
|  | 23     self._timeout = timeout | 
|  | 24 | 
|  | 25   def Reset(self): | 
|  | 26     """Resets the timeout countdown.""" | 
|  | 27     self._start_time = time.time() | 
|  | 28 | 
|  | 29   def GetElapsed(self): | 
|  | 30     """Returns the elapsed time of the watchdog.""" | 
|  | 31     return time.time() - self._start_time | 
|  | 32 | 
|  | 33   def GetRemaining(self): | 
|  | 34     """Returns the remaining time of the watchdog.""" | 
|  | 35     if self._timeout: | 
|  | 36       return self._timeout - self.GetElapsed() | 
|  | 37     else: | 
|  | 38       return None | 
|  | 39 | 
|  | 40   def IsTimedOut(self): | 
|  | 41     """Whether the watchdog has timed out. | 
|  | 42 | 
|  | 43     Returns: | 
|  | 44       True if the watchdog has timed out, False otherwise. | 
|  | 45     """ | 
|  | 46     remaining = self.GetRemaining() | 
|  | 47     return remaining is not None and remaining < 0 | 
| OLD | NEW | 
|---|