don't update model state from a DoDispose() method

This commit is contained in:
Tom Henderson
2010-12-30 12:17:00 -08:00
parent 2eb811f9f1
commit b09e05fbfc
2 changed files with 7 additions and 5 deletions

View File

@@ -174,8 +174,6 @@ void
BasicEnergySource::DoDispose (void)
{
NS_LOG_FUNCTION (this);
// calculate remaining energy at the end of simulation
CalculateRemainingEnergy ();
BreakDeviceEnergyModelRefCycle (); // break reference cycle
}

View File

@@ -152,10 +152,14 @@ BasicEnergyUpdateTest::StateSwitchTest (WifiPhy::State state)
Simulator::Schedule (Seconds (m_timeS),
&WifiRadioEnergyModel::ChangeState, devModel, state);
// run simulation
Simulator::Stop (Seconds (m_timeS * 2));
// Calculate remaining energy at simulation stop time
Simulator::Schedule (Seconds (m_timeS * 2),
&BasicEnergySource::UpdateEnergySource, source);
double timeDelta = 0.000000001; // 1 nanosecond
// run simulation; stop just after last scheduled event
Simulator::Stop (Seconds (m_timeS * 2 + timeDelta));
Simulator::Run ();
Simulator::Destroy ();
// energy = current * voltage * time