Fixing core dump in NS3/DCE caused by getting the DceApplication Pid too early
[nepi.git] / src / nepi / resources / ns3 / ns3node.py
index a85ba0d..2d14b85 100644 (file)
@@ -28,6 +28,7 @@ class NS3BaseNode(NS3Base):
     def __init__(self, ec, guid):
         super(NS3BaseNode, self).__init__(ec, guid)
         self._simulation = None
+        self._node_id = None
         self._ipv4 = None
         self._arp = None
         self._mobility = None
@@ -106,6 +107,10 @@ class NS3BaseNode(NS3Base):
 
         return self._devices
 
+    @property
+    def node_id(self):
+        return self._node_id
+
     @property
     def dceapplications(self):
         if not self._dceapplications:
@@ -153,6 +158,8 @@ class NS3BaseNode(NS3Base):
             uuid_packet_socket_factory = self.simulation.create("PacketSocketFactory")
             self.simulation.invoke(self.uuid, "AggregateObject", uuid_packet_socket_factory)
 
+        self._node_id = self.simulation.invoke(self.uuid, "GetId")
+        
         dceapplications = self.dceapplications
         if dceapplications:
             self._add_dce(dceapplications)