| OLD | NEW |
| 1 # Copyright 2013 The Swarming Authors. All rights reserved. | 1 # Copyright 2013 The LUCI Authors. All rights reserved. |
| 2 # Use of this source code is governed under the Apache License, Version 2.0 that | 2 # Use of this source code is governed by the Apache v2.0 license that can be |
| 3 # can be found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Defines a dictionary that can evict least recently used items.""" | 5 """Defines a dictionary that can evict least recently used items.""" |
| 6 | 6 |
| 7 import collections | 7 import collections |
| 8 import json | 8 import json |
| 9 | 9 |
| 10 | 10 |
| 11 class LRUDict(object): | 11 class LRUDict(object): |
| 12 """Dictionary that can evict least recently used items. | 12 """Dictionary that can evict least recently used items. |
| 13 | 13 |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 | 136 |
| 137 Raises KeyError if dict is empty. | 137 Raises KeyError if dict is empty. |
| 138 """ | 138 """ |
| 139 pair = self._items.popitem(last=False) | 139 pair = self._items.popitem(last=False) |
| 140 self._dirty = True | 140 self._dirty = True |
| 141 return pair | 141 return pair |
| 142 | 142 |
| 143 def itervalues(self): | 143 def itervalues(self): |
| 144 """Iterator over stored values in arbitrary order.""" | 144 """Iterator over stored values in arbitrary order.""" |
| 145 return self._items.itervalues() | 145 return self._items.itervalues() |
| OLD | NEW |