Adding dummy ns3 fd-net-device test
[nepi.git] / src / nepi / resources / ns3 / ns3fdnetdevice.py
index 3e42d23..e4fdbd7 100644 (file)
@@ -39,4 +39,26 @@ class NS3BaseFdNetDevice(NS3BaseNetDevice):
         if node and node.uuid not in self.connected:
             self.simulation.invoke(node.uuid, "AddDevice", self.uuid)
             self._connected.add(node.uuid)
+
+    def _instantiate_object(self):
+        """ just validate that the simulator is in real time
+        mode, otherwise it is not going to work
+        """
+
+        mode = self.simulation.get("simulatorImplementationType")
+        if mode != "ns3::RealtimeSimulatorImpl":
+            msg = "The simulation must run in real time!!"
+            self.error(msg)
+            raise RuntimeError, msg
         
+        super(NS3BaseFdNetDevice, self)._instantiate_object()
+
+    def send_fd(self, fd):
+        import passfd
+        import socket
+        
+        address = self.simulation.invoke(self.uuid, "recvFD")
+        sock = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
+        sock.connect(address)
+        passfd.sendfd(sock, fd, '0')
+