self.ec.schedule(self.reschedule_delay, self.start)
else:
is_app_running = self.simulation.invoke(self.uuid, "isAppRunning")
- is_simu_finished = self.simulation.invoke(SIMULATOR_UUID, "isFinished")
- if is_app_running or is_simu_finished:
+ if is_app_running or self.simulation.state > Resource.STARTED:
super(NS3BaseApplication, self).do_start()
self._start_time = self.simulation.start_time
else:
if not msg_type:
# Ignore - connection lost
- break
+ continue
if msg_type == NS3WrapperMessage.SHUTDOWN:
stop = True
try:
send_reply(conn, reply)
except socket.error:
- break
+ import traceback
+ err = traceback.format_exc()
+ ns3_wrapper.logger.error(err)
+ raise
ns3_wrapper.logger.info("EXITING...")
if now.IsZero():
return False
+ if self.ns3.Simulator.IsFinished():
+ return False
+
app = self.get_object(uuid)
stop_time_value = self.ns3.TimeValue()
app.GetAttribute("StopTime", stop_time_value)