X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fnepi%2Fresources%2Fns3%2Fns3channel.py;h=b218e510d3ae3cfcf51650289fae3c3a6c52a132;hb=6285ca51026efb69642eea9dfc7c480e722d84a9;hp=fe628c85560a83f2f1e2f10558eee37e428d2d5d;hpb=f97424b88767d2ec6143e5264a58a740c5330d11;p=nepi.git diff --git a/src/nepi/resources/ns3/ns3channel.py b/src/nepi/resources/ns3/ns3channel.py index fe628c85..b218e510 100644 --- a/src/nepi/resources/ns3/ns3channel.py +++ b/src/nepi/resources/ns3/ns3channel.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,19 +18,33 @@ from nepi.execution.resource import clsinit_copy from nepi.resources.ns3.ns3base import NS3Base -from nepi.resources.ns3.ns3device import NS3BaseNetDevice @clsinit_copy class NS3BaseChannel(NS3Base): - _rtype = "ns3::Channel" + _rtype = "abstract::ns3::Channel" + + @property + def simulation(self): + return self.devices[0].node.simulation @property def devices(self): - return self.get_connected(NS3BaseNetDevice.get_rtype()) + from nepi.resources.ns3.ns3netdevice import NS3BaseNetDevice + devices = self.get_connected(NS3BaseNetDevice.get_rtype()) + + if not devices: + msg = "Channel not connected to devices" + self.error(msg) + raise RuntimeError(msg) + + return devices @property - def simulator(self): - devices = self.devices - if devices: return device[0].node.simulator - return None - + def _rms_to_wait(self): + rms = set() + rms.add(self.simulation) + return rms + + def _connect_object(self): + pass +