From 48fffffde971102a07db602afd1bfa557d321c81 Mon Sep 17 00:00:00 2001 From: Vincenzo Maffione Date: Sun, 19 Mar 2017 16:26:01 +0100 Subject: model: compute_ipcps(): compute registrations --- rumba/model.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'rumba/model.py') diff --git a/rumba/model.py b/rumba/model.py index 93b901b..0adb503 100644 --- a/rumba/model.py +++ b/rumba/model.py @@ -282,9 +282,12 @@ class IPCP: self.name = name self.node = node self.dif = dif + self.registrations = [] def __repr__(self): - return "IPCP %s in DIF %s" % (self.name, self.dif.name) + return "IPCP=%s DIF=%s N-1-DIFs=(%s)" % \ + (self.name, self.dif.name, + ' '.join([dif.name for dif in self.registrations])) def __hash__(self): return hash((self.name, self.dif.name)) @@ -483,6 +486,11 @@ class Experiment: for dif in node.difs: ipcp = IPCP(name = '%s.%s.IPCP' % (dif.name, node.name), node = node, dif = dif) + + if dif in node.dif_registrations: + for lower in node.dif_registrations[dif]: + ipcp.registrations.append(lower) + node.ipcps.append(ipcp) print("IPCP for node %s: %s" % (node.name, node.ipcps)) -- cgit v1.2.3