Almost working local example for linux ns-3 simulator
[nepi.git] / src / nepi / resources / ns3 / ns3channel.py
index 7386346..92dc892 100644 (file)
@@ -24,14 +24,25 @@ from nepi.resources.ns3.ns3base import NS3Base
 class NS3BaseChannel(NS3Base):
     _rtype = "abstract::ns3::Channel"
 
+    @property
+    def simulator(self):
+        return self.devices[0].node.simulator
+
     @property
     def devices(self):
         from nepi.resources.ns3.ns3netdevice import NS3BaseNetDevice
-        return self.get_connected(NS3BaseNetDevice.get_rtype())
+        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 devices[0].node.simulator
-        return None
-    
+    def _rms_to_wait(self):
+        rms = set()
+        rms.add(self.simulator)
+        return rms
+