You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2019/11/22 14:22:44 UTC
[qpid-dispatch] branch master updated: DISPATCH-1491: use sets
rather than iterating over lists
This is an automated email from the ASF dual-hosted git repository.
gsim pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git
The following commit(s) were added to refs/heads/master by this push:
new 5b3664f DISPATCH-1491: use sets rather than iterating over lists
5b3664f is described below
commit 5b3664f6e774fadc90ecdfe15d898e316e4dd8cd
Author: Gordon Sim <gs...@redhat.com>
AuthorDate: Thu Nov 21 16:51:13 2019 +0000
DISPATCH-1491: use sets rather than iterating over lists
---
python/qpid_dispatch_internal/router/mobile.py | 35 +++++++++++++-------------
1 file changed, 17 insertions(+), 18 deletions(-)
diff --git a/python/qpid_dispatch_internal/router/mobile.py b/python/qpid_dispatch_internal/router/mobile.py
index b4c73f9..e6ee48e 100644
--- a/python/qpid_dispatch_internal/router/mobile.py
+++ b/python/qpid_dispatch_internal/router/mobile.py
@@ -39,9 +39,9 @@ class MobileAddressEngine(object):
self.node_tracker = node_tracker
self.id = self.container.id
self.mobile_seq = 0
- self.local_addrs = []
- self.added_addrs = []
- self.deleted_addrs = []
+ self.local_addrs = set([])
+ self.added_addrs = set([])
+ self.deleted_addrs = set([])
self.sent_deltas = {}
self.treatments = {}
@@ -54,7 +54,7 @@ class MobileAddressEngine(object):
if len(self.added_addrs) > 0 or len(self.deleted_addrs) > 0:
self.mobile_seq += 1
hints = [self.treatments[a] for a in self.added_addrs]
- msg = MessageMAU(None, self.id, self.mobile_seq, self.added_addrs, self.deleted_addrs, _hints=hints)
+ msg = MessageMAU(None, self.id, self.mobile_seq, list(self.added_addrs), list(self.deleted_addrs), _hints=hints)
self.sent_deltas[self.mobile_seq] = msg
if len(self.sent_deltas) > MAX_KEPT_DELTAS:
@@ -62,11 +62,10 @@ class MobileAddressEngine(object):
self.container.send('amqp:/_topo/0/all/qdrouter.ma', msg)
self.container.log_ma(LOG_TRACE, "SENT: %r" % msg)
- self.local_addrs.extend(self.added_addrs)
- for addr in self.deleted_addrs:
- self.local_addrs.remove(addr)
- self.added_addrs = []
- self.deleted_addrs = []
+ self.local_addrs.update(self.added_addrs)
+ self.local_addrs.difference_update(self.deleted_addrs)
+ self.added_addrs.clear()
+ self.deleted_addrs.clear()
return self.mobile_seq
@@ -74,11 +73,11 @@ class MobileAddressEngine(object):
"""
"""
self.treatments[addr] = treatment
- if self.local_addrs.count(addr) == 0:
- if self.added_addrs.count(addr) == 0:
- self.added_addrs.append(addr)
+ if addr not in self.local_addrs:
+ if addr not in self.added_addrs:
+ self.added_addrs.add(addr)
else:
- if self.deleted_addrs.count(addr) > 0:
+ if addr in self.deleted_addrs:
self.deleted_addrs.remove(addr)
@@ -86,11 +85,11 @@ class MobileAddressEngine(object):
"""
"""
del self.treatments[addr]
- if self.local_addrs.count(addr) > 0:
- if self.deleted_addrs.count(addr) == 0:
- self.deleted_addrs.append(addr)
+ if addr in self.local_addrs:
+ if addr not in self.deleted_addrs:
+ self.deleted_addrs.add(addr)
else:
- if self.added_addrs.count(addr) > 0:
+ if addr in self.added_addrs:
self.added_addrs.remove(addr)
@@ -163,7 +162,7 @@ class MobileAddressEngine(object):
##
## The peer needs to be sent an absolute update with the whole address list
##
- smsg = MessageMAU(None, self.id, self.mobile_seq, None, None, self.local_addrs)
+ smsg = MessageMAU(None, self.id, self.mobile_seq, None, None, list(self.local_addrs))
self.container.send('amqp:/_topo/0/%s/qdrouter.ma' % msg.id, smsg)
self.container.log_ma(LOG_TRACE, "SENT: %r" % smsg)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org