Skip to content
Snippets Groups Projects
Commit 95cca06a authored by inso's avatar inso
Browse files

Display broadcasted certifications

- Invalidate cache data after posting requests
- Fix display of certifications found in lookup
parent 248d1caa
No related branches found
No related tags found
No related merge requests found
...@@ -223,11 +223,11 @@ class Graph(object): ...@@ -223,11 +223,11 @@ class Graph(object):
current_block_number = self.community.network.current_blockid.number current_block_number = self.community.network.current_blockid.number
if current_block_number and certifier['block_number']: if current_block_number and certifier['block_number']:
current_validations = current_block_number - certifier['block_number'] current_validations = current_block_number - certifier['block_number'] + 1
else: else:
current_validations = 0 current_validations = 0
members_pubkeys = yield from self.community.members_pubkeys() members_pubkeys = yield from self.community.members_pubkeys()
max_validation = self.community.network.fork_window(members_pubkeys) max_validation = self.community.network.fork_window(members_pubkeys) + 1
# Current validation can be negative if self.community.network.current_blockid.number # Current validation can be negative if self.community.network.current_blockid.number
# is not refreshed yet # is not refreshed yet
...@@ -301,13 +301,13 @@ class Graph(object): ...@@ -301,13 +301,13 @@ class Graph(object):
current_block_number = self.community.network.current_blockid.number current_block_number = self.community.network.current_blockid.number
if current_block_number and certified['block_number']: if current_block_number and certified['block_number']:
current_validations = current_block_number - certified['block_number'] current_validations = current_block_number - certified['block_number'] + 1
else: else:
current_validations = 0 current_validations = 0
members_pubkeys = yield from self.community.members_pubkeys() members_pubkeys = yield from self.community.members_pubkeys()
max_validations = self.community.network.fork_window(members_pubkeys) max_validations = self.community.network.fork_window(members_pubkeys) + 1
if max_validations > current_validations > 0: if max_validations > current_validations >= 0:
if self.app.preferences['expert_mode']: if self.app.preferences['expert_mode']:
arc['validation_text'] = "{0}/{1}".format(current_validations, arc['validation_text'] = "{0}/{1}".format(current_validations,
max_validations) max_validations)
......
...@@ -172,6 +172,18 @@ class BmaAccess(QObject): ...@@ -172,6 +172,18 @@ class BmaAccess(QObject):
return True return True
return False return False
def _invalidate_cache(self, post_request):
"""
Invalidate data depending on posted request
:param class post_request: The posted request
"""
invalidated = {bma.wot.Add: bma.wot.Lookup}
invalidated_cache = self._data.copy()
for data in self._data:
if data[0] == str(invalidated[post_request]):
invalidated_cache.pop(data)
self._data = invalidated_cache
def rollback(self): def rollback(self):
""" """
When a rollback is detected, we move the rollback cursor to 0 When a rollback is detected, we move the rollback cursor to 0
...@@ -293,6 +305,7 @@ class BmaAccess(QObject): ...@@ -293,6 +305,7 @@ class BmaAccess(QObject):
pass pass
except asyncio.TimeoutError: except asyncio.TimeoutError:
pass pass
self._invalidate_cache(request)
else: else:
raise NoPeerAvailable("", len(nodes)) raise NoPeerAvailable("", len(nodes))
return tuple(replies) return tuple(replies)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment