Browse Source

make SimpleLruCache an actual LRU cache

master
undeath 7 years ago
parent
commit
98f41f7c05
  1. 9
      jmclient/jmclient/cryptoengine.py

9
jmclient/jmclient/cryptoengine.py

@ -75,6 +75,12 @@ class SimpleLruCache(OrderedDict):
OrderedDict.__setitem__(self, key, value)
self._adjust_size()
def __getitem__(self, item):
e = OrderedDict.__getitem__(self, item)
del self[item]
OrderedDict.__setitem__(self, item, e)
return e
def _adjust_size(self):
while len(self) > self.max_size:
self.popitem(last=False)
@ -156,8 +162,7 @@ class BTCEngine(object):
def _walk_bip32_path(cls, master_key, path):
key = master_key
for lvl in path[1:]:
assert lvl >= 0
assert lvl < 2**32
assert 0 <= lvl < 2**32
if (key, lvl) in cls.__LRU_KEY_CACHE:
key = cls.__LRU_KEY_CACHE[(key, lvl)]
else:

Loading…
Cancel
Save