Fixing DCE application status, adding is_app_started function
authorAlina Quereilhac <alina.quereilhac@inria.fr>
Mon, 22 Dec 2014 14:08:37 +0000 (15:08 +0100)
committerAlina Quereilhac <alina.quereilhac@inria.fr>
Mon, 22 Dec 2014 14:08:37 +0000 (15:08 +0100)
src/nepi/resources/ns3/ns3dceapplication.py
src/nepi/resources/ns3/ns3wrapper.py

index 89725c3..fd1c513 100644 (file)
@@ -197,9 +197,9 @@ class NS3BaseDceApplication(NS3BaseApplication):
             self.debug("---- RESCHEDULING START ----" )
             self.ec.schedule(self.reschedule_delay, self.start)
         else:
-            is_app_running = self.simulation.invoke(self.uuid, "isAppRunning")
+            is_app_started = self.simulation.invoke(self.uuid, "isAppStarted")
 
-            if is_app_running or self.simulation.state > ResourceState.STARTED:
+            if is_app_started or self.simulation.state > ResourceState.STARTED:
                 super(NS3BaseApplication, self).do_start()
                 self._start_time = self.simulation.start_time
             else:
index 7c26ac2..4c9b9db 100644 (file)
@@ -281,6 +281,9 @@ class NS3Wrapper(object):
         elif operation == "isAppRunning":
             result = self._is_app_running(uuid)
 
+        elif operation == "isAppStarted":
+            result = self._is_app_started(uuid)
+
         elif operation == "recvFD":
             ### passFD operation binds to a different random socket 
             ### en every execution, so the socket name that could be
@@ -603,6 +606,9 @@ class NS3Wrapper(object):
                 return True
 
         return False
+    
+    def _is_app_started(self, uuid):
+        return self._is_app_running(uuid) or self.is_finished()
 
     def _add_static_route(self, ipv4_uuid, network, prefix, nexthop):
         ipv4 = self.get_object(ipv4_uuid)