Control the virtual time and the execution of simulation events. More...
Modules | |
Realtime Simulator | |
Realtime simulator implementation. | |
Files | |
file | default-simulator-impl.cc |
ns3::DefaultSimulatorImpl implementation. | |
file | default-simulator-impl.h |
ns3::DefaultSimulatorImpl declaration. | |
file | des-metrics.cc |
ns3::DesMetrics implementation. | |
file | des-metrics.h |
ns3::DesMetrics declaration. | |
file | node-printer.cc |
ns3::DefaultNodePrinter implementation. | |
file | sample-simulator.cc |
Example program demonstrating use of various Schedule functions. | |
file | sample-simulator.py |
Python example program demonstrating use of various Schedule functions. | |
file | simulator-impl.cc |
ns3::SimulatorImpl implementation. | |
file | simulator-impl.h |
ns3::SimulatorImpl declaration. | |
file | simulator.cc |
ns3::Simulator implementation, as well as implementation pointer, global scheduler implementation. | |
file | simulator.h |
ns3::Simulator declaration. | |
Classes | |
class | ns3::DefaultSimulatorImpl |
The default single process simulator implementation. More... | |
class | ns3::DesMetrics |
Event trace data collector for the DES Metrics project. More... | |
class | ns3::DistributedSimulatorImpl |
Distributed simulator implementation using lookahead. More... | |
class | ns3::Simulator |
Control the scheduling of simulation events. More... | |
class | ns3::SimulatorImpl |
The SimulatorImpl base class. More... | |
class | ns3::VisualSimulatorImpl |
A replacement simulator that starts the visualizer. More... | |
Functions | |
static SimulatorImpl * | ns3::GetImpl () |
Get the SimulatorImpl singleton. More... | |
Time | ns3::Now () |
create an ns3::Time instance which contains the current simulation time. More... | |
static SimulatorImpl ** | ns3::PeekImpl () |
Get the static SimulatorImpl instance. More... | |
Variables | |
static GlobalValue | ns3::g_simTypeImpl |
The specific simulator implementation to use. More... | |
Control the virtual time and the execution of simulation events.
|
static |
Get the SimulatorImpl singleton.
Definition at line 104 of file simulator.cc.
References ns3::ObjectFactory::Create(), ns3::DefaultNodePrinter(), ns3::DefaultTimePrinter(), ns3::g_schedTypeImpl, ns3::g_simTypeImpl, ns3::StringValue::Get(), ns3::GetPointer(), ns3::GlobalValue::GetValue(), ns3::LogSetNodePrinter(), ns3::LogSetTimePrinter(), ns3::PeekImpl(), and ns3::ObjectFactory::SetTypeId().
Referenced by ns3::Simulator::Cancel(), ns3::Simulator::DoSchedule(), ns3::Simulator::DoScheduleDestroy(), ns3::Simulator::DoScheduleNow(), ns3::Simulator::GetContext(), ns3::Simulator::GetDelayLeft(), ns3::Simulator::GetEventCount(), ns3::Simulator::GetImplementation(), ns3::Simulator::GetMaximumSimulationTime(), ns3::Simulator::GetSystemId(), ns3::Simulator::IsExpired(), ns3::Simulator::IsFinished(), ns3::Simulator::Now(), ns3::Simulator::Remove(), ns3::Simulator::Run(), ns3::Simulator::ScheduleWithContext(), ns3::Simulator::SetScheduler(), and ns3::Simulator::Stop().
Time ns3::Now | ( | ) |
create an ns3::Time instance which contains the current simulation time.
This is really a shortcut for the ns3::Simulator::Now method. It is typically used as shown below to schedule an event which expires at the absolute time "2 seconds":
Definition at line 305 of file simulator.cc.
References ns3::Simulator::Now().
Referenced by ChannelAccessManagerTest< TxopType >::AddAccessRequestWithAckTimeout(), ChannelAccessManagerTest< TxopType >::AddAccessRequestWithSuccessfulAck(), ChannelAccessManagerTest< TxopType >::AddAckTimeoutReset(), ChannelAccessManagerTest< TxopType >::AddCcaBusyEvt(), ChannelAccessManagerTest< TxopType >::AddNavReset(), ChannelAccessManagerTest< TxopType >::AddNavStart(), ChannelAccessManagerTest< TxopType >::AddRxErrorEvt(), ChannelAccessManagerTest< TxopType >::AddRxInsideSifsEvt(), ChannelAccessManagerTest< TxopType >::AddRxOkEvt(), ChannelAccessManagerTest< TxopType >::AddRxStartEvt(), ChannelAccessManagerTest< TxopType >::AddSwitchingEvt(), ChannelAccessManagerTest< TxopType >::AddTxEvt(), ns3::UanMacRc::Associate(), EmlsrUlTxopTest::BackoffGenerated(), TcpBytesInFlightTest::BytesInFlightTrace(), ns3::ThreeGppChannelModel::CalcAttenuationOfBlockage(), ns3::UanPhyCalcSinrDual::CalcSinrDb(), Issue211Test::CalcThroughput(), ns3::WifiRemoteStationInfo::CalculateAveragingCoefficient(), ns3::ThreeGppChannelModel::ChannelParamsNeedsUpdate(), TestUlOfdmaPhyTransmission::CheckApRxEnd(), TestUlOfdmaPhyTransmission::CheckApRxStart(), EmlsrUlTxopTest::CheckBlockAck(), EmlsrDlTxopTest::CheckBlockAck(), WifiPhyCcaIndicationTest::CheckLastCcaBusyNotification(), TestUlOfdmaPhyTransmission::CheckNonOfdmaRxPower(), TestUlOfdmaPhyTransmission::CheckOfdmaRxPower(), TestInterBssConstantObssPdAlgo::CheckPhyDropReasons(), TestInterBssConstantObssPdAlgo::CheckPhyState(), TestAmpduReception::CheckPhyState(), EmlsrDlTxopTest::CheckQosFrames(), Experiment::CheckThroughput(), DsdvManetExample::CheckThroughput(), TestUlOfdmaPpduUid::CheckUid(), ns3::HeFrameExchangeManager::ClearTxopHolderIfNeeded(), ns3::LteInterference::ConditionallyEvaluateChunk(), ns3::SpectrumInterference::ConditionallyEvaluateChunk(), LteDownlinkPowerControlRrcConnectionReconfigurationTestCase::ConnectionReconfigurationEnb(), LteDownlinkPowerControlRrcConnectionReconfigurationTestCase::ConnectionReconfigurationUe(), WaypointLazyNotifyFalse::CourseChangeCallback(), WaypointLazyNotifyTrue::CourseChangeCallback(), Ns3TcpLossTestCase::CwndTracer(), LrWpanDataIfsTestCase::DataConfirm(), LrWpanAckTestCase::DataConfirmDev0(), LrWpanAckTestCase::DataConfirmDev1(), LrWpanSlottedCsmacaTestCase::DataIndicationCoordinator(), LrWpanAckTestCase::DataIndicationDev0(), LrWpanAckTestCase::DataIndicationDev1(), LrWpanDataIfsTestCase::DataReceivedDev0(), LrWpanDataIfsTestCase::DataReceivedDev1(), CobaltQueueDiscCeThresholdTest::Dequeue(), CobaltQueueDiscMarkTest::Dequeue(), CoDelQueueDiscBasicDrop::Dequeue(), CoDelQueueDiscBasicMark::Dequeue(), LteFrAreaTestCase::DlDataRxStart(), CarrierAggregationTestCase::DlScheduling(), LteCqiGenerationTestCase::DlScheduling(), LteCqiGenerationDlPowerControlTestCase::DlScheduling(), LteInterferenceTestCase::DlScheduling(), LteLinkAdaptationTestCase::DlScheduling(), LtePathlossModelSystemTestCase::DlScheduling(), ns3::SpectrumInterference::DoAddSignal(), TestDlMuMimoPhyTransmission::DoCheckPhyState(), TestUlMuMimoPhyTransmission::DoCheckPhyState(), TestDlOfdmaPhyTransmission::DoCheckPhyState(), TestDlOfdmaPhyPuncturing::DoCheckPhyState(), TestUlOfdmaPhyTransmission::DoCheckPhyState(), TestPhyPaddingExclusion::DoCheckPhyState(), WifiPhyCcaIndicationTest::DoCheckPhyState(), WifiPhyReceptionTest::DoCheckPhyState(), ns3::PieQueueDisc::DoDequeue(), ns3::PieQueueDisc::DoEnqueue(), ThreeGppChannelMatrixUpdateTest::DoGetChannel(), BasicEnergyHarvesterTestCase::DoRun(), LiIonEnergyTestCase::DoRun(), LrWpanAckTestCase::DoRun(), ns3::SpectrumInterference::DoSubtractSignal(), EmlsrDlTxopTest::EnableEmlsrMode(), ns3::UanMacRcGw::EndCycle(), ns3::UanMacCw::EndTx(), ns3::UanMacAloha::Enqueue(), ns3::UanMacCw::Enqueue(), ChannelAccessManagerTest< TxopType >::ExpectBusy(), ns3::Watchdog::Expire(), ns3::UanMacRcGw::FindOptA(), MultiLinkOperationsTestBase::GetApplication(), EmlsrOperationsTestBase::GetApplication(), ns3::JakesProcess::GetComplexGain(), LenaMimoTestCase::GetRlcBufferSample(), Ipv4DynamicGlobalRoutingTestCase::HandleRead(), LteHandoverTargetTestCase::HandoverStartCallback(), LrWpanDataIfsTestCase::IfsEnd(), LrWpanSlottedCsmacaTestCase::IncomingSuperframeStatus(), ns3::HeFrameExchangeManager::IntraBssNavResetTimeout(), Ns3TcpLossTestCase::Ipv4L3Tx(), Ns3TcpStateTestCase::Ipv4L3Tx(), OfdmaAckSequenceTest::L7Receive(), ns3::HeFrameExchangeManager::NavResetTimeout(), JakesPropagationExample::Next(), ChannelAccessManagerTest< TxopType >::NotifyAccessGranted(), TestPhyListener::NotifyCcaBusyStart(), CcaTestPhyListener::NotifyCcaBusyStart(), ns3::UanMacCw::NotifyCcaEnd(), ns3::UanMacCw::NotifyCcaStart(), ChannelAccessManagerTest< TxopType >::NotifyChannelSwitching(), DcfImmediateAccessBroadcastTestCase::NotifyPhyTxBegin(), ns3::UanMacCw::NotifyRxEndError(), OfdmaTestPhyListener::NotifyRxEndError(), ns3::UanMacCw::NotifyRxEndOk(), OfdmaTestPhyListener::NotifyRxEndOk(), ns3::UanMacCw::NotifyRxStart(), OfdmaTestPhyListener::NotifyRxStart(), ns3::UanMacCw::NotifyTxStart(), SimulatorEventsTestCase::NowUs(), LrWpanDataIfsTestCase::PhyDataRxStart(), LrWpanCcaTestCase::PhyRxBegin(), LrWpanCcaTestCase::PhyRxDrop(), LrWpanCcaTestCase::PhyRxEnd(), LrWpanCcaTestCase::PhyTxBegin(), LrWpanCcaTestCase::PhyTxEnd(), ns3::Watchdog::Ping(), LrWpanCcaTestCase::PlmeCcaConfirm(), ns3::NixVectorRouting< T >::PrintRoutingPath(), ns3::NixVectorRouting< T >::PrintRoutingTable(), ns3::aodv::RoutingProtocol::PrintRoutingTable(), ns3::dsdv::RoutingProtocol::PrintRoutingTable(), ns3::Ipv4GlobalRouting::PrintRoutingTable(), ns3::Ipv4ListRouting::PrintRoutingTable(), ns3::Ipv4StaticRouting::PrintRoutingTable(), ns3::Ipv6ListRouting::PrintRoutingTable(), ns3::Ipv6StaticRouting::PrintRoutingTable(), ns3::Rip::PrintRoutingTable(), ns3::RipNg::PrintRoutingTable(), ns3::olsr::RoutingProtocol::PrintRoutingTable(), ns3::UanMacRc::ProcessAck(), ThreeGppHttpObjectTestCase::ProgressCallback(), LteUplinkPowerControlTestCase::PucchTxPowerTrace(), LteUplinkPowerControlTestCase::PuschTxPowerTrace(), LteRadioLinkFailureTestCase::RadioLinkFailureCallback(), TcpRateLinuxWithSocketsTest::RateUpdatedTrace(), ns3::UanTransducerHd::Receive(), Bug730TestCase::Receive(), ns3::UanMacRc::ReceiveOkFromPhy(), ns3::UanMacRcGw::ReceivePacket(), DsdvManetExample::ReceivePacket(), LrWpanPlmeAndPdInterfaceTestCase::ReceivePdDataIndication(), LteUeMeasurementsTestCase::RecvMeasurementReport(), LteUeMeasurementsPiecewiseTestCase1::RecvMeasurementReportCallback(), LteUeMeasurementsPiecewiseTestCase2::RecvMeasurementReportCallback(), LteUeMeasurementsPiecewiseTestCase3::RecvMeasurementReportCallback(), LteUeMeasurementsHandoverTestCase::RecvMeasurementReportCallback(), PingTestCase::ReportTraceSink(), LteUeMeasurementsTestCase::ReportUeMeasurements(), NetAnimExperiment::ResetData(), Experiment::ResetData(), ns3::UanMacRc::RtsTimeout(), LargestIdlePrimaryChannelTest::RunOne(), TcpSlowStartNormalTest::Rx(), TcpZeroWindowTest::Rx(), TestUnsupportedBandwidthReception::RxDropped(), TestUnsupportedBandwidthReception::RxFailure(), ns3::UanPhyDual::RxOkFromSubPhy(), TestUnsupportedBandwidthReception::RxSuccess(), ns3::UanMacCw::SaveTimer(), ns3::UanMacRc::ScheduleData(), TestUlOfdmaPhyTransmission::ScheduleTest(), WifiPhyCcaIndicationTest::ScheduleTest(), TestMultiUserScheduler::SelectTxFormat(), EpsBearerTagUdpClient::Send(), Bug772ChainTest::SendData(), HwmpProactiveRegressionTest::SendData(), HwmpReactiveRegressionTest::SendData(), HwmpSimplestRegressionTest::SendData(), FlameRegressionTest::SendData(), HwmpDoRfRegressionTest::SendDataA(), HwmpDoRfRegressionTest::SendDataB(), HwmpDoRfRegressionTest::SendDataC(), TcpDctcpCongestedRouter::SendDataPacket(), ns3::UanMacCw::SendPacket(), ns3::UanPhyDual::SendPacket(), ns3::UanMacRcGw::SendPacket(), ns3::UanMacRc::SendPacket(), ChainRegressionTest::SendPing(), SpectrumWifiPhyMultipleInterfacesTest::SendPpdu(), TcpRateLinuxBasicTest::SendSkb(), LteUplinkPowerControlTestCase::SetTpcConfiguration(), LteFrAreaTestCase::SimpleTeleportUe(), TcpRateLinuxBasicTest::SkbDelivered(), LteUplinkPowerControlTestCase::SrsTxPowerTrace(), ns3::WaveformGenerator::Start(), ns3::Ping::StartApplication(), LrWpanSlottedCsmacaTestCase::StartConfirm(), ns3::UanMacRcGw::StartCycle(), Ns3TcpLossTestCase::StartFlow(), Ns3TcpStateTestCase::StartFlow(), ns3::SpectrumInterference::StartRx(), ns3::LteInterference::StartRx(), ns3::UanMacCw::StartTimer(), EmlsrUlTxopTest::StartTraffic(), TestRxOffWhenIdleAfterCsmaFailure::StateChangeNotificationDev0(), TestRxOffWhenIdleAfterCsmaFailure::StateChangeNotificationDev2(), LteFrAreaTestCase::TeleportUe(), LteUplinkPowerControlTestCase::TeleportUe(), LteFrAreaTestCase::TeleportUe2(), TraceFirstCwnd(), TraceFirstDctcp(), TraceFirstThroughput(), ProbeTestCase1::TraceSink(), TraceThroughput(), WaveformGeneratorTestCase::TraceWave(), LrWpanSlottedCsmacaTestCase::TransactionCost(), LrWpanSlottedCsmacaTestCase::TransEndIndication(), EmlsrOperationsTestBase::Transmit(), MultiLinkOperationsTestBase::Transmit(), OfdmaAckSequenceTest::Transmit(), WifiTxopTest::Transmit(), WifiUseAvailBwTest::Transmit(), TcpPacingTest::Tx(), TcpSlowStartNormalTest::Tx(), TcpZeroWindowTest::Tx(), Bug2470TestCase::TxCallback(), PingTestCase::TxTraceSink(), LteFrAreaTestCase::UlDataRxStart(), ns3::HeFrameExchangeManager::UlMuCsMediumIdle(), LteCqiGenerationTestCase::UlScheduling(), LteCqiGenerationDlPowerControlTestCase::UlScheduling(), LteInterferenceTestCase::UlScheduling(), CarrierAggregationTestCase::UlScheduling(), ns3::SpectrumAnalyzer::UpdateEnergyReceivedSoFar(), ns3::HeFrameExchangeManager::UpdateNav(), NetAnimExperiment::UpdatePositions(), Experiment::UpdatePositions(), ns3::HeFrameExchangeManager::VirtualCsMediumIdle(), ns3::WriteAveragePowerSpectralDensityReport(), Ns3TcpLossTestCase::WriteUntilBufferFull(), and Ns3TcpStateTestCase::WriteUntilBufferFull().
|
static |
Get the static SimulatorImpl instance.
Definition at line 91 of file simulator.cc.
Referenced by ns3::Simulator::Cancel(), ns3::Simulator::Destroy(), ns3::GetImpl(), ns3::Simulator::GetSystemId(), ns3::Simulator::IsExpired(), ns3::Simulator::Remove(), and ns3::Simulator::SetImplementation().
|
static |
The specific simulator implementation to use.
Must be derived from SimulatorImpl.
Definition at line 66 of file simulator.cc.
Referenced by ns3::GetImpl().