Trying to make LinuxNS3Simulator to deploy remotely ....
[nepi.git] / src / nepi / resources / ns3 / ns3channel.py
index fe628c8..85556fe 100644 (file)
 
 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
+