mirror of
https://github.com/JoinMarket-Org/joinmarket-clientserver.git
synced 2026-08-13 12:33:40 +02:00
make SimpleLruCache an actual LRU cache
This commit is contained in:
parent
703ae04dcc
commit
98f41f7c05
1 changed files with 7 additions and 2 deletions
|
|
@ -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…
Add table
Add a link
Reference in a new issue