Control the scheduling of simulation events. More...
#include "simulator.h"
Public Types | |
enum | : uint32_t { NO_CONTEXT = 0xffffffff } |
Context enum values. More... | |
Public Member Functions | |
Simulator ()=delete | |
~Simulator ()=delete | |
Static Public Member Functions | |
static void | Cancel (const EventId &id) |
Set the cancel bit on this event: the event's associated function will not be invoked when it expires. More... | |
static void | Destroy () |
Execute the events scheduled with ScheduleDestroy(). More... | |
static uint32_t | GetContext () |
Get the current simulation context. More... | |
static Time | GetDelayLeft (const EventId &id) |
Get the remaining time until this event will execute. More... | |
static uint64_t | GetEventCount () |
Get the number of events executed. More... | |
static Ptr< SimulatorImpl > | GetImplementation () |
Get the SimulatorImpl singleton. More... | |
static Time | GetMaximumSimulationTime () |
Get the maximum representable simulation time. More... | |
static EventId | GetStopEvent () |
Returns the Stop Event, or an invalid event if the simulation does not have a scheduled stop time. More... | |
static uint32_t | GetSystemId () |
Get the system id of this simulator. More... | |
static bool | IsExpired (const EventId &id) |
Check if an event has already run or been cancelled. More... | |
static bool | IsFinished () |
Check if the simulation should finish. More... | |
static Time | Now () |
Return the current simulation virtual time. More... | |
static void | Remove (const EventId &id) |
Remove an event from the event list. More... | |
static void | Run () |
Run the simulation. More... | |
static EventId | Schedule (const Time &delay, const Ptr< EventImpl > &event) |
Schedule a future event execution (in the same context). More... | |
static EventId | ScheduleDestroy (const Ptr< EventImpl > &event) |
Schedule an event to run at the end of the simulation, after the Stop() time or condition has been reached. More... | |
static EventId | ScheduleNow (const Ptr< EventImpl > &event) |
Schedule an event to run at the current virtual time. More... | |
static void | ScheduleWithContext (uint32_t context, const Time &delay, EventImpl *event) |
Schedule a future event execution (in a different context). More... | |
static void | SetImplementation (Ptr< SimulatorImpl > impl) |
static void | SetScheduler (ObjectFactory schedulerFactory) |
Set the scheduler type with an ObjectFactory. More... | |
static void | Stop () |
Tell the Simulator the calling event should be the last one executed. More... | |
static EventId | Stop (const Time &delay) |
Schedule the time delay until the Simulator should stop. More... | |
Schedule events (in the same context) to run at a future time. | |
template<typename FUNC , std::enable_if_t<!std::is_convertible_v< FUNC, Ptr< EventImpl >>, int > = 0, std::enable_if_t<!std::is_function_v< std::remove_pointer_t< FUNC >>, int > = 0, typename... Ts> | |
static EventId | Schedule (const Time &delay, FUNC f, Ts &&... args) |
Schedule an event to expire after delay . More... | |
template<typename... Us, typename... Ts> | |
static EventId | Schedule (const Time &delay, void(*f)(Us...), Ts &&... args) |
Schedule an event to expire after delay . More... | |
Schedule events (in a different context) to run now or at a future time. | |
See main-test-sync.cc for example usage. | |
template<typename FUNC , std::enable_if_t<!std::is_convertible_v< FUNC, Ptr< EventImpl >>, int > = 0, std::enable_if_t<!std::is_function_v< std::remove_pointer_t< FUNC >>, int > = 0, typename... Ts> | |
static void | ScheduleWithContext (uint32_t context, const Time &delay, FUNC f, Ts &&... args) |
Schedule an event with the given context. More... | |
template<typename... Us, typename... Ts> | |
static void | ScheduleWithContext (uint32_t context, const Time &delay, void(*f)(Us...), Ts &&... args) |
Schedule an event with the given context. More... | |
Schedule events (in the same context) to run now. | |
template<typename FUNC , std::enable_if_t<!std::is_convertible_v< FUNC, Ptr< EventImpl >>, int > = 0, std::enable_if_t<!std::is_function_v< std::remove_pointer_t< FUNC >>, int > = 0, typename... Ts> | |
static EventId | ScheduleNow (FUNC f, Ts &&... args) |
Schedule an event to expire Now. More... | |
template<typename... Us, typename... Ts> | |
static EventId | ScheduleNow (void(*f)(Us...), Ts &&... args) |
Schedule an event to expire Now. More... | |
Schedule events to run at the end of the simulation, when Simulator:Destroy() is | |
called. | |
template<typename FUNC , std::enable_if_t<!std::is_convertible_v< FUNC, Ptr< EventImpl >>, int > = 0, std::enable_if_t<!std::is_function_v< std::remove_pointer_t< FUNC >>, int > = 0, typename... Ts> | |
static EventId | ScheduleDestroy (FUNC f, Ts &&... args) |
Schedule an event to run at the end of the simulation, when Simulator::Destroy() is called. More... | |
template<typename... Us, typename... Ts> | |
static EventId | ScheduleDestroy (void(*f)(Us...), Ts &&... args) |
Schedule an event to run at the end of the simulation, when Simulator::Destroy() is called. More... | |
Static Private Member Functions | |
static EventId | DoSchedule (const Time &delay, EventImpl *event) |
Implementation of the various Schedule methods. More... | |
static EventId | DoScheduleDestroy (EventImpl *event) |
Implementation of the various ScheduleDestroy methods. More... | |
static EventId | DoScheduleNow (EventImpl *event) |
Implementation of the various ScheduleNow methods. More... | |
Static Private Attributes | |
static EventId | m_stopEvent |
Stop event (if present) More... | |
Control the scheduling of simulation events.
The internal simulation clock is maintained as a 64-bit integer in a unit specified by the user through the Time::SetResolution function. This means that it is not possible to specify event expiration times with anything better than this user-specified accuracy. Events whose expiration time is the same modulo this accuracy are scheduled in FIFO order: the first event inserted in the scheduling queue is scheduled to expire first.
A simple example of how to use the Simulator class to schedule events is shown in sample-simulator.cc:
Definition at line 67 of file simulator.h.
anonymous enum : uint32_t |
Context enum values.
Enumerator | |
---|---|
NO_CONTEXT | Flag for events not associated with any particular context. |
Definition at line 205 of file simulator.h.
|
delete |
|
delete |
|
static |
Set the cancel bit on this event: the event's associated function will not be invoked when it expires.
This method has the same visible effect as the ns3::Simulator::Remove method but its algorithmic complexity is much lower: it has O(1) complexity. This method has the exact same semantics as ns3::EventId::Cancel. Note that it is not possible to cancel events which were scheduled for the "destroy" time. Doing so will result in a program error (crash).
[in] | id | the event to cancel |
Definition at line 285 of file simulator.cc.
References ns3::SimulatorImpl::Cancel(), ns3::GetImpl(), and ns3::PeekImpl().
Referenced by ns3::DpdkNetDevice::~DpdkNetDevice(), ns3::EventGarbageCollector::~EventGarbageCollector(), ns3::EventId::Cancel(), ns3::ThreeGppHttpClient::CancelAllPendingEvents(), ns3::LteUeRrc::CancelEnteringTrigger(), ns3::OnOffApplication::CancelEvents(), ns3::LteUeRrc::CancelLeavingTrigger(), ns3::QKDApp004::CancelScheduledAction(), ns3::QKDApp014::CancelScheduledAction(), ns3::ThreeGppHttpServerTxBuffer::CloseAllSockets(), ns3::ThreeGppHttpServerTxBuffer::CloseSocket(), ns3::QKDBuffer::Dispose(), ns3::FlowMonitor::DoDispose(), ns3::DataCalculator::DoDispose(), ns3::QKDPostprocessingApplication::DoDispose(), ns3::BaseStationNetDevice::DoReceive(), ns3::SubscriberStationNetDevice::DoReceive(), ns3::UanPhyGen::EnergyDepletionHandler(), ns3::dsdv::RoutingTable::ForceDeleteIpv4Event(), ns3::QKDApp004::HandleReadFromKMS(), ns3::SSLinkManager::PerformRanging(), ns3::ThreeGppHttpServerTxBuffer::RemoveSocket(), ns3::NullMessageSimulatorImpl::RescheduleNullMessageEvent(), ns3::UanMacCw::SaveTimer(), ns3::SsServiceFlowManager::ScheduleDsaReq(), ns3::BsServiceFlowManager::ScheduleDsaRsp(), ns3::ShowProgress::SetInterval(), ns3::SubscriberStationNetDevice::SetTimer(), ns3::MeshWifiInterfaceMac::ShiftTbtt(), ns3::FlowMonitor::Start(), ns3::FdNetDevice::Start(), ns3::TapBridge::Start(), Sender::StartApplication(), ns3::SimpleOfdmWimaxPhy::StartReceive(), ns3::FlowMonitor::Stop(), ns3::FdNetDevice::Stop(), ns3::TapBridge::Stop(), Sender::StopApplication(), ns3::TutorialApp::StopApplication(), ns3::UdpClient::StopApplication(), ns3::UdpEchoClient::StopApplication(), ns3::UdpTraceClient::StopApplication(), ns3::Radvd::StopApplication(), ns3::PacketSocketClient::StopApplication(), ns3::QKDApp004::StopApplication(), ns3::QKDApp014::StopApplication(), and ns3::DpdkNetDevice::Write().
|
static |
Execute the events scheduled with ScheduleDestroy().
This method is typically invoked at the end of a simulation to avoid false-positive reports by a leak checker. After this method has been invoked, it is actually possible to restart a new simulation with a set of calls to Simulator::Run, Simulator::Schedule and Simulator::ScheduleWithContext.
Definition at line 142 of file simulator.cc.
References ns3::LogSetNodePrinter(), ns3::LogSetTimePrinter(), NS_LOG_FUNCTION_NOARGS, and ns3::PeekImpl().
Referenced by BenchSuite::BenchSuite(), BatteryLifetimeTest::ConstantLoadTest(), BasicEnergyDepletionTest::DepletionTestCase(), ns3::aodv::IdCacheTest::DoRun(), ns3::aodv::NeighborTest::DoRun(), ns3::aodv::AodvRqueueTest::DoRun(), ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::AodvRtableTest::DoRun(), ns3::aodv::LoopbackTestCase::DoRun(), ns3::tests::EventGarbageCollectorTestCase::DoRun(), ns3::tests::WatchdogTestCase::DoRun(), ns3::TcpBbrPacingEnableTest::DoRun(), ns3::TcpBbrCheckGainValuesTest::DoRun(), ns3::TcpLpToNewReno::DoRun(), ns3::TcpLpInferenceTest1::DoRun(), ns3::TcpLpInferenceTest2::DoRun(), CarrierAggregationConfigTestCase::DoRun(), ns3::LenaDeactivateBearerTestCase::DoRun(), LteHandoverDelayTestCase::DoRun(), LteHandoverFailureTestCase::DoRun(), SteadyStateRandomWaypointTest::DoRun(), WaypointMobilityModelNotifyTest::DoRun(), WaypointMobilityModelAddWaypointTest::DoRun(), ns3::olsr::Bug780Test::DoRun(), ns3::olsr::HelloRegressionTest::DoRun(), ns3::olsr::TcRegressionTest::DoRun(), ns3::TcpGeneralTest::DoTeardown(), Ns2MobilityHelperTest::DoTeardown(), experiment(), RoutingExperiment::Run(), NeighborCacheExample::Run(), Bench::Run(), Experiment::Run(), BasicEnergyUpdateTest::StateSwitchTest(), ns3::tests::TrickleTimerTestCase::TestRedundancy(), ns3::tests::TrickleTimerTestCase::TestSteadyState(), and BatteryLifetimeTest::VariableLoadTest().
Implementation of the various Schedule methods.
[in] | delay | Delay until the event should execute. |
[in] | event | The event to execute. |
Definition at line 251 of file simulator.cc.
References ns3::Singleton< DesMetrics >::Get(), ns3::GetImpl(), Now(), ns3::SimulatorImpl::Schedule(), and ns3::DesMetrics::Trace().
Referenced by Schedule().
Implementation of the various ScheduleDestroy methods.
[in] | event | The event to execute. |
Definition at line 269 of file simulator.cc.
References ns3::GetImpl(), and ns3::SimulatorImpl::ScheduleDestroy().
Referenced by ScheduleDestroy().
Implementation of the various ScheduleNow methods.
[in] | event | The event to execute. |
Definition at line 260 of file simulator.cc.
References ns3::Singleton< DesMetrics >::Get(), ns3::GetImpl(), Now(), ns3::SimulatorImpl::ScheduleNow(), and ns3::DesMetrics::Trace().
Referenced by ScheduleNow().
|
static |
Get the current simulation context.
The simulation context is the ns-3 notion of a Logical Process. Events in a single context should only modify state associated with that context. Events for objects in other contexts should be scheduled with ScheduleWithContext() to track the context switches. In other words, events in different contexts should be mutually thread safe, by not modify overlapping model state.
In circumstances where the context can't be determined, such as during object initialization, the enum
value NO_CONTEXT
should be used.
Definition at line 318 of file simulator.cc.
References ns3::SimulatorImpl::GetContext(), and ns3::GetImpl().
Referenced by ns3::DefaultNodePrinter(), ns3::Node::ReceiveFromDevice(), ns3::DesMetrics::Trace(), and ns3::DesMetrics::TraceWithContext().
Get the remaining time until this event will execute.
[in] | id | The event id to analyse. |
Definition at line 217 of file simulator.cc.
References ns3::SimulatorImpl::GetDelayLeft(), ns3::GetImpl(), and NS_LOG_FUNCTION.
Referenced by ns3::ThreeGppHttpClient::CancelAllPendingEvents(), ns3::LteUeRrc::CancelEnteringTrigger(), ns3::LteUeRrc::CancelLeavingTrigger(), ns3::ThreeGppHttpServerTxBuffer::CloseAllSockets(), ns3::ThreeGppHttpServerTxBuffer::CloseSocket(), ns3::TcpSocketBase::Destroy(), ns3::TcpSocketBase::Destroy6(), ns3::TcpSocketBase::DoForwardUp(), ns3::ChannelAccessManager::DoRestartAccessTimeoutIfNeeded(), ns3::HePhy::DoStartReceivePayload(), ns3::Timer::GetDelayLeft(), ns3::TrickleTimer::GetDelayLeft(), ns3::EmlsrManager::GetElapsedMediumSyncDelayTimer(), ns3::TrickleTimer::GetIntervalLeft(), ns3::Rip::HandleResponses(), ns3::RipNg::HandleResponses(), ns3::TcpSocketBase::NewAck(), ns3::LrWpanMac::PdDataIndication(), ns3::LrWpanMac::PlmeEdConfirm(), ns3::TcpSocketBase::ReceivedData(), ns3::ThreeGppHttpServerTxBuffer::RemoveSocket(), ns3::StaWifiMac::RestartBeaconWatchdog(), and ns3::Timer::Suspend().
|
static |
Get the number of events executed.
Definition at line 324 of file simulator.cc.
References ns3::SimulatorImpl::GetEventCount(), and ns3::GetImpl().
Referenced by ns3::ShowProgress::CheckProgress().
|
static |
Get the SimulatorImpl singleton.
As a side effect we also call LogSetTimePrinter() and LogSetNodePrinter() with the default implementations since we can't really do any logging until we have a SimulatorImpl and Scheduler.
Definition at line 373 of file simulator.cc.
References ns3::GetImpl(), and NS_LOG_FUNCTION_NOARGS.
Referenced by ns3::PyViz::SimulatorRunUntil().
|
static |
Get the maximum representable simulation time.
The returned value will always be bigger than or equal to Simulator::Now.
Definition at line 311 of file simulator.cc.
References ns3::GetImpl(), ns3::SimulatorImpl::GetMaximumSimulationTime(), and NS_LOG_FUNCTION_NOARGS.
Referenced by ns3::ChannelAccessManager::DoRestartAccessTimeoutIfNeeded(), ns3::RemoteChannelBundleManager::GetSafeTime(), ns3::aodv::RoutingProtocol::NotifyAddAddress(), ns3::dsdv::RoutingProtocol::NotifyAddAddress(), ns3::aodv::RoutingProtocol::NotifyInterfaceUp(), ns3::dsdv::RoutingProtocol::NotifyInterfaceUp(), ns3::aodv::RoutingProtocol::NotifyRemoveAddress(), ns3::aodv::RoutingProtocol::SetIpv4(), and ns3::dsdv::RoutingProtocol::SetIpv4().
|
static |
Returns the Stop Event, or an invalid event if the simulation does not have a scheduled stop time.
Definition at line 202 of file simulator.cc.
References m_stopEvent.
|
static |
Get the system id of this simulator.
The system id is the identifier for this simulator instance in a distributed simulation. For MPI this is the MPI rank.
Definition at line 330 of file simulator.cc.
References ns3::GetImpl(), ns3::SimulatorImpl::GetSystemId(), NS_LOG_FUNCTION_NOARGS, and ns3::PeekImpl().
Referenced by ns3::GlobalRouteManagerImpl::InitializeRoutes().
|
static |
Check if an event has already run or been cancelled.
This method has O(1) complexity. Note that it is not possible to test for the expiration of events which were scheduled for the "destroy" time. Doing so will result in a program error (crash). An event is said to "expire" when it starts being scheduled which means that if the code executed by the event calls this function, it will get true.
[in] | id | The event to test for expiration. |
true
if the event has expired, false otherwise. Definition at line 295 of file simulator.cc.
References ns3::GetImpl(), ns3::SimulatorImpl::IsExpired(), and ns3::PeekImpl().
Referenced by ns3::ThreeGppHttpClient::CancelAllPendingEvents(), ns3::ThreeGppHttpServerTxBuffer::CloseAllSockets(), ns3::ThreeGppHttpServerTxBuffer::CloseSocket(), ns3::EventId::IsExpired(), and ns3::ThreeGppHttpServerTxBuffer::RemoveSocket().
|
static |
Check if the simulation should finish.
Reasons to finish are because there are no more events lefts to be scheduled, or if simulation time has already reached the "stop time" (see Simulator::Stop()).
true
if no more events or stop time reached. Definition at line 171 of file simulator.cc.
References ns3::GetImpl(), ns3::SimulatorImpl::IsFinished(), and NS_LOG_FUNCTION_NOARGS.
Referenced by ns3::ThreeGppHttpClient::DoDispose(), ns3::ThreeGppHttpServer::DoDispose(), GraphBattery1(), GraphBattery2(), GraphBattery3(), GraphBattery4(), GraphBattery5(), ns3::AnimationInterface::MobilityAutoCheck(), PrintCellInfo(), visualizer.core.SimulationThread::run(), ns3::GenericBatteryModel::UpdateEnergySource(), ns3::LiIonEnergySource::UpdateEnergySource(), ns3::RvBatteryModel::UpdateEnergySource(), and ns3::BasicEnergyHarvester::UpdateHarvestedPower().
|
static |
Return the current simulation virtual time.
Definition at line 208 of file simulator.cc.
References ns3::GetImpl(), and ns3::SimulatorImpl::Now().
Referenced by ns3::LteUePhy::LteUePhy(), ns3::QKDKey::QKDKey(), ns3::RvBatteryModel::RvBatteryModel(), ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::WifiPhy::AbortCurrentReception(), ns3::SixLowPanNetDevice::AddContext(), ns3::dsr::DsrRouteCache::AddNeighbor(), ns3::flame::FlameRtable::AddPath(), ns3::dot11s::HwmpRtable::AddPrecursor(), ns3::dot11s::HwmpRtable::AddProactivePath(), ns3::dot11s::HwmpRtable::AddReactivePath(), ns3::LteEnbRrc::AddUeMeasReportConfig(), ns3::WaypointMobilityModel::AddWaypoint(), ns3::TcpBbr::AdvanceCyclePhase(), NodeStatistics::AdvancePosition(), ns3::UplinkSchedulerMBQoS::AllocateInitialRangingInterval(), ns3::UplinkSchedulerRtps::AllocateInitialRangingInterval(), ns3::UplinkSchedulerSimple::AllocateInitialRangingInterval(), ns3::AsciiLrWpanMacTransmitSinkWithContext(), ns3::AsciiLrWpanMacTransmitSinkWithoutContext(), ns3::AsciiPhyReceiveSinkWithContext(), ns3::AsciiPhyReceiveSinkWithoutContext(), ns3::AsciiPhyRxOkEvent(), ns3::AsciiPhyTransmitSinkWithContext(), ns3::AsciiPhyTransmitSinkWithoutContext(), ns3::AsciiPhyTxEvent(), ns3::WimaxHelper::AsciiRxEvent(), ns3::WimaxHelper::AsciiTxEvent(), ns3::UanMacRc::Associate(), AssociateConfirm(), ns3::UanMacRc::AssociateTimeout(), AssociationLog(), ns3::olsr::RoutingProtocol::AssociationTupleTimerExpire(), BackoffTrace(), BeaconIndication(), ns3::BSSchedulerRtps::BSSchedulerRTPSConnection(), ns3::BSSchedulerRtps::BSSchedulerUGSConnection(), BytesInQueueTrace(), ns3::ThreeGppSpectrumPropagationLossModel::CalcBeamformingGain(), ns3::BandwidthManager::CalculateAllocationSize(), ns3::WifiRemoteStationInfo::CalculateAveragingCoefficient(), ns3::BasicEnergyHarvester::CalculateHarvestedPower(), ns3::InterferenceHelper::CalculateMuMimoPowerW(), ns3::InterferenceHelper::CalculateNoiseInterferenceW(), ns3::BasicEnergySource::CalculateRemainingEnergy(), ns3::GenericBatteryModel::CalculateRemainingEnergy(), ns3::LiIonEnergySource::CalculateRemainingEnergy(), CalculateThroughput(), ns3::PyViz::CallbackStopSimulation(), ns3::dsr::DsrRouting::CallCancelPacketTimer(), ns3::OnOffApplication::CancelEvents(), Bench::Cb(), ChangeSignalAndReportRate(), ns3::AcousticModemEnergyModel::ChangeState(), ns3::WifiRadioEnergyModel::ChangeState(), ns3::LrWpanPhy::ChangeTrxState(), ns3::ThreeGppChannelModel::ChannelParamsNeedsUpdate(), ns3::UplinkSchedulerMBQoS::CheckDeadline(), ns3::FlowMonitor::CheckForLostPackets(), ns3::LrWpanPhy::CheckInterference(), CheckQueueDiscSize(), CheckQueueSize(), ns3::dsr::DsrRouting::CheckSendBuffer(), NodeStatistics::CheckStatistics(), CheckT1QueueSize(), CheckT2QueueSize(), RoutingExperiment::CheckThroughput(), ns3::RraaWifiManager::CheckTimeout(), ns3::RrpaaWifiManager::CheckTimeout(), ns3::dsr::DsrNetworkQueue::Cleanup(), ns3::ServiceFlow::CleanUpQueue(), ns3::QosFrameExchangeManager::ClearTxopHolderIfNeeded(), ns3::CobaltQueueDisc::CobaltShouldDrop(), ns3::CoDelGetTime(), CommStatusIndication(), ns3::DynamicQueueLimits::Completed(), ComputeSnr(), ns3::TcpBbr::CongestionStateSet(), ns3::TcpTxBuffer::CopyFromSequence(), Emitter::Count(), ns3::UplinkSchedulerMBQoS::CountSymbolsJobs(), Ns2MobilityHelperTest::CourseChange(), CourseChange(), WaypointMobilityModelNotifyTest::CourseChangeCallback(), WaypointMobilityModelAddWaypointTest::CourseChangeCallback(), ns3::MobilityHelper::CourseChanged(), ns3::LteUePhy::CreateDlCqiFeedbackMessage(), ns3::QKDKeyManagerSystemApplication::CreateNew004Association(), ns3::BlockAckManager::CreateOriginatorAgreement(), ns3::AnimationInterface::CsmaPhyRxEndTrace(), ns3::AnimationInterface::CsmaPhyTxBeginTrace(), ns3::AnimationInterface::CsmaPhyTxEndTrace(), CubicCwndTracer(), CwndChange(), ns3::TcpBbr::CwndEvent(), CwndTrace(), CwndTracer(), CwTrace(), DataIndication(), DataIndicationCoordinator(), DataSentMacConfirm(), ns3::ThompsonSamplingWifiManager::Decay(), ns3::SixLowPanNetDevice::DecompressLowPanIphc(), ns3::AsciiTraceHelper::DefaultDequeueSinkWithContext(), ns3::AsciiTraceHelper::DefaultDequeueSinkWithoutContext(), ns3::AsciiTraceHelper::DefaultDropSinkWithContext(), ns3::AsciiTraceHelper::DefaultDropSinkWithoutContext(), ns3::AsciiTraceHelper::DefaultEnqueueSinkWithContext(), ns3::AsciiTraceHelper::DefaultEnqueueSinkWithoutContext(), ns3::AsciiTraceHelper::DefaultReceiveSinkWithContext(), ns3::AsciiTraceHelper::DefaultReceiveSinkWithoutContext(), ns3::PcapHelper::DefaultSink(), ns3::DefaultTimePrinter(), ns3::dot11s::HwmpRtable::DeleteProactivePath(), ns3::TcpSocketBase::Destroy(), ns3::TcpSocketBase::Destroy6(), ns3::AnimationInterface::DevTxTrace(), ns3::ChannelAccessManager::DisableEdcaFor(), DisassociationLog(), ns3::RadioBearerStatsCalculator::DlRxPdu(), ns3::MacStatsCalculator::DlScheduling(), ns3::RadioBearerStatsCalculator::DlTxPdu(), ns3::LteEnbMac::DoAllocateNcRaPreamble(), ns3::TraceFadingLossModel::DoCalcRxPowerSpectralDensity(), ns3::AmrrWifiManager::DoCreateStation(), ns3::MinstrelHtWifiManager::DoCreateStation(), ns3::MinstrelWifiManager::DoCreateStation(), ns3::OnoeWifiManager::DoCreateStation(), ns3::CqaFfMacScheduler::DoCschedLcConfigReq(), ns3::FdBetFfMacScheduler::DoCschedLcConfigReq(), ns3::FdTbfqFfMacScheduler::DoCschedLcConfigReq(), ns3::PfFfMacScheduler::DoCschedLcConfigReq(), ns3::PssFfMacScheduler::DoCschedLcConfigReq(), ns3::TdBetFfMacScheduler::DoCschedLcConfigReq(), ns3::TdTbfqFfMacScheduler::DoCschedLcConfigReq(), ns3::CoDelQueueDisc::DoDequeue(), ns3::RedQueueDisc::DoDequeue(), ns3::TbfQueueDisc::DoDequeue(), ns3::PhyEntity::DoEndReceivePayload(), ns3::HePhy::DoEndReceivePayload(), ns3::WifiMacQueue::DoEnqueue(), ns3::RedQueueDisc::DoEnqueue(), ns3::WifiMacQueueContainer::DoExtractExpiredMpdus(), ns3::TcpSocketBase::DoForwardUp(), ns3::ConstantAccelerationMobilityModel::DoGetPosition(), ns3::ConstantAccelerationMobilityModel::DoGetVelocity(), ns3::ChannelAccessManager::DoGrantDcfAccess(), ns3::BasicEnergyHarvester::DoInitialize(), ns3::MeshWifiInterfaceMac::DoInitialize(), ns3::LteRlcAm::DoNotifyTxOpportunity(), ns3::LteRlcUm::DoNotifyTxOpportunity(), ns3::LteRlcSm::DoNotifyTxOpportunity(), ns3::PyViz::DoPause(), ns3::LteTestRrc::DoReceivePdcpSdu(), ns3::LteRlcAm::DoReceivePdu(), ns3::LteRlcUm::DoReceivePdu(), ns3::LteRlcSm::DoReceivePdu(), ns3::LtePdcp::DoReceivePdu(), ns3::MinstrelHtWifiManager::DoReportAmpduTxStatus(), ns3::LteRlcAm::DoReportBufferStatus(), ns3::LteRlcTm::DoReportBufferStatus(), ns3::LteRlcUm::DoReportBufferStatus(), ns3::MinstrelHtWifiManager::DoReportDataOk(), ns3::MinstrelHtWifiManager::DoReportFinalDataFailed(), ns3::LteUePhy::DoReset(), ns3::PhyEntity::DoResetReceive(), ns3::HePhy::DoResetReceive(), ns3::ChannelAccessManager::DoRestartAccessTimeoutIfNeeded(), ns3::tests::EventGarbageCollectorTestCase::DoRun(), ns3::FdTbfqFfMacScheduler::DoSchedDlTriggerReq(), DoSchedule(), DoScheduleNow(), ns3::ConstantAccelerationMobilityModel::DoSetPosition(), ns3::WaypointMobilityModel::DoSetPosition(), ns3::LteEnbPhy::DoSetSrsConfigurationIndex(), ns3::LteUePhy::DoSetSrsConfigurationIndex(), ns3::LteUeMac::DoSubframeIndication(), ns3::WifiPhyStateHelper::DoSwitchFromRx(), ns3::LteRlcAm::DoTransmitPdcpPdu(), ns3::LteRlcTm::DoTransmitPdcpPdu(), ns3::LteRlcUm::DoTransmitPdcpPdu(), ns3::LtePdcp::DoTransmitPdcpSdu(), DropAtQueue(), DroppingStateTracer(), ns3::PhyEntity::DropPreambleEvent(), ns3::olsr::RoutingProtocol::Dump(), ns3::olsr::RoutingProtocol::DupTupleTimerExpire(), ns3::TcpOptionTS::ElapsedTimeFromTsValue(), Emitter::Emit(), LteHandoverDelayTestCase::EnbHandoverEndOkCallback(), LteHandoverDelayTestCase::EnbHandoverStartCallback(), EnbRrcTimeout(), ns3::LrWpanPhy::EndEd(), ns3::LteEnbPhy::EndFrame(), ns3::PhyEntity::EndPreambleDetectionPeriod(), ns3::PhyEntity::EndReceiveField(), ns3::PhyEntity::EndReceivePayload(), ns3::LrWpanPhy::EndRx(), ns3::LteSpectrumPhy::EndRxData(), ns3::LteEnbPhy::EndSubFrame(), ns3::dsr::DsrNetworkQueue::Enqueue(), ns3::WimaxMacQueue::Enqueue(), ns3::UanMacCw::Enqueue(), ns3::QueueDisc::Enqueue(), ns3::LrWpanMac::EnqueueInd(), ns3::TcpSocketBase::EstimateRtt(), ns3::RedQueueDisc::Estimator(), anonymous_namespace{sample-show-progress.cc}::Hold::Event(), EveryDropTracer(), anonymous_namespace{sample-simulator.cc}::ExampleFunction(), ns3::Watchdog::Expire(), ns3::WifiTxTimer::Expire(), ns3::tests::WatchdogTestCase::Expire(), ns3::tests::TrickleTimerTestCase::ExpireTimer(), ns3::QKDBuffer::FetchDeltaTime(), ns3::dsr::DsrRreqTable::FindAndUpdate(), ns3::dsr::DsrGraReply::FindAndUpdate(), ns3::SixLowPanNetDevice::FindMulticastCompressionContext(), ns3::SixLowPanNetDevice::FindUnicastCompressionContext(), ns3::ThreeGppHttpClient::FinishReceivingPage(), ns3::ArpCache::Flush(), ns3::olsr::RoutingProtocol::ForwardDefault(), ns3::dsr::DsrRouting::ForwardErrPacket(), ns3::ThreeGppChannelModel::GenerateChannelParameters(), ns3::LteUePhy::GenerateCqiRsrpRsrq(), ns3::LteEnbPhy::GenerateCtrlCqiReport(), GenerateTraffic(), ns3::AnimationInterface::GenericWirelessRxTrace(), ns3::AnimationInterface::GenericWirelessTxTrace(), ns3::ChannelAccessManager::GetAccessGrantStart(), ns3::QKDBuffer::GetAverageKeyConsumptionRate(), ns3::ApWifiMac::GetBufferStatus(), ns3::ThreeGppChannelConditionModel::GetChannelCondition(), ns3::UplinkSchedulerMBQoS::GetChannelDescriptorsToUpdate(), ns3::UplinkSchedulerRtps::GetChannelDescriptorsToUpdate(), ns3::UplinkSchedulerSimple::GetChannelDescriptorsToUpdate(), ns3::GenericBatteryModel::GetChargeVoltage(), ns3::WifiTxTimer::GetDelayLeft(), ns3::WifiPhyStateHelper::GetDelayUntilIdle(), ns3::InterferenceHelper::GetEnergyDuration(), ns3::aodv::QueueEntry::GetExpireTime(), ns3::dsdv::QueueEntry::GetExpireTime(), ns3::dsr::DsrErrorBuffEntry::GetExpireTime(), ns3::dsr::DsrMaintainBuffEntry::GetExpireTime(), ns3::dsr::DsrPassiveBuffEntry::GetExpireTime(), ns3::dsr::DsrRouteCacheEntry::GetExpireTime(), ns3::dsr::DsrReceivedRreqEntry::GetExpireTime(), ns3::dsr::DsrSendBuffEntry::GetExpireTime(), ns3::aodv::Neighbors::GetExpireTime(), ns3::dsr::DsrRouteCache::GetExpireTime(), ns3::BridgeNetDevice::GetLearnedState(), ns3::aodv::RoutingTableEntry::GetLifeTime(), ns3::dsdv::RoutingTableEntry::GetLifeTime(), ns3::dsr::DsrLinkStab::GetLinkStability(), ns3::Node::GetLocalTime(), ns3::TidToLinkMapping::GetMappingSwitchTime(), ns3::ThreeGppChannelModel::GetNewChannel(), ns3::dsr::DsrNodeStab::GetNodeStability(), ns3::PyViz::GetPauseMessages(), ns3::ChannelAccessManager::GetPer20MHzBusy(), ns3::dot11s::HwmpRtable::GetPrecursors(), ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::QosTxop::GetRemainingTxop(), ns3::HePhy::GetRxPpduFromTxPpdu(), GetSetTRXStateConfirm(), ns3::TcpHtcp::GetSsThresh(), ns3::WifiPhyStateHelper::GetState(), ns3::LrWpanCsmaCa::GetTimeLeftInCap(), ns3::SubscriberStationNetDevice::GetTimeToAllocation(), ns3::LrWpanCsmaCa::GetTimeToNextSlot(), ns3::SimpleDeviceEnergyModel::GetTotalEnergyConsumption(), ns3::WifiRadioEnergyModel::GetTotalEnergyConsumption(), ns3::GenericBatteryModel::GetVoltage(), GoodputSampling(), GraphBattery1(), GraphBattery2(), GraphBattery4(), GraphBattery5(), anonymous_namespace{sample-simulator.cc}::MyModel::HandleEvent(), ns3::TcpBbr::HandleProbeRTT(), ns3::PacketSink::HandleRead(), ns3::QKDKeyManagerSystemApplication::HandleRead(), ns3::QKDSDNController::HandleRead(), ns3::UdpEchoClient::HandleRead(), ns3::UdpEchoServer::HandleRead(), ns3::UdpServer::HandleRead(), ns3::Radvd::HandleRead(), ns3::PacketSocketServer::HandleRead(), ns3::QKDApp004::HandleReadFromApp(), ns3::QKDApp014::HandleReadFromApp(), ns3::QKDApp004::HandleReadFromKMS(), ns3::QKDApp014::HandleReadFromKMS(), ns3::QKDKeyManagerSystemApplication::HandleReadKMSs(), ns3::QKDKeyManagerSystemApplication::HandleReadSDN(), ns3::QKDApp004::HandleReadSignalingFromApp(), ns3::QKDApp014::HandleReadSignalingFromApp(), ns3::Icmpv6L4Protocol::HandleRsTimeout(), ns3::PhyEntity::HandleRxPpduWithSameContent(), ns3::Ipv4ClickRouting::HandleScheduleFromClick(), ns3::Ipv4L3Protocol::HandleTimeout(), ns3::Ipv6ExtensionFragment::HandleTimeout(), ns3::SixLowPanNetDevice::HandleTimeout(), ns3::ArpCache::HandleWaitReplyTimeout(), HarvestedPower(), ns3::aodv::RoutingProtocol::HelloTimerExpire(), ns3::TcpCubic::HystartReset(), ns3::TcpCubic::HystartUpdate(), ns3::olsr::RoutingProtocol::IfaceAssocTupleTimerExpire(), InFlightTracer(), ns3::ChannelAccessManager::InitLastBusyStructs(), ns3::WifiMacQueue::Insert(), ns3::aodv::RoutingTableEntry::Invalidate(), ns3::dsr::DsrRouteCacheEntry::Invalidate(), ns3::Ipv4L3ProtocolDropSinkWithContext(), ns3::Ipv4L3ProtocolDropSinkWithoutContext(), ns3::Ipv4L3ProtocolRxSinkWithContext(), ns3::Ipv4L3ProtocolRxSinkWithoutContext(), ns3::Ipv4L3ProtocolRxTxSink(), ns3::Ipv4L3ProtocolTxSinkWithContext(), ns3::Ipv4L3ProtocolTxSinkWithoutContext(), ns3::Ipv6L3ProtocolDropSinkWithContext(), ns3::Ipv6L3ProtocolDropSinkWithoutContext(), ns3::Ipv6L3ProtocolRxSinkWithContext(), ns3::Ipv6L3ProtocolRxSinkWithoutContext(), ns3::Ipv6L3ProtocolRxTxSink(), ns3::Ipv6L3ProtocolTxSinkWithContext(), ns3::Ipv6L3ProtocolTxSinkWithoutContext(), ns3::ChannelAccessManager::IsBusy(), ns3::aodv::IdCache::IsDuplicate(), ns3::Probe::IsEnabled(), ns3::ArpCache::Entry::IsExpired(), ns3::FrameCaptureModel::IsInCaptureWindow(), ns3::AnimationInterface::IsInTimeWindow(), ns3::TcpBbr::IsNextCyclePhase(), ns3::BridgeNetDevice::Learn(), LimitsTrace(), ns3::olsr::RoutingProtocol::LinkSensing(), ns3::DhcpClient::LinkStateHandler(), ns3::olsr::RoutingProtocol::LinkTupleAdded(), ns3::olsr::RoutingProtocol::LinkTupleTimerExpire(), ns3::olsr::RoutingProtocol::LinkTupleUpdated(), ns3::TraceFadingLossModel::LoadTrace(), ns3::WifiPhyStateHelper::LogPreviousIdleAndCcaBusyStates(), ns3::flame::FlameRtable::Lookup(), ns3::dot11s::HwmpRtable::LookupProactive(), ns3::dot11s::HwmpRtable::LookupProactiveExpired(), ns3::dot11s::HwmpRtable::LookupReactive(), ns3::dot11s::HwmpRtable::LookupReactiveExpired(), ns3::AnimationInterface::LrWpanPhyRxBeginTrace(), ns3::AnimationInterface::LrWpanPhyTxBeginTrace(), ns3::AnimationInterface::LteSpectrumPhyRxStart(), ns3::AnimationInterface::LteSpectrumPhyTxStart(), MacRxTrace(), MacTxTrace(), ns3::dsr::DsrRreqTable::MarkLinkAsUnidirectional(), ns3::StaWifiMac::MissedBeacons(), modify(), ns3::olsr::RoutingProtocol::MprSelTupleTimerExpire(), ns3::QosTxop::MuEdcaTimerRunning(), ns3::FrameExchangeManager::NavResetTimeout(), ns3::olsr::RoutingProtocol::Nb2hopTupleTimerExpire(), ns3::ChannelAccessManager::NeedBackoffUponAccess(), ns3::BlockAckManager::NeedBarRetransmission(), ns3::olsr::RoutingProtocol::NeighborLoss(), ns3::TcpSocketBase::NewAck(), NextRxTracer(), NextTxTracer(), ns3::ChannelAccessManager::NotifyAckTimeoutResetNow(), ns3::ChannelAccessManager::NotifyAckTimeoutStartNow(), ns3::Ipv4GlobalRouting::NotifyAddAddress(), ns3::dot11s::PeerManagementProtocol::NotifyBeaconSent(), ns3::ChannelAccessManager::NotifyCcaBusyStartNow(), ns3::QosTxop::NotifyChannelAccessed(), ns3::EhtFrameExchangeManager::NotifyChannelReleased(), ns3::QosTxop::NotifyChannelReleased(), NotifyConnectionEstablishedEnb(), NotifyConnectionEstablishedUe(), NotifyConnectionReleaseAtEnodeB(), NotifyConnectionTimeoutUe(), ns3::ChannelAccessManager::NotifyCtsTimeoutResetNow(), ns3::ChannelAccessManager::NotifyCtsTimeoutStartNow(), ns3::BlockAckManager::NotifyGotAck(), ns3::BlockAckManager::NotifyGotBlockAck(), NotifyHandoverEndOkEnb(), NotifyHandoverEndOkUe(), NotifyHandoverFailure(), NotifyHandoverStartEnb(), NotifyHandoverStartUe(), ns3::Ipv4GlobalRouting::NotifyInterfaceDown(), ns3::Ipv4GlobalRouting::NotifyInterfaceUp(), ns3::PhyEntity::NotifyInterferenceRxEndAndClear(), ns3::BlockAckManager::NotifyMissedAck(), ns3::BlockAckManager::NotifyMissedBlockAck(), ns3::ChannelAccessManager::NotifyNavResetNow(), ns3::ChannelAccessManager::NotifyNavStartNow(), ns3::BlockAckManager::NotifyOriginatorAgreementEstablished(), ns3::BlockAckManager::NotifyOriginatorAgreementNoReply(), ns3::BlockAckManager::NotifyOriginatorAgreementRejected(), ns3::BlockAckManager::NotifyOriginatorAgreementReset(), NotifyRandomAccessErrorUe(), NotifyRaResponseTimeoutUe(), ns3::Ipv4GlobalRouting::NotifyRemoveAddress(), ns3::ChannelAccessManager::NotifyRxEndErrorNow(), ns3::ChannelAccessManager::NotifyRxEndOkNow(), ns3::ChannelAccessManager::NotifyRxStartNow(), ns3::ChannelAccessManager::NotifySwitchingStartNow(), ns3::ChannelAccessManager::NotifyTxStartNow(), ns3::Now(), ns3::TcpOptionTS::NowToTsValue(), ns3::CoDelQueueDisc::OkToDrop(), ns3::dsr::DsrRreqTable::IsExpired::operator()(), ns3::dsr::CloseNeighbor::operator()(), ns3::dsr::DsrGraReply::IsExpired::operator()(), ns3::aodv::CloseNeighbor::operator()(), ns3::aodv::IdCache::IsExpired::operator()(), OrphanIndication(), PacingRateTracer(), PacketDequeue(), ns3::QueueDisc::PacketDequeued(), ns3::dsr::DsrRouting::PacketNewRoute(), ns3::PcapSniffLrWpan(), ns3::WifiPhyHelper::PcapSniffRxEvent(), ns3::WifiPhyHelper::PcapSniffTxEvent(), ns3::PcapSniffTxRxEvent(), ns3::LrWpanMac::PdDataConfirm(), ns3::LrWpanMac::PdDataIndication(), ns3::TcpSocketBase::PersistTimeout(), PhyRxDoneTrace(), PhyRxDropTrace(), PhyRxErrorTrace(), PhyRxOkTrace(), PhyRxPayloadTrace(), PhyRxTrace(), PhyStateTrace(), PhySyncDetection(), PhyTxDoneTrace(), PhyTxTrace(), ns3::QosFrameExchangeManager::PifsRecovery(), ns3::Watchdog::Ping(), ns3::TcpCubic::PktsAcked(), ns3::TcpHtcp::PktsAcked(), ns3::TcpLp::PktsAcked(), ns3::LrWpanPhy::PlmeEdRequest(), PollConfirm(), ns3::olsr::RoutingProtocol::PopulateMprSelectorSet(), ns3::olsr::RoutingProtocol::PopulateTwoHopNeighborSet(), ns3::EhtFrameExchangeManager::PostProcessFrame(), PowerCallback(), ns3::DelayJitterEstimation::PrepareTx(), ns3::aodv::RoutingTableEntry::Print(), ns3::dsdv::RoutingTableEntry::Print(), ns3::dsr::DsrRouteCacheEntry::Print(), ns3::WifiMpdu::Print(), ns3::Ipv4RoutingHelper::PrintArpCache(), ns3::Ipv4RoutingHelper::PrintArpCacheEvery(), PrintCellInfo(), PrintIntermediateTput(), IpAddressHelper::PrintIpAddresses(), ns3::Ipv6RoutingHelper::PrintNdiscCache(), ns3::Ipv6RoutingHelper::PrintNdiscCacheEvery(), ns3::LrWpanMac::PrintPendingTxQueue(), PrintPosition(), PrintProgress(), PrintReceivedPacket(), UanExperiment::PrintReceivedPacket(), ns3::Ping::PrintReport(), PrintThroughput(), ns3::LrWpanMac::PrintTxQueue(), ns3::UplinkSchedulerMBQoS::ProcessBandwidthRequest(), ns3::olsr::RoutingProtocol::ProcessHello(), ns3::olsr::RoutingProtocol::ProcessHna(), ns3::QKDGraph::ProcessMCurrent(), ns3::QKDTotalGraph::ProcessMCurrent(), ns3::olsr::RoutingProtocol::ProcessMid(), ns3::QKDGraph::ProcessMStatus(), ns3::QKDTotalGraph::ProcessMThr(), ns3::QKDGraph::ProcessMThrStatus(), ns3::BSLinkManager::ProcessRangingRequest(), ns3::HePhy::ProcessSigA(), ns3::olsr::RoutingProtocol::ProcessTc(), ns3::dsr::DsrRouting::PromiscReceive(), ns3::QKDKeyManagerSystemApplication::PurgeExpiredAssociations(), ns3::LrWpanMac::PurgeInd(), ns3::AnimationInterface::PurgePendingPackets(), RadioLinkFailure(), anonymous_namespace{sample-simulator.cc}::RandomFunction(), ns3::BaseStationNetDevice::RangingOppStart(), RateCallback(), ns3::dot11s::HwmpProtocol::ReactivePathResolved(), ns3::MeshWifiInterfaceMac::Receive(), ns3::UanTransducerHd::Receive(), Receiver::Receive(), ns3::Ping::Receive(), ns3::V4TraceRoute::Receive(), ns3::StaWifiMac::ReceiveBeacon(), ns3::dot11s::PeerManagementProtocol::ReceiveBeacon(), ns3::TcpSocketBase::ReceivedData(), ns3::ThreeGppHttpServer::ReceivedDataCallback(), ns3::ThreeGppHttpClient::ReceiveEmbeddedObject(), ns3::OpenFlowSwitchNetDevice::ReceiveFromDevice(), ns3::LteUePhy::ReceiveLteControlMessageList(), ns3::ThreeGppHttpClient::ReceiveMainObject(), ns3::GrantedTimeWindowMpiInterface::ReceiveMessages(), ns3::NullMessageMpiInterface::ReceiveMessages(), ns3::EhtFrameExchangeManager::ReceiveMpdu(), ns3::UanMacRcGw::ReceivePacket(), ReceivePdDataIndication(), ns3::DelayJitterEstimation::RecordRx(), ns3::dsdv::RoutingProtocol::RecvDsdv(), ns3::olsr::RoutingProtocol::RecvOlsr(), ns3::aodv::RoutingProtocol::RecvRequest(), RemainingEnergy(), RemainingEnergyTrace(), ns3::Ipv4L3Protocol::RemoveDuplicates(), ns3::olsr::RoutingProtocol::RemoveLinkTuple(), ns3::flame::FlameProtocol::RemoveRoutingStuff(), ns3::SixLowPanNetDevice::RenewContext(), anonymous_namespace{sample-log-time-format.cc}::ReplacementTimePrinter(), ns3::MeshHelper::Report(), ns3::PhyStatsCalculator::ReportCurrentCellRsrpSinr(), ns3::FlowMonitor::ReportFirstTx(), ns3::FlowMonitor::ReportForwarding(), ns3::PhyStatsCalculator::ReportInterference(), ns3::FlowMonitor::ReportLastRx(), ns3::WifiRemoteStationManager::ReportRxOk(), ns3::LteUePhy::ReportUeMeasurements(), ns3::PhyStatsCalculator::ReportUeSinr(), ns3::ThreeGppHttpClient::RequestEmbeddedObject(), ns3::ThreeGppHttpClient::RequestMainObject(), ns3::flame::FlameProtocol::RequestRoute(), SampleEmitter::Reschedule(), ns3::WifiTxTimer::Reschedule(), ns3::RadioBearerStatsCalculator::RescheduleEndEpoch(), ns3::FrameExchangeManager::Reset(), ns3::DynamicQueueLimits::Reset(), ns3::HeFrameExchangeManager::Reset(), ns3::ChannelAccessManager::ResetBackoff(), ns3::WifiPhy::ResetCca(), ns3::RraaWifiManager::ResetCountersBasic(), ns3::RrpaaWifiManager::ResetCountersBasic(), ns3::PhyEntity::ResetReceive(), ns3::ChannelAccessManager::ResetState(), ResetTrace(), ns3::StaWifiMac::RestartBeaconWatchdog(), ns3::dot11s::HwmpProtocol::RetryPathDiscovery(), ns3::TcpSocketBase::ReTxTimeout(), ns3::LteUePhy::RlfDetection(), ns3::olsr::RoutingProtocol::RoutingTableComputation(), RtoTracer(), ns3::UanMacRc::RtsTimeout(), RttTracer(), ns3::Ipv4ClickRouting::RunClickEvent(), RxDrop(), RxEvent(), ns3::UanMacAloha::RxPacketError(), RxTracer(), ns3::dsr::DsrRouting::SalvagePacket(), ns3::UanMacCw::SaveTimer(), ScanConfirm(), ns3::UplinkSchedulerMBQoS::Schedule(), ns3::RealtimeSimulatorImpl::Schedule(), ns3::UanMacRc::ScheduleData(), ScheduleWithContext(), ns3::SSScheduler::SelectConnection(), ns3::BSSchedulerSimple::SelectConnection(), ns3::UdpClient::Send(), ns3::UdpEchoClient::Send(), ns3::Ping::Send(), ns3::V4TraceRoute::Send(), ns3::PacketSocketClient::Send(), ns3::dsr::DsrRouting::Send(), ns3::Radvd::Send(), ns3::dsr::DsrRouting::SendAck(), ns3::BulkSendApplication::SendData(), ns3::TcpSocketBase::SendDataPacket(), ns3::TcpSocketCongestedRouter::SendDataPacket(), ns3::TcpSocketBase::SendEmptyPacket(), ns3::TcpSocketSmallAcks::SendEmptyPacket(), ns3::dsr::DsrRouting::SendGratuitousReply(), ns3::olsr::RoutingProtocol::SendHello(), Sender::SendPacket(), ns3::OnOffApplication::SendPacket(), ns3::dsr::DsrRouting::SendPacket(), ns3::dsr::DsrRouting::SendPacketFromBuffer(), ns3::olsr::Bug780Test::SendPing(), ns3::dsr::DsrRouting::SendReply(), ns3::aodv::RoutingProtocol::SendRequest(), ns3::dsr::DsrRouting::SendRequest(), ns3::aodv::RoutingProtocol::SendRerrMessage(), ns3::aodv::RoutingProtocol::SendRerrWhenNoRouteToForward(), ns3::Icmpv6L4Protocol::SendRS(), ns3::UanMacRc::SendRts(), UanExperiment::SendSinglePacket(), ns3::dsr::DsrRouting::SendUnreachError(), ns3::MgtProbeResponseHeader::SerializeImpl(), ns3::ThreeGppHttpServer::ServeFromTxBuffer(), ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequests(), ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequestsBytes(), ns3::UplinkSchedulerMBQoS::ServiceUnsolicitedGrants(), ns3::UplinkSchedulerRtps::ServiceUnsolicitedGrants(), ns3::UplinkSchedulerSimple::ServiceUnsolicitedGrants(), ns3::WifiTxTimer::Set(), ns3::TcpBbr::SetBbrState(), ns3::ApWifiMac::SetBufferStatus(), ns3::SimpleDeviceEnergyModel::SetCurrentA(), ns3::aodv::QueueEntry::SetExpireTime(), ns3::dsdv::QueueEntry::SetExpireTime(), ns3::dsr::DsrErrorBuffEntry::SetExpireTime(), ns3::dsr::DsrMaintainBuffEntry::SetExpireTime(), ns3::dsr::DsrPassiveBuffEntry::SetExpireTime(), ns3::dsr::DsrRouteCacheEntry::SetExpireTime(), ns3::dsr::DsrReceivedRreqEntry::SetExpireTime(), ns3::dsr::DsrSendBuffEntry::SetExpireTime(), ns3::RemoteChannelBundle::SetGuaranteeTime(), ns3::aodv::RoutingTableEntry::SetLifeTime(), ns3::dsr::DsrLinkStab::SetLinkStability(), ns3::TidToLinkMapping::SetMappingSwitchTime(), ns3::AcousticModemEnergyModel::SetMicroModemState(), ns3::dsr::DsrNodeStab::SetNodeStability(), ns3::ConstantVelocityHelper::SetPosition(), ns3::DhcpHeader::SetTime(), ns3::Ipv4L3Protocol::SetTimeout(), ns3::Ipv6ExtensionFragment::SetTimeout(), ns3::SixLowPanNetDevice::SetTimeout(), ns3::HePhy::SetTrigVector(), ns3::ChannelAccessManager::SetupPhyListener(), ns3::ConstantVelocityHelper::SetVelocity(), ns3::ConstantAccelerationMobilityModel::SetVelocityAndAcceleration(), ns3::WifiRadioEnergyModel::SetWifiRadioState(), ns3::MeshWifiInterfaceMac::ShiftTbtt(), ns3::dot11s::HwmpProtocol::ShouldSendPreq(), showPosition(), simclick_sim_command(), simclick_sim_send(), ns3::PyViz::SimulatorRunUntil(), ns3::PcapHelper::SinkWithHeader(), ns3::TcpRateLinux::SkbDelivered(), ns3::TcpRateLinux::SkbSent(), SocketPrinter(), SocketSendTrace(), SsThreshTracer(), anonymous_namespace{sample-simulator.cc}::MyModel::Start(), ns3::LteTestRrc::Start(), ns3::Ping::StartApplication(), ns3::V4TraceRoute::StartApplication(), ns3::Txop::StartBackoffNow(), ns3::LrWpanMac::StartCAP(), StartConfirm(), ns3::UanMacRcGw::StartCycle(), ns3::BaseStationNetDevice::StartDlSubFrame(), StartFlow(), ns3::BaseStationNetDevice::StartFrame(), ns3::QosTxop::StartMuEdcaTimerNow(), ns3::NdiscCache::Entry::StartReachableTimer(), ns3::PhyEntity::StartReceivePreamble(), ns3::LrWpanPhy::StartRx(), ns3::LteSpectrumPhy::StartRxData(), ns3::LteSpectrumPhy::StartRxDlCtrl(), ns3::UanPhyGen::StartRxPacket(), ns3::LteSpectrumPhy::StartRxUlSrs(), ns3::OnOffApplication::StartSending(), ns3::LteEnbPhy::StartSubFrame(), ns3::UanMacCw::StartTimer(), ns3::BaseStationNetDevice::StartUlSubFrame(), ns3::V4TraceRoute::StartWaitReplyTimer(), ns3::ArpCache::StartWaitReplyTimer(), ns3::LteUePhy::SubframeIndication(), ns3::WifiPhyStateHelper::SwitchFromOff(), ns3::WifiPhyStateHelper::SwitchFromRxAbort(), ns3::WifiPhyStateHelper::SwitchFromRxEndError(), ns3::WifiPhyStateHelper::SwitchFromRxEndOk(), ns3::WifiPhyStateHelper::SwitchFromSleep(), ns3::WifiPhyStateHelper::SwitchMaybeToCcaBusy(), ns3::WifiPhyStateHelper::SwitchToChannelSwitching(), ns3::WifiPhyStateHelper::SwitchToOff(), ns3::WifiPhyStateHelper::SwitchToRx(), ns3::WifiPhyStateHelper::SwitchToSleep(), ns3::WifiPhyStateHelper::SwitchToTx(), TcPacketsInQueue(), TestDeterministicByTime(), Throughput(), ns3::olsr::RoutingProtocol::TopologyTupleTimerExpire(), TotalEnergy(), TotalEnergyHarvested(), ns3::PyViz::TraceDevQueueDrop(), TraceDrop(), TraceDropsFrequency(), TraceFirstCwnd(), TraceFirstDctcp(), TraceFirstRtt(), TraceFirstThroughput(), TraceMark(), TraceMarksFrequency(), TraceN0Cwnd(), TraceN0Rtt(), TraceN0Throughput(), TraceN1Cwnd(), TraceN1Rtt(), TraceN1Throughput(), ns3::PyViz::TraceNetDevRxCommon(), ns3::PyViz::TraceNetDevTxCommon(), TracePacketReception(), TracePingRtt(), TraceQueueDrop(), TraceQueueLength(), TraceQueueMark(), TraceSecondCwnd(), TraceSecondDctcp(), TraceSecondRtt(), TraceSecondThroughput(), ns3::TimeSeriesAdaptor::TraceSinkDouble(), ns3::AnimationInterface::TrackIpv4L3ProtocolCounters(), ns3::AnimationInterface::TrackIpv4Route(), ns3::AnimationInterface::TrackQueueCounters(), ns3::AnimationInterface::TrackWifiMacCounters(), ns3::AnimationInterface::TrackWifiPhyCounters(), TransEndIndication(), ns3::UanTransducerHd::Transmit(), ns3::PointToPointRemoteChannel::TransmitStart(), TxTracer(), LteHandoverDelayTestCase::UeHandoverEndOkCallback(), LteHandoverDelayTestCase::UeHandoverStartCallback(), UeStateTransition(), ns3::RadioBearerStatsCalculator::UlRxPdu(), ns3::MacStatsCalculator::UlScheduling(), ns3::RadioBearerStatsCalculator::UlTxPdu(), ns3::ConstantVelocityHelper::Update(), ns3::WaypointMobilityModel::Update(), ns3::aodv::Neighbors::Update(), ns3::TcpBic::Update(), ns3::TcpCubic::Update(), ns3::TcpBbr::UpdateAckAggregation(), ns3::TcpHtcp::UpdateAlpha(), UpdateAnimation(), ns3::ChannelAccessManager::UpdateBackoff(), ns3::TcpLedbat::UpdateBaseDelay(), ns3::Ipv4L3Protocol::UpdateDuplicate(), ns3::BasicEnergySource::UpdateEnergySource(), ns3::GenericBatteryModel::UpdateEnergySource(), ns3::LiIonEnergySource::UpdateEnergySource(), ns3::RvBatteryModel::UpdateEnergySource(), ns3::BasicEnergyHarvester::UpdateHarvestedPower(), ns3::QKDBuffer::UpdateKeyConsumptionStatistics(), ns3::QKDBuffer::UpdateKeyGenerationStatistics(), ns3::ChannelAccessManager::UpdateLastIdlePeriod(), ns3::RedQueueDisc::UpdateMaxP(), ns3::AmrrWifiManager::UpdateMode(), ns3::OnoeWifiManager::UpdateMode(), ns3::FrameExchangeManager::UpdateNav(), ns3::dsr::DsrRouteCache::UpdateNeighbor(), ns3::BlockAckManager::UpdateOriginatorAgreement(), ns3::NdiscCache::Entry::UpdateReachableTimer(), ns3::TcpBbr::UpdateRTprop(), ns3::TcpSocketBase::UpdateRttHistory(), ns3::ArpCache::Entry::UpdateSeen(), ns3::MinstrelHtWifiManager::UpdateStats(), ns3::MinstrelWifiManager::UpdateStats(), ns3::EhtFrameExchangeManager::UpdateTxopEndOnRxEnd(), ns3::EhtFrameExchangeManager::UpdateTxopEndOnRxStartIndication(), ns3::EhtFrameExchangeManager::UpdateTxopEndOnTxStart(), ns3::BaseStationNetDevice::UplinkAllocationEnd(), ns3::BaseStationNetDevice::UplinkAllocationStart(), ns3::UplinkSchedulerMBQoS::UplinkSchedWindowTimer(), ns3::FrameExchangeManager::VirtualCsMediumIdle(), ns3::AnimationInterface::WifiPhyRxBeginTrace(), ns3::AnimationInterface::WifiPhyTxBeginTrace(), ns3::AnimationInterface::WriteXmlRouting(), ns3::AnimationInterface::WriteXmlRp(), ns3::AnimationInterface::WriteXmlUpdateLink(), ns3::AnimationInterface::WriteXmlUpdateNodeColor(), ns3::AnimationInterface::WriteXmlUpdateNodeCounter(), ns3::AnimationInterface::WriteXmlUpdateNodeDescription(), ns3::AnimationInterface::WriteXmlUpdateNodeImage(), ns3::AnimationInterface::WriteXmlUpdateNodePosition(), and ns3::AnimationInterface::WriteXmlUpdateNodeSize().
|
static |
Remove an event from the event list.
This method has the same visible effect as the ns3::EventId::Cancel method but its algorithmic complexity is much higher: it has often O(log(n)) complexity, sometimes O(n), sometimes worse. Note that it is not possible to remove events which were scheduled for the "destroy" time. Doing so will result in a program error (crash).
[in] | id | The event to remove from the list of scheduled events. |
Definition at line 275 of file simulator.cc.
References ns3::GetImpl(), ns3::PeekImpl(), and ns3::SimulatorImpl::Remove().
Referenced by ns3::RandomWalk2dOutdoorMobilityModel::DoSetPosition(), and ns3::EventId::Remove().
|
static |
Run the simulation.
The simulation will run until one of:
Definition at line 178 of file simulator.cc.
References ns3::Time::ClearMarkedTimes(), ns3::GetImpl(), NS_LOG_FUNCTION_NOARGS, and ns3::SimulatorImpl::Run().
Referenced by BatteryLifetimeTest::ConstantLoadTest(), BasicEnergyDepletionTest::DepletionTestCase(), ns3::aodv::IdCacheTest::DoRun(), ns3::aodv::NeighborTest::DoRun(), ns3::aodv::AodvRqueueTest::DoRun(), ns3::aodv::LoopbackTestCase::DoRun(), ns3::tests::EventGarbageCollectorTestCase::DoRun(), ns3::tests::WatchdogTestCase::DoRun(), ns3::TcpBbrPacingEnableTest::DoRun(), ns3::TcpBbrCheckGainValuesTest::DoRun(), ns3::TcpGeneralTest::DoRun(), ns3::TcpLpToNewReno::DoRun(), ns3::TcpLpInferenceTest1::DoRun(), ns3::TcpLpInferenceTest2::DoRun(), CarrierAggregationConfigTestCase::DoRun(), ns3::LenaDeactivateBearerTestCase::DoRun(), LteHandoverDelayTestCase::DoRun(), LteHandoverFailureTestCase::DoRun(), Ns2MobilityHelperTest::DoRun(), SteadyStateRandomWaypointTest::DoRun(), WaypointMobilityModelNotifyTest::DoRun(), WaypointMobilityModelAddWaypointTest::DoRun(), ns3::olsr::Bug780Test::DoRun(), ns3::olsr::HelloRegressionTest::DoRun(), ns3::olsr::TcRegressionTest::DoRun(), experiment(), RoutingExperiment::Run(), NeighborCacheExample::Run(), Bench::Run(), Experiment::Run(), BasicEnergyUpdateTest::StateSwitchTest(), TestDeterministic(), TestDeterministicByTime(), TestProbabilistic(), ns3::tests::TrickleTimerTestCase::TestRedundancy(), ns3::tests::TrickleTimerTestCase::TestSteadyState(), and BatteryLifetimeTest::VariableLoadTest().
Schedule a future event execution (in the same context).
[in] | delay | Delay until the event expires. |
[in] | event | The event to schedule. |
Definition at line 224 of file simulator.cc.
References DoSchedule(), and ns3::GetPointer().
|
static |
Schedule an event to expire after delay
.
This can be thought of as scheduling an event for the current simulation time plus the delay
passed as a parameter.
We leverage SFINAE to discard this overload if the second argument is convertible to Ptr<EventImpl> or is a function pointer.
FUNC | [deduced] Template type for the function to invoke. |
Ts | [deduced] Argument types. |
[in] | delay | The relative expiration time of the event. |
[in] | f | The function to invoke. |
[in] | args | Arguments to pass to MakeEvent. |
Definition at line 571 of file simulator.h.
References check-style-clang-format::args, DoSchedule(), f(), and ns3::MakeEvent().
Referenced by ns3::LteUePhy::LteUePhy(), ns3::PieQueueDisc::PieQueueDisc(), ns3::DhcpClient::AcceptAck(), ns3::MultiUserScheduler::AccessReqTimeout(), ns3::ChannelListPriv::Add(), ns3::Ipv6Interface::AddAddress(), ns3::QosTxop::AddBaResponseTimeout(), ns3::LteInterference::AddSignal(), ns3::SpectrumInterference::AddSignal(), ns3::WaypointMobilityModel::AddWaypoint(), AdvancePosition(), NodeStatistics::AdvancePosition(), ns3::UanMacRc::Associate(), ns3::UanMacRc::AssociateTimeout(), ns3::olsr::RoutingProtocol::AssociationTupleTimerExpire(), ns3::LrWpanMac::BeaconSearchTimeout(), ns3::RandomDirection2dMobilityModel::BeginPause(), ns3::RandomWaypointMobilityModel::BeginWalk(), ns3::SteadyStateRandomWaypointMobilityModel::BeginWalk(), ns3::DhcpClient::Boot(), ns3::LteFfrDistributedAlgorithm::Calculate(), ns3::PieQueueDisc::CalculateP(), CalculateThroughput(), ns3::dsr::DsrRouting::CancelPacketTimerNextHop(), ns3::LrWpanCsmaCa::CanProceed(), Bench::Cb(), ChangeSignalAndReportRate(), ns3::WifiRadioEnergyModel::ChangeState(), CheckQueueDiscSize(), CheckQueueSize(), ns3::dsr::DsrRouting::CheckSendBuffer(), NodeStatistics::CheckStatistics(), CheckT1QueueSize(), CheckT2QueueSize(), RoutingExperiment::CheckThroughput(), ns3::LteEnbRrc::ConfigureCell(), ns3::tests::TrickleTimerTestCase::ConsistentEvent(), Emitter::Count(), ns3::olsr::Bug780Test::CreateNodes(), ns3::RadioEnvironmentMapHelper::DelayedInstall(), ns3::Icmpv6L4Protocol::DoDAD(), ns3::TbfQueueDisc::DoDequeue(), ns3::TcpSocketBase::DoForwardUp(), ns3::Rip::DoInitialize(), ns3::RipNg::DoInitialize(), ns3::UeManager::DoInitialize(), ns3::dot11s::HwmpProtocol::DoInitialize(), ns3::MeshWifiInterfaceMac::DoInitialize(), ns3::Application::DoInitialize(), Emitter::DoInitialize(), ns3::ApWifiMac::DoInitialize(), ns3::MultiUserScheduler::DoInitialize(), ns3::RandomWaypointMobilityModel::DoInitializePrivate(), ns3::SteadyStateRandomWaypointMobilityModel::DoInitializePrivate(), ns3::LteUeRrc::DoNotifyOutOfSync(), ns3::LteUeRrc::DoNotifyRandomAccessSuccessful(), ns3::DefaultEmlsrManager::DoNotifyTxopEnd(), ns3::LteRlcAm::DoNotifyTxOpportunity(), ns3::LteRlcTm::DoNotifyTxOpportunity(), ns3::LteRlcUm::DoNotifyTxOpportunity(), ns3::TcpSocketBase::DoPeerClose(), ns3::LteRlcAm::DoReceivePdu(), ns3::LteRlcUm::DoReceivePdu(), ns3::LteTestMac::DoReportBufferStatus(), ns3::ChannelAccessManager::DoRestartAccessTimeoutIfNeeded(), ns3::aodv::IdCacheTest::DoRun(), ns3::aodv::NeighborTest::DoRun(), ns3::aodv::AodvRqueueTest::DoRun(), ns3::tests::EventGarbageCollectorTestCase::DoRun(), ns3::tests::WatchdogTestCase::DoRun(), ns3::TcpBbrPacingEnableTest::DoRun(), ns3::TcpBbrCheckGainValuesTest::DoRun(), ns3::TcpGeneralTest::DoRun(), ns3::LenaDeactivateBearerTestCase::DoRun(), SteadyStateRandomWaypointTest::DoRun(), WaypointMobilityModelNotifyTest::DoRun(), WaypointMobilityModelAddWaypointTest::DoRun(), ns3::LteUeRrcProtocolIdeal::DoSendIdealUeContextRemoveRequest(), ns3::LteUeRrcProtocolReal::DoSendIdealUeContextRemoveRequest(), ns3::LteUeRrcProtocolIdeal::DoSendMeasurementReport(), ns3::LteEnbRrcProtocolIdeal::DoSendRrcConnectionReconfiguration(), ns3::LteUeRrcProtocolIdeal::DoSendRrcConnectionReconfigurationCompleted(), ns3::LteEnbRrcProtocolIdeal::DoSendRrcConnectionReestablishment(), ns3::LteUeRrcProtocolIdeal::DoSendRrcConnectionReestablishmentComplete(), ns3::LteEnbRrcProtocolIdeal::DoSendRrcConnectionReestablishmentReject(), ns3::LteUeRrcProtocolIdeal::DoSendRrcConnectionReestablishmentRequest(), ns3::LteEnbRrcProtocolIdeal::DoSendRrcConnectionReject(), ns3::LteEnbRrcProtocolIdeal::DoSendRrcConnectionRelease(), ns3::LteEnbRrcProtocolReal::DoSendRrcConnectionRelease(), ns3::LteUeRrcProtocolIdeal::DoSendRrcConnectionRequest(), ns3::LteEnbRrcProtocolIdeal::DoSendRrcConnectionSetup(), ns3::LteUeRrcProtocolIdeal::DoSendRrcConnectionSetupCompleted(), ns3::LteEnbRrcProtocolIdeal::DoSendSystemInformation(), ns3::PhyEntity::DoStartReceivePayload(), ns3::HePhy::DoStartReceivePayload(), ns3::WifiDefaultAssocManager::DoStartScanning(), ns3::LteRlcAm::DoTransmitPdcpPdu(), ns3::LteTestMac::DoTransmitPdu(), ns3::RandomWalk2dOutdoorMobilityModel::DoWalk(), ns3::GaussMarkovMobilityModel::DoWalk(), ns3::RandomWalk2dMobilityModel::DoWalk(), ns3::olsr::RoutingProtocol::DupTupleTimerExpire(), Emitter::Emit(), ns3::EhtFrameExchangeManager::EmlsrSwitchToListening(), ns3::TrickleTimer::Enable(), ns3::AnimationInterface::EnableIpv4L3ProtocolCounters(), ns3::AnimationInterface::EnableIpv4RouteTracking(), ns3::AnimationInterface::EnableQueueCounters(), ns3::AnimationInterface::EnableWifiMacCounters(), ns3::AnimationInterface::EnableWifiPhyCounters(), ns3::UanMacRcGw::EndCycle(), ns3::BaseStationNetDevice::EndDlSubFrame(), ns3::RadioBearerStatsCalculator::EndEpoch(), ns3::PhyEntity::EndPreambleDetectionPeriod(), ns3::HtFrameExchangeManager::EndReceiveAmpdu(), ns3::SimpleOfdmWimaxPhy::EndReceiveFecBlock(), ns3::PhyEntity::EndReceiveField(), ns3::WifiDefaultAssocManager::EndScanning(), ns3::BaseStationNetDevice::EndUlSubFrame(), ns3::ThreeGppHttpClient::EnterParsingTime(), ns3::ThreeGppHttpClient::EnterReadingTime(), anonymous_namespace{sample-show-progress.cc}::Hold::Event(), experiment(), ns3::Watchdog::Expire(), ns3::WifiTxTimer::Expire(), ns3::LteRlcAm::ExpireRbsTimer(), ns3::LteRlcTm::ExpireRbsTimer(), ns3::LteRlcUm::ExpireRbsTimer(), ns3::LteRlcAm::ExpireReorderingTimer(), ns3::LteRlcUm::ExpireReorderingTimer(), ns3::olsr::RoutingProtocol::ForwardDefault(), ns3::dot11s::HwmpProtocol::ForwardPathError(), ns3::Icmpv6L4Protocol::FunctionDadTimeout(), ns3::SpectrumAnalyzer::GenerateReport(), GenerateTraffic(), ns3::WaveformGenerator::GenerateWaveform(), GoodputSampling(), GraphBattery1(), GraphBattery2(), GraphBattery3(), GraphBattery4(), GraphBattery5(), ns3::WifiRadioEnergyModel::HandleEnergyChanged(), ns3::Radvd::HandleRead(), ns3::QKDApp004::HandleReadFromKMS(), ns3::Rip::HandleResponses(), ns3::RipNg::HandleResponses(), ns3::Ipv4ClickRouting::HandleScheduleFromClick(), ns3::Ipv4L3Protocol::HandleTimeout(), ns3::Ipv6ExtensionFragment::HandleTimeout(), ns3::SixLowPanNetDevice::HandleTimeout(), ns3::V4TraceRoute::HandleWaitReplyTimeout(), ns3::ArpCache::HandleWaitReplyTimeout(), ns3::LteHelper::HandoverRequest(), ns3::olsr::RoutingProtocol::IfaceAssocTupleTimerExpire(), ns3::RadioEnvironmentMapHelper::Install(), InstallBulkSend(), ns3::TrickleTimer::IntervalExpire(), ns3::RipNg::InvalidateRoute(), ns3::Rip::InvalidateRoute(), ns3::TcpSocketBase::LastAckTimeout(), ns3::olsr::RoutingProtocol::LinkSensing(), ns3::olsr::RoutingProtocol::LinkTupleTimerExpire(), ns3::ArpL3Protocol::Lookup(), ns3::MakeTimerImpl(), ns3::BaseStationNetDevice::MarkRangingOppStart(), ns3::BaseStationNetDevice::MarkUplinkAllocationEnd(), ns3::BaseStationNetDevice::MarkUplinkAllocationStart(), ns3::LteUeRrc::MeasurementReportTriggering(), ns3::StaWifiMac::MissedBeacons(), ns3::LrWpanMac::MlmeSyncRequest(), ns3::AnimationInterface::MobilityAutoCheck(), modify(), ns3::olsr::RoutingProtocol::MprSelTupleTimerExpire(), ns3::olsr::RoutingProtocol::Nb2hopTupleTimerExpire(), ns3::TcpSocketBase::NewAck(), ns3::MultiUserScheduler::NotifyAccessGranted(), ns3::dot11s::PeerManagementProtocol::NotifyBeaconSent(), ns3::WifiRadioEnergyModelPhyListener::NotifyCcaBusyStart(), ns3::FlowMonitor::NotifyConstructionCompleted(), ns3::BlockAckManager::NotifyGotBlockAck(), ns3::HtFrameExchangeManager::NotifyPacketDiscarded(), ns3::HtFrameExchangeManager::NotifyReceivedNormalAck(), ns3::StaWifiMac::NotifySwitchingEmlsrLink(), ns3::WifiRadioEnergyModelPhyListener::NotifySwitchingStart(), ns3::FrameExchangeManager::NotifySwitchingStartNow(), ns3::WifiRadioEnergyModelPhyListener::NotifyTxStart(), ns3::EmlsrManager::NotifyUlTxopStart(), ns3::DhcpClient::OfferHandler(), ns3::LrWpanMac::PdDataConfirm(), ns3::LrWpanMac::PdDataIndication(), ns3::LrWpanPhy::PdDataRequest(), ns3::SSLinkManager::PerformBackoff(), ns3::FlowMonitor::PeriodicCheckForLostPackets(), ns3::TcpSocketBase::PersistTimeout(), ns3::Watchdog::Ping(), ns3::TcpWestwoodPlus::PktsAcked(), ns3::LrWpanPhy::PlmeCcaRequest(), ns3::LrWpanPhy::PlmeEdRequest(), ns3::LrWpanMac::PlmeSetAttributeConfirm(), ns3::LrWpanPhy::PlmeSetTRXStateRequest(), ns3::olsr::RoutingProtocol::PopulateMprSelectorSet(), ns3::olsr::RoutingProtocol::PopulateTwoHopNeighborSet(), ns3::EhtFrameExchangeManager::PostProcessFrame(), ns3::UeManager::PrepareHandover(), ns3::Ipv4RoutingHelper::PrintArpCacheEvery(), PrintCellInfo(), ns3::Ipv6RoutingHelper::PrintEvery(), ns3::Ipv4RoutingHelper::PrintEvery(), PrintIntermediateTput(), ns3::Ipv6RoutingHelper::PrintNdiscCacheEvery(), ns3::Ipv4RoutingHelper::PrintNeighborCacheAllAt(), ns3::Ipv6RoutingHelper::PrintNeighborCacheAllAt(), ns3::Ipv4RoutingHelper::PrintNeighborCacheAllEvery(), ns3::Ipv6RoutingHelper::PrintNeighborCacheAllEvery(), ns3::Ipv4RoutingHelper::PrintNeighborCacheAt(), ns3::Ipv6RoutingHelper::PrintNeighborCacheAt(), ns3::Ipv4RoutingHelper::PrintNeighborCacheEvery(), ns3::Ipv6RoutingHelper::PrintNeighborCacheEvery(), PrintProgress(), ns3::NixVectorHelper< T >::PrintRoutingPathAt(), ns3::Ipv4RoutingHelper::PrintRoutingTableAllAt(), ns3::Ipv6RoutingHelper::PrintRoutingTableAllAt(), ns3::Ipv4RoutingHelper::PrintRoutingTableAllEvery(), ns3::Ipv6RoutingHelper::PrintRoutingTableAllEvery(), ns3::Ipv4RoutingHelper::PrintRoutingTableAt(), ns3::Ipv6RoutingHelper::PrintRoutingTableAt(), ns3::Ipv4RoutingHelper::PrintRoutingTableEvery(), ns3::Ipv6RoutingHelper::PrintRoutingTableEvery(), ns3::dsr::DsrRouting::PriorityScheduler(), ns3::QKDApp004::ProcessGetKeyResponse(), ns3::olsr::RoutingProtocol::ProcessHna(), ns3::olsr::RoutingProtocol::ProcessMid(), ns3::QKDApp004::ProcessOpenConnectResponse(), ns3::QKDKeyManagerSystemApplication::ProcessResponseSDN(), ns3::olsr::RoutingProtocol::ProcessTc(), ns3::SubscriberStationNetDevice::ProcessUlMap(), Progress(), ns3::LrWpanCsmaCa::RandomBackoffDelay(), ns3::UanTransducerHd::Receive(), ns3::V4TraceRoute::Receive(), ns3::TcpSocketBase::ReceivedData(), ns3::ThreeGppHttpServer::ReceivedDataCallback(), ns3::ApWifiMac::ReceiveEmlOmn(), ns3::MeshPointDevice::ReceiveFromDevice(), ns3::SixLowPanNetDevice::ReceiveFromDevice(), ns3::FrameExchangeManager::ReceiveMpdu(), ns3::EhtFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReceiveMpdu(), ns3::QosFrameExchangeManager::ReceiveMpdu(), ns3::UanMacRc::ReceiveOkFromPhy(), ns3::dot11s::HwmpProtocol::ReceivePrep(), ns3::dot11s::HwmpProtocol::ReceivePreq(), ns3::dsdv::RoutingProtocol::RecvDsdv(), ns3::UeManager::RecvHandoverRequestAck(), ns3::aodv::RoutingProtocol::RecvRequest(), ns3::UeManager::RecvRrcConnectionRequest(), ns3::Ipv4L3Protocol::RemoveDuplicates(), ns3::LteUePhy::ReportUeMeasurements(), ns3::DhcpClient::Request(), SampleEmitter::Reschedule(), ns3::WifiTxTimer::Reschedule(), ns3::RadioBearerStatsCalculator::RescheduleEndEpoch(), ns3::NullMessageSimulatorImpl::RescheduleNullMessageEvent(), ns3::TrickleTimer::Reset(), ns3::WifiPhy::ResetCca(), ns3::StaWifiMac::RestartBeaconWatchdog(), ns3::dot11s::HwmpProtocol::RetryPathDiscovery(), ns3::dsdv::RoutingProtocol::RouteOutput(), ns3::UanMacRc::RtsTimeout(), Bench::Run(), Experiment::Run(), ns3::RadioEnvironmentMapHelper::RunOneIteration(), ns3::OpenFlowSwitchNetDevice::RunThroughFlowTable(), ns3::QKDApp014::ScheduleAction(), ns3::dsr::DsrRouting::ScheduleCachedReply(), ns3::QKDKeyManagerSystemApplication::ScheduleCheckAssociation(), ns3::ShowProgress::ScheduleCheckProgress(), ns3::UanMacRc::ScheduleData(), ns3::SsServiceFlowManager::ScheduleDsaReq(), ns3::BsServiceFlowManager::ScheduleDsaRsp(), ns3::PhyEntity::ScheduleEndOfMpdus(), ns3::dsr::DsrRouting::ScheduleInterRequest(), ns3::MeshWifiInterfaceMac::ScheduleNextBeacon(), ns3::OnOffApplication::ScheduleNextTx(), ns3::NullMessageSimulatorImpl::ScheduleNullMessageEvent(), ns3::SSLinkManager::ScheduleScanningRestart(), ns3::OnOffApplication::ScheduleStartEvent(), ns3::OnOffApplication::ScheduleStopEvent(), ns3::UdpEchoClient::ScheduleTransmit(), ns3::TutorialApp::ScheduleTx(), ns3::QKDApp004::ScheduleTx(), ns3::QKDApp014::ScheduleTx(), ns3::UdpClient::Send(), ns3::UdpTraceClient::Send(), ns3::Ping::Send(), ns3::PacketSocketClient::Send(), ns3::TcpSocketBase::Send(), ns3::dsr::DsrRouting::Send(), ns3::Radvd::Send(), ns3::WifiPhy::Send(), ns3::HtFrameExchangeManager::SendAddBaResponse(), ns3::StaWifiMac::SendAssociationRequest(), ns3::BaseStationNetDevice::SendBursts(), ns3::QosFrameExchangeManager::SendCfEndIfNeeded(), ns3::FrameExchangeManager::SendCtsToSelf(), ns3::LteTestRrc::SendData(), ns3::LteTestPdcp::SendData(), ns3::TcpSocketBase::SendDataPacket(), ns3::TcpSocketCongestedRouter::SendDataPacket(), ns3::TcpSocketBase::SendEmptyPacket(), ns3::TcpSocketSmallAcks::SendEmptyPacket(), ns3::aodv::RoutingProtocol::SendHello(), ns3::QKDApp004::SendMaliciousRequestToKMS(), ns3::LteUeRrc::SendMeasurementReport(), ns3::FrameExchangeManager::SendMpdu(), ns3::dot11s::HwmpProtocolMac::SendMyPerr(), ns3::dot11s::HwmpProtocolMac::SendMyPreq(), ns3::Icmpv6L4Protocol::SendNS(), ns3::ApWifiMac::SendOneBeacon(), Sender::SendPacket(), ns3::UanPhyGen::SendPacket(), SendPacket(), ns3::TcpGeneralTest::SendPacket(), ns3::dsr::DsrRouting::SendPacketFromBuffer(), ns3::dsdv::RoutingProtocol::SendPacketFromQueue(), UanExperiment::SendPackets(), ns3::olsr::Bug780Test::SendPing(), ns3::dot11s::HwmpProtocol::SendProactivePreq(), ns3::HtFrameExchangeManager::SendPsdu(), ns3::QKDKeyManagerSystemApplication::SendQKDLinkStatusToSDN(), ns3::SSLinkManager::SendRangingRequest(), ns3::LteUeMac::SendRaPreamble(), ns3::aodv::RoutingProtocol::SendRequest(), ns3::aodv::RoutingProtocol::SendRerrMessage(), ns3::Icmpv6L4Protocol::SendRS(), ns3::UanMacRc::SendRts(), ns3::LteEnbRrc::SendSystemInformation(), ns3::Rip::SendTriggeredRouteUpdate(), ns3::RipNg::SendTriggeredRouteUpdate(), ns3::LteTestMac::SendTxOpportunity(), ns3::Rip::SendUnsolicitedRouteUpdate(), ns3::RipNg::SendUnsolicitedRouteUpdate(), ns3::WifiTxTimer::Set(), ns3::MultiUserScheduler::SetAccessReqInterval(), ns3::dot11s::PeerLink::SetBeaconInformation(), ns3::dot11s::PeerLink::SetConfirmTimer(), ns3::RandomDirection2dMobilityModel::SetDirectionAndSpeed(), ns3::WifiRadioEnergyModel::SetEnergySource(), ns3::dot11s::PeerLink::SetHoldingTimer(), ns3::SetMovement(), ns3::WifiPhy::SetOperatingChannel(), ns3::StaWifiMac::SetPmModeAfterAssociation(), ns3::Ipv6PmtuCache::SetPmtu(), ns3::StaWifiMac::SetPowerSaveMode(), ns3::dot11s::PeerLink::SetRetryTimer(), ns3::SetSchedPosition(), ns3::WifiPhy::SetSleepMode(), ns3::Ipv4L3Protocol::SetTimeout(), ns3::Ipv6ExtensionFragment::SetTimeout(), ns3::SixLowPanNetDevice::SetTimeout(), ns3::MeshWifiInterfaceMac::ShiftTbtt(), ns3::dot11s::HwmpProtocol::ShouldSendPreq(), showPosition(), anonymous_namespace{sample-simulator.cc}::MyModel::Start(), ns3::LrWpanCsmaCa::Start(), ns3::LteTestRrc::Start(), ns3::SteadyStateRandomWaypointMobilityModel::Start(), ns3::SpectrumAnalyzer::Start(), ns3::TvSpectrumTransmitter::Start(), ns3::DataCalculator::Start(), ns3::FlowMonitor::Start(), ns3::FdNetDevice::Start(), ns3::TapBridge::Start(), ns3::AnimationInterface::StartAnimation(), ns3::UdpClient::StartApplication(), ns3::UdpTraceClient::StartApplication(), ns3::DhcpServer::StartApplication(), ns3::Radvd::StartApplication(), ns3::LrWpanMac::StartCAP(), ns3::LrWpanMac::StartCFP(), ns3::UanMacRcGw::StartCycle(), ns3::BaseStationNetDevice::StartDlSubFrame(), ns3::LrWpanMac::StartInactivePeriod(), ns3::PhyEntity::StartPreambleDetectionPeriod(), ns3::SimpleOfdmWimaxPhy::StartReceive(), ns3::PhyEntity::StartReceiveField(), ns3::HePhy::StartReceiveMuPayload(), ns3::HePhy::StartReceivePreamble(), ns3::LrWpanPhy::StartRx(), ns3::HalfDuplexIdealPhy::StartRx(), ns3::SpectrumAnalyzer::StartRx(), ns3::LteSpectrumPhy::StartRxData(), ns3::LteSpectrumPhy::StartRxDlCtrl(), ns3::UanPhyGen::StartRxPacket(), ns3::LteSpectrumPhy::StartRxUlSrs(), ns3::WimaxPhy::StartScanning(), ns3::SimpleOfdmWimaxPhy::StartSendDummyFecBlock(), ns3::LteEnbPhy::StartSubFrame(), ns3::SSLinkManager::StartSynchronizing(), ns3::UanMacCw::StartTimer(), ns3::SimpleNetDevice::StartTransmission(), ns3::EhtFrameExchangeManager::StartTransmission(), ns3::HePhy::StartTx(), ns3::HalfDuplexIdealPhy::StartTx(), ns3::MultiModelSpectrumChannel::StartTx(), ns3::SingleModelSpectrumChannel::StartTx(), ns3::LteSpectrumPhy::StartTxDataFrame(), ns3::LteSpectrumPhy::StartTxDlCtrlFrame(), ns3::LteSpectrumPhy::StartTxUlSrsFrame(), ns3::BaseStationNetDevice::StartUlSubFrame(), ns3::V4TraceRoute::StartWaitReplyTimer(), ns3::ArpCache::StartWaitReplyTimer(), BasicEnergyUpdateTest::StateSwitchTest(), ns3::SteadyStateRandomWaypointMobilityModel::SteadyStateBeginWalk(), ns3::DefaultSimulatorImpl::Stop(), ns3::RealtimeSimulatorImpl::Stop(), ns3::DistributedSimulatorImpl::Stop(), ns3::NullMessageSimulatorImpl::Stop(), ns3::DataCalculator::Stop(), ns3::FlowMonitor::Stop(), ns3::FdNetDevice::Stop(), ns3::TapBridge::Stop(), ns3::LteUePhy::SubframeIndication(), TcPacketsInQueue(), ns3::tests::TrickleTimerTestCase::TestRedundancy(), ns3::tests::TrickleTimerTestCase::TestSteadyState(), Throughput(), ns3::DhcpServer::TimerHandler(), ns3::TcpSocketBase::TimeWait(), ns3::olsr::RoutingProtocol::TopologyTupleTimerExpire(), TraceDropsFrequency(), TraceFirstThroughput(), TraceMarksFrequency(), TraceN0Throughput(), TraceN1Throughput(), TraceSecondThroughput(), TraceThroughput(), ns3::AnimationInterface::TrackIpv4L3ProtocolCounters(), ns3::AnimationInterface::TrackIpv4Route(), ns3::AnimationInterface::TrackQueueCounters(), ns3::AnimationInterface::TrackWifiMacCounters(), ns3::AnimationInterface::TrackWifiPhyCounters(), ns3::QosFrameExchangeManager::TransmissionFailed(), ns3::FrameExchangeManager::TransmissionSucceeded(), ns3::HtFrameExchangeManager::TransmissionSucceeded(), ns3::QosFrameExchangeManager::TransmissionSucceeded(), ns3::UanTransducerHd::Transmit(), ns3::CsmaNetDevice::TransmitCompleteEvent(), ns3::CsmaChannel::TransmitEnd(), ns3::CsmaNetDevice::TransmitStart(), ns3::PointToPointNetDevice::TransmitStart(), ns3::EhtFrameExchangeManager::TxopEnd(), ns3::Ipv4L3Protocol::UpdateDuplicate(), ns3::BasicEnergySource::UpdateEnergySource(), ns3::GenericBatteryModel::UpdateEnergySource(), ns3::LiIonEnergySource::UpdateEnergySource(), ns3::RvBatteryModel::UpdateEnergySource(), ns3::BasicEnergyHarvester::UpdateHarvestedPower(), ns3::FrameExchangeManager::UpdateNav(), ns3::BlockAckManager::UpdateOriginatorAgreement(), ns3::EhtFrameExchangeManager::UpdateTxopEndOnRxEnd(), ns3::EhtFrameExchangeManager::UpdateTxopEndOnRxStartIndication(), ns3::EhtFrameExchangeManager::UpdateTxopEndOnTxStart(), ns3::UplinkSchedulerMBQoS::UplinkSchedWindowTimer(), BatteryLifetimeTest::VariableLoadTest(), ns3::LteUeRrc::VarMeasReportListAdd(), ns3::DpdkNetDevice::Write(), and ns3::AthstatsWifiTraceSink::WriteStats().
|
static |
Schedule an event to expire after delay
.
This can be thought of as scheduling an event for the current simulation time plus the delay
passed as a parameter.
Us | [deduced] Formal function argument types. |
Ts | [deduced] Actual function argument types. When the event expires (when it becomes due to be run), the function will be invoked with any supplied arguments. |
[in] | delay | The relative expiration time of the event. |
[in] | f | The function to invoke. |
[in] | args | Arguments to pass to the invoked function. |
Definition at line 578 of file simulator.h.
References check-style-clang-format::args, DoSchedule(), f(), and ns3::MakeEvent().
Schedule an event to run at the end of the simulation, after the Stop() time or condition has been reached.
[in] | event | The event to schedule. |
Definition at line 245 of file simulator.cc.
References DoScheduleDestroy(), and ns3::GetPointer().
|
static |
Schedule an event to run at the end of the simulation, when Simulator::Destroy() is called.
All events scheduled to expire at "Destroy" time are scheduled FIFO, after all normal events have expired and only when Simulator::Destroy is invoked.
We leverage SFINAE to discard this overload if the second argument is convertible to Ptr<EventImpl> or is a function pointer.
FUNC | [deduced] Template type for the function to invoke. |
Ts | [deduced] Actual function argument types. |
[in] | f | The function to invoke. |
[in] | args | Arguments to pass to MakeEvent. |
Definition at line 622 of file simulator.h.
References check-style-clang-format::args, DoScheduleDestroy(), f(), and ns3::MakeEvent().
Referenced by ns3::Mac16Address::Allocate(), ns3::Mac48Address::Allocate(), ns3::Mac64Address::Allocate(), ns3::Mac8Address::Allocate(), ns3::BuildingListPriv::DoGet(), ns3::ChannelListPriv::DoGet(), ns3::NodeListPriv::DoGet(), ns3::SimulationSingleton< T >::GetObject(), and ns3::FdReader::Start().
|
static |
Schedule an event to run at the end of the simulation, when Simulator::Destroy() is called.
All events scheduled to expire at "Destroy" time are scheduled FIFO, after all normal events have expired and only when Simulator::Destroy is invoked.
Us | [deduced] Formal function argument types. |
Ts | [deduced] Actual function argument types. |
[in] | f | The function to invoke. |
[in] | args | Arguments to pass to MakeEvent. |
Definition at line 629 of file simulator.h.
References check-style-clang-format::args, DoScheduleDestroy(), f(), and ns3::MakeEvent().
Schedule an event to run at the current virtual time.
[in] | event | The event to schedule. |
Definition at line 230 of file simulator.cc.
References DoScheduleNow(), and ns3::GetPointer().
|
static |
Schedule an event to expire Now.
All events scheduled to to expire "Now" are scheduled FIFO, after all normal events have expired.
We leverage SFINAE to discard this overload if the second argument is convertible to Ptr<EventImpl> or is a function pointer.
FUNC | [deduced] Template type for the function to invoke. |
Ts | [deduced] Actual function argument types. |
[in] | f | The function to invoke. |
[in] | args | Arguments to pass to the invoked function. |
Definition at line 605 of file simulator.h.
References check-style-clang-format::args, DoScheduleNow(), f(), and ns3::MakeEvent().
Referenced by ns3::AthstatsWifiTraceSink::AthstatsWifiTraceSink(), ns3::GaussMarkovMobilityModel::GaussMarkovMobilityModel(), ns3::LteTestPdcp::LteTestPdcp(), AssociateIndication(), ns3::LrWpanCsmaCa::CanProceed(), ns3::LrWpanMac::CheckQueue(), ns3::ThreeGppHttpClient::ConnectionSucceededCallback(), ns3::NoBackhaulEpcHelper::DoActivateEpsBearerForUe(), ns3::SpectrumWifiPhy::DoChannelSwitch(), ns3::LteFfrDistributedAlgorithm::DoInitialize(), ns3::SteadyStateRandomWaypointMobilityModel::DoInitializePrivate(), ns3::EpcUeNas::DoNotifyConnectionFailed(), ns3::LteUeRrc::DoRecvRrcConnectionReconfiguration(), ns3::RandomWalk2dOutdoorMobilityModel::DoSetPosition(), ns3::GaussMarkovMobilityModel::DoSetPosition(), ns3::RandomDirection2dMobilityModel::DoSetPosition(), ns3::RandomWalk2dMobilityModel::DoSetPosition(), ns3::RandomWaypointMobilityModel::DoSetPosition(), ns3::SteadyStateRandomWaypointMobilityModel::DoSetPosition(), ns3::WifiDefaultAssocManager::DoStartScanning(), ns3::LteEnbPhy::EndFrame(), ns3::LrWpanMac::EndStartRequest(), ns3::LteEnbPhy::EndSubFrame(), experiment(), ns3::WifiMacQueue::ExtractAllExpiredMpdus(), ns3::WifiMacQueue::ExtractExpiredMpdus(), ns3::Txop::NotifyChannelReleased(), ns3::QosTxop::NotifyChannelReleased(), ns3::EmlsrManager::NotifyIcfReceived(), ns3::dsr::DsrRouting::NotifyNewAggregate(), ns3::FrameExchangeManager::NotifySwitchingStartNow(), ns3::AlohaNoackNetDevice::NotifyTransmissionEnd(), ns3::EmlsrManager::NotifyTxopEnd(), OrphanIndication(), ns3::NetDeviceQueue::PacketDequeued(), ns3::ThreeGppHttpClient::ParseMainObject(), ns3::LrWpanMac::PdDataConfirm(), ns3::LrWpanMac::PdDataIndication(), ns3::LrWpanCsmaCa::PlmeCcaConfirm(), ns3::TcpSocketBase::ProcessListen(), ns3::TcpSocketBase::ProcessSynSent(), ns3::Txop::Queue(), ns3::Ping::Receive(), ns3::V4TraceRoute::Receive(), ns3::ThreeGppHttpClient::ReceiveEmbeddedObject(), ns3::MemberLteEnbRrcSapProvider< C >::RecvIdealUeContextRemoveRequest(), ns3::MemberLteEnbRrcSapProvider< C >::RecvMeasurementReport(), ns3::MemberLteUeRrcSapProvider< C >::RecvRrcConnectionReconfiguration(), ns3::MemberLteEnbRrcSapProvider< C >::RecvRrcConnectionReconfigurationCompleted(), ns3::MemberLteUeRrcSapProvider< C >::RecvRrcConnectionReestablishment(), ns3::MemberLteEnbRrcSapProvider< C >::RecvRrcConnectionReestablishmentComplete(), ns3::MemberLteUeRrcSapProvider< C >::RecvRrcConnectionReestablishmentReject(), ns3::MemberLteEnbRrcSapProvider< C >::RecvRrcConnectionReestablishmentRequest(), ns3::MemberLteUeRrcSapProvider< C >::RecvRrcConnectionReject(), ns3::MemberLteUeRrcSapProvider< C >::RecvRrcConnectionRelease(), ns3::MemberLteEnbRrcSapProvider< C >::RecvRrcConnectionRequest(), ns3::MemberLteUeRrcSapProvider< C >::RecvRrcConnectionSetup(), ns3::MemberLteEnbRrcSapProvider< C >::RecvRrcConnectionSetupCompleted(), ns3::MemberLteUeRrcSapProvider< C >::RecvSystemInformation(), ns3::WifiPhy::ResetCca(), ScanConfirm(), ns3::dsr::DsrRouting::ScheduleInitialReply(), ns3::Ipv4Interface::Send(), ns3::Ipv6Interface::Send(), ns3::TcpSocketBase::SendDataPacket(), ns3::TcpSocketCongestedRouter::SendDataPacket(), ns3::ApWifiMac::SetBeaconGeneration(), ns3::aodv::RoutingProtocol::SetIpv4(), ns3::dsdv::RoutingProtocol::SetIpv4(), ns3::WifiPhy::SetSleepMode(), ns3::LrWpanCsmaCa::Start(), ns3::WaveformGenerator::Start(), ns3::BaseStationNetDevice::Start(), ns3::SubscriberStationNetDevice::Start(), Sender::StartApplication(), ns3::V4TraceRoute::StartApplication(), ns3::PacketSocketClient::StartApplication(), and ns3::WifiMac::UnblockUnicastTxOnLinks().
|
static |
Schedule an event to expire Now.
All events scheduled to to expire "Now" are scheduled FIFO, after all normal events have expired.
Us | [deduced] Formal function argument types. |
Ts | [deduced] Actual function argument types. |
[in] | f | The function to invoke. |
[in] | args | Arguments to pass to MakeEvent. |
Definition at line 612 of file simulator.h.
References check-style-clang-format::args, DoScheduleNow(), f(), and ns3::MakeEvent().
|
static |
Schedule a future event execution (in a different context).
This method is thread-safe: it can be called from any thread.
[in] | delay | Delay until the event expires. |
[in] | context | Event context. |
[in] | event | The event to schedule. |
Definition at line 236 of file simulator.cc.
References ns3::Singleton< DesMetrics >::Get(), ns3::GetImpl(), Now(), ns3::SimulatorImpl::ScheduleWithContext(), and ns3::DesMetrics::TraceWithContext().
|
static |
Schedule an event with the given context.
A context of 0xffffffff means no context is specified. This method is thread-safe: it can be called from any thread.
We leverage SFINAE to discard this overload if the second argument is convertible to Ptr<EventImpl> or is a function pointer.
FUNC | [deduced] Template type for the function to invoke. |
Ts | [deduced] Argument types. |
[in] | context | User-specified context parameter |
[in] | delay | The relative expiration time of the event. |
[in] | f | The function to invoke. |
[in] | args | Arguments to pass to MakeEvent. |
Definition at line 588 of file simulator.h.
References check-style-clang-format::args, f(), and ns3::MakeEvent().
Referenced by ns3::BuildingListPriv::Add(), ns3::NodeListPriv::Add(), ns3::Node::AddApplication(), ns3::Node::AddDevice(), ns3::LteEnbPhy::DoInitialize(), ns3::LteUePhy::DoInitialize(), ns3::aodv::LoopbackTestCase::DoRun(), ns3::TcpGeneralTest::DoRun(), ns3::LteEnbRrcProtocolReal::DoSendSystemInformation(), ns3::TapBridge::ReadCallback(), ns3::FdNetDevice::ReceiveCallback(), ns3::GrantedTimeWindowMpiInterface::ReceiveMessages(), ns3::NullMessageMpiInterface::ReceiveMessages(), ScheduleWithContext(), ns3::SimpleChannel::Send(), ns3::ErrorChannel::Send(), ns3::LoopbackNetDevice::Send(), ns3::YansWifiChannel::Send(), ns3::SimpleOfdmWimaxChannel::Send(), ns3::aodv::LoopbackTestCase::SendData(), ns3::LoopbackNetDevice::SendFrom(), ns3::LteTestMac::SendTxOpportunity(), ns3::PyViz::SimulatorRunUntil(), ns3::LteTestRrc::Start(), ns3::MultiModelSpectrumChannel::StartTx(), ns3::SingleModelSpectrumChannel::StartTx(), ns3::CsmaChannel::TransmitEnd(), ns3::PointToPointChannel::TransmitStart(), and ns3::UanChannel::TxPacket().
|
static |
Schedule an event with the given context.
A context of 0xffffffff means no context is specified. This method is thread-safe: it can be called from any thread.
Us | [deduced] Formal function argument types. |
Ts | [deduced] Actual function argument types. |
[in] | context | User-specified context parameter |
[in] | delay | The relative expiration time of the event. |
[in] | f | The function to invoke. |
[in] | args | Arguments to pass to the invoked function. |
Definition at line 595 of file simulator.h.
References check-style-clang-format::args, f(), ns3::MakeEvent(), and ScheduleWithContext().
|
static |
[in] | impl | A new simulator implementation. |
The simulator provides a mechanism to swap out different implementations. For example, the default implementation is a single-threaded simulator that performs no realtime synchronization. By calling this method, you can substitute in a new simulator implementation that might be multi- threaded and synchronize events to a realtime clock.
The simulator implementation can be set when the simulator is not running.
Definition at line 345 of file simulator.cc.
References ns3::DefaultNodePrinter(), ns3::DefaultTimePrinter(), ns3::g_schedTypeImpl, ns3::StringValue::Get(), ns3::GetPointer(), ns3::GlobalValue::GetValue(), ns3::LogSetNodePrinter(), ns3::LogSetTimePrinter(), NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::PeekImpl(), and ns3::ObjectFactory::SetTypeId().
|
static |
Set the scheduler type with an ObjectFactory.
[in] | schedulerFactory | The configured ObjectFactory. |
The event scheduler can be set at any time: the events scheduled in the previous scheduler will be transferred to the new scheduler before we start to use it.
Definition at line 164 of file simulator.cc.
References ns3::GetImpl(), NS_LOG_FUNCTION, and ns3::SimulatorImpl::SetScheduler().
Referenced by BenchSuite::BenchSuite().
|
static |
Tell the Simulator the calling event should be the last one executed.
If a running event invokes this method, it will be the last event executed by the Simulator::Run method before returning to the caller.
Definition at line 186 of file simulator.cc.
References ns3::GetImpl(), NS_LOG_FUNCTION_NOARGS, NS_LOG_LOGIC, and ns3::SimulatorImpl::Stop().
Referenced by ns3::PyViz::CallbackStopSimulation(), Bench::Cb(), BatteryLifetimeTest::ConstantLoadTest(), BasicEnergyDepletionTest::DepletionTestCase(), ns3::aodv::LoopbackTestCase::DoRun(), CarrierAggregationConfigTestCase::DoRun(), ns3::LenaDeactivateBearerTestCase::DoRun(), LteHandoverDelayTestCase::DoRun(), LteHandoverFailureTestCase::DoRun(), Ns2MobilityHelperTest::DoRun(), SteadyStateRandomWaypointTest::DoRun(), WaypointMobilityModelNotifyTest::DoRun(), WaypointMobilityModelAddWaypointTest::DoRun(), ns3::olsr::Bug780Test::DoRun(), ns3::olsr::HelloRegressionTest::DoRun(), ns3::olsr::TcRegressionTest::DoRun(), experiment(), ns3::RadioEnvironmentMapHelper::Finalize(), RoutingExperiment::Run(), NeighborCacheExample::Run(), Experiment::Run(), BasicEnergyUpdateTest::StateSwitchTest(), ns3::DefaultSimulatorImpl::Stop(), ns3::RealtimeSimulatorImpl::Stop(), ns3::DistributedSimulatorImpl::Stop(), ns3::NullMessageSimulatorImpl::Stop(), TestDeterministic(), TestDeterministicByTime(), TestProbabilistic(), ns3::tests::TrickleTimerTestCase::TestRedundancy(), ns3::tests::TrickleTimerTestCase::TestSteadyState(), and BatteryLifetimeTest::VariableLoadTest().
Schedule the time delay until the Simulator should stop.
Force the Simulator::Run method to return to the caller when the expiration time of the next event to be processed is greater than or equal to the stop time. The stop time is relative to the current simulation time.
[in] | delay | The stop time, relative to the current time. |
Definition at line 194 of file simulator.cc.
References ns3::GetImpl(), m_stopEvent, NS_LOG_FUNCTION, and ns3::SimulatorImpl::Stop().
|
staticprivate |
Stop event (if present)
Definition at line 534 of file simulator.h.
Referenced by GetStopEvent(), and Stop().