Browse Source

network.maintain_sessions: rm redundant 'update' notifications

master
SomberNight 7 years ago
parent
commit
096b3e6026
No known key found for this signature in database
GPG Key ID: B33B5F232C6271E9
  1. 12
      electrum/network.py

12
electrum/network.py

@ -840,16 +840,13 @@ class Network(PrintError):
except BaseException as e: except BaseException as e:
self.print_error(i.server, "errored because:", str(e), str(type(e))) self.print_error(i.server, "errored because:", str(e), str(type(e)))
remove.append(k) remove.append(k)
changed = False
for k in remove: for k in remove:
self.connection_down(k) self.connection_down(k)
changed = True
# nodes # nodes
now = time.time() now = time.time()
for i in range(self.num_server - len(self.interfaces) - len(self.connecting)): for i in range(self.num_server - len(self.interfaces) - len(self.connecting)):
if self.start_random_interface(): self.start_random_interface()
changed = True
if now - self.nodes_retry_time > NODES_RETRY_INTERVAL: if now - self.nodes_retry_time > NODES_RETRY_INTERVAL:
self.print_error('network: retrying connections') self.print_error('network: retrying connections')
self.disconnected_servers = set([]) self.disconnected_servers = set([])
@ -860,23 +857,18 @@ class Network(PrintError):
if self.auto_connect: if self.auto_connect:
if not self.is_connecting(): if not self.is_connecting():
self.switch_to_random_interface() self.switch_to_random_interface()
changed = True
else: else:
if self.default_server in self.disconnected_servers: if self.default_server in self.disconnected_servers:
if now - self.server_retry_time > SERVER_RETRY_INTERVAL: if now - self.server_retry_time > SERVER_RETRY_INTERVAL:
self.disconnected_servers.remove(self.default_server) self.disconnected_servers.remove(self.default_server)
self.server_retry_time = now self.server_retry_time = now
changed = True
else: else:
self.switch_to_interface(self.default_server) self.switch_to_interface(self.default_server)
changed = True
else: else:
if self.config.is_fee_estimates_update_required(): if self.config.is_fee_estimates_update_required():
await self.interface.group.spawn(self.attempt_fee_estimate_update()) await self.interface.group.spawn(self.attempt_fee_estimate_update())
if changed: await asyncio.sleep(0.1)
self.notify('updated')
await asyncio.sleep(1)
async def attempt_fee_estimate_update(self): async def attempt_fee_estimate_update(self):
await asyncio.wait_for(self.request_fee_estimates(self.interface), 5) await asyncio.wait_for(self.request_fee_estimates(self.interface), 5)

Loading…
Cancel
Save