diff options
Diffstat (limited to 'rumba/prototypes/irati.py')
-rw-r--r-- | rumba/prototypes/irati.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/rumba/prototypes/irati.py b/rumba/prototypes/irati.py index 120a72e..37f7ae7 100644 --- a/rumba/prototypes/irati.py +++ b/rumba/prototypes/irati.py @@ -316,9 +316,25 @@ class Experiment(mod.Experiment): ipcp2shim_map.update({ipcp.name: dif for ipcp in dif.ipcps}) elif isinstance(dif, mod.NormalDIF): difconfs[dif.name] = dict() + # Generate base conf + dif_conf = copy.deepcopy(irati_templates.normal_dif_base) + # push qos_cubes + if len(dif.qos_cubes) != 0: + dif_conf["qosCubes"] = [] + for cube in dif.qos_cubes: + dif_conf["qosCubes"].append( + irati_templates.generate_qos_cube(**cube) + ) + # Add basic cubes + unreliable = copy.deepcopy(irati_templates.qos_cube_u_base) + unreliable["id"] = len(dif_conf["qosCubes"]) + 1 + dif_conf["qosCubes"].append(unreliable) + reliable = copy.deepcopy(irati_templates.qos_cube_r_base) + reliable["id"] = len(dif_conf["qosCubes"]) + 1 + dif_conf["qosCubes"].append(reliable) for node in dif.members: difconfs[dif.name][node.name] = copy.deepcopy( - irati_templates.normal_dif_base + dif_conf ) for node in self.nodes: # type: mod.Node |