diff options
Diffstat (limited to 'libarcfire.py')
-rwxr-xr-x | libarcfire.py | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/libarcfire.py b/libarcfire.py deleted file mode 100755 index e04b667..0000000 --- a/libarcfire.py +++ /dev/null @@ -1,154 +0,0 @@ -# -# A library to manage ARCFIRE experiments -# - -# Base class for DIFs -# -# @name [string] DIF name -# @members [iterable] Nodes belonging to the DIF -# @appmap [iterable] Application names mapped to this DIF -# -class DIF: - def __init__(self, name, members): - self.name = name - self.members = dict() - if members != None: - for m in members: - self.members[m] = m - self.appmap = set() - - def __repr__(self): - s = "DIF %s: members=%s" % (self.name, str(sorted(self.members))) - if len(self.appmap) > 0: - s += " appmap=%s" % self.appmap - return s - - def node_add(self, node_name): - self.members[node_name] = node_name - - def node_del(self, node_name): - del self.members[node_name] - - def appmap_add(self, apname, apinst = None): - s = apname - if apinst: - s += apinst - self.appmap.add(s) - - def appmap_del(self, apname, apinst = None): - s = apname - if apinst: - s += apinst - self.appmap.discard(s) - - -# Shim over Ethernet -# -# @link_speed [int] Speed of the Ethernet network, in Mbps -# -class ShimEthDIF(DIF): - def __init__(self, name, link_speed = 0, members = None): - DIF.__init__(self, name, members) - self.link_speed = int(link_speed) - if self.link_speed < 0: - raise ValueError("link_speed must be a non-negative number") - - -# A policy -# -# @component: RINA component to which the policy applies to -# @name: Name of the policy -# @parameters: A dictionary of (key, values) pairs representing policy-specific -# parameters -class Policy: - def __init__(self, component, name, **kwargs): - self.component = component - self.name = name - self.parameters = kwargs - - def __repr__(self): - s = "%s:%s" % (self.component, self.name) - if self.parameters: - s += "%s" % self.parameters - return s - - -# Normal DIF -class NormalDIF(DIF): - def __init__(self, name, members = None): - DIF.__init__(self, name, members) - self.policies = dict() - - def policy_add(self, policy): - self.policies[policy.component] = policy - - def policy_del(self, component): - del self.policies[component] - - def __repr__(self): - s = DIF.__repr__(self) - if self.policies: - s += " policies=[" - for p in self.policies: - s += "%s," % self.policies[p] - if self.policies: - s += "]" - return s - - -# Base class for ARCFIRE experiments -# -# @name [string] Name of the experiment -# -class Experiment: - def __init__(self, name): - self.name = name - self.difs = dict() - - def __repr__(self): - s = "%s:" % self.name - for d in self.difs: - s += "\n %s" % self.difs[d] - - return s - - def dif_add(self, dif): - self.difs[dif.name] = dif - - def dif_del(self, dif_name): - del self.difs[dif_name] - - def run(self): - print("[experiment %s] start" % self.name) - print("[experiment %s] end" % self.name) - - -# An experiment over the IRATI implementation -class IRATIExperiment(Experiment): - def __init__(self, name): - Experiment.__init__(self, name) - - def run(self): - print("[IRATI experiment %s] start" % self.name) - print("[IRATI experiment %s] end" % self.name) - - -# An experiment over the RLITE implementation -class RLITEExperiment(Experiment): - def __init__(self, name): - Experiment.__init__(self, name) - - def run(self): - print("[RLITE experiment %s] start" % self.name) - print("[RLITE experiment %s] end" % self.name) - - -# An experiment over the OUROBOROS implementation -class OUROBOROSExperiment(Experiment): - def __init__(self, name): - Experiment.__init__(self, name) - - def run(self): - print("[OUROBOROS experiment %s] start" % self.name) - print("[OUROBOROS experiment %s] end" % self.name) - |