X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fnepi%2Fresources%2Fns3%2Fns3propagationlossmodel.py;h=9c6c3c75b2fcc88207aef7ef3f3e08ff0fedfc5e;hb=6285ca51026efb69642eea9dfc7c480e722d84a9;hp=617f8cfd9c2a985aadde0fdadb2473e3e143b7d4;hpb=fbc7c758e1464d3af686062505fde706fc92b47c;p=nepi.git diff --git a/src/nepi/resources/ns3/ns3propagationlossmodel.py b/src/nepi/resources/ns3/ns3propagationlossmodel.py index 617f8cfd..9c6c3c75 100644 --- a/src/nepi/resources/ns3/ns3propagationlossmodel.py +++ b/src/nepi/resources/ns3/ns3propagationlossmodel.py @@ -3,9 +3,8 @@ # Copyright (C) 2014 INRIA # # This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation; # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -19,34 +18,36 @@ from nepi.execution.resource import clsinit_copy from nepi.resources.ns3.ns3base import NS3Base -from nepi.resources.ns3.ns3channel import NS3BaseChannel @clsinit_copy class NS3BasePropagationLossModel(NS3Base): _rtype = "ns3::PropagationLossModel" @property - def simulator(self): - channel = self.channel - if channel: return channel.simulator - return None + def simulation(self): + return self.channel.simulation @property def channel(self): - channels = self.get_connected(NS3BaseChannel.get_rtype()) - if channels: return channels[0] - return None + from nepi.resources.ns3.ns3wifichannel import NS3BaseWifiChannel + channels = self.get_connected(NS3BaseWifiChannel.get_rtype()) + + if not channels: + msg = "PropagationLossModel not connected to channel" + self.error(msg) + raise RuntimeError(msg) + + return channels[0] @property - def others_to_wait(self): + def _rms_to_wait(self): others = set() - channel = self.channel - if channel: others.add(channel) + others.add(self.channel) return others def _connect_object(self): channel = self.channel - if channel and channel.uuid not in self.connected: - self.simulator.invoke(channel.uuid, "SetPropagationLossModel", self.uuid) + if channel.uuid not in self.connected: + self.simulation.invoke(channel.uuid, "SetPropagationLossModel", self.uuid) self._connected.add(channel.uuid)