A Discrete-Event Network Simulator
API
ns3::Simulator Class Reference

Control the scheduling of simulation events. More...

#include "simulator.h"

Public Types

enum  { NO_CONTEXT = 0xffffffff }
 Context enum values. More...
 

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 (void)
 Execute the events scheduled with ScheduleDestroy(). More...
 
static uint32_t GetContext (void)
 Get the current simulation context. More...
 
static Time GetDelayLeft (const EventId &id)
 Get the remaining time until this event will execute. More...
 
static Ptr< SimulatorImplGetImplementation (void)
 Get the SimulatorImpl singleton. More...
 
static Time GetMaximumSimulationTime (void)
 Get the maximum representable simulation time. More...
 
static uint32_t GetSystemId (void)
 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 (void)
 Check if the simulation should finish. More...
 
static Time Now (void)
 Return the current simulation virtual time. More...
 
static void Remove (const EventId &id)
 Remove an event from the event list. More...
 
static void Run (void)
 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 (void)
 Tell the Simulator the calling event should be the last one executed. More...
 
static void 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 MEM , typename OBJ >
static EventId Schedule (Time const &delay, MEM mem_ptr, OBJ obj)
 Schedule an event to expire after delay. More...
 
template<typename MEM , typename OBJ , typename T1 >
static EventId Schedule (Time const &delay, MEM mem_ptr, OBJ obj, T1 a1)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 >
static EventId Schedule (Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 >
static EventId Schedule (Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 >
static EventId Schedule (Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
static EventId Schedule (Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
static EventId Schedule (Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
 
static EventId Schedule (Time const &delay, void(*f)(void))
 Schedule an event to expire after delay. More...
 
template<typename U1 , typename T1 >
static EventId Schedule (Time const &delay, void(*f)(U1), T1 a1)
 
template<typename U1 , typename U2 , typename T1 , typename T2 >
static EventId Schedule (Time const &delay, void(*f)(U1, U2), T1 a1, T2 a2)
 
template<typename U1 , typename U2 , typename U3 , typename T1 , typename T2 , typename T3 >
static EventId Schedule (Time const &delay, void(*f)(U1, U2, U3), T1 a1, T2 a2, T3 a3)
 
template<typename U1 , typename U2 , typename U3 , typename U4 , typename T1 , typename T2 , typename T3 , typename T4 >
static EventId Schedule (Time const &delay, void(*f)(U1, U2, U3, U4), T1 a1, T2 a2, T3 a3, T4 a4)
 
template<typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
static EventId Schedule (Time const &delay, void(*f)(U1, U2, U3, U4, U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
 
template<typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
static EventId Schedule (Time const &time, void(*f)(U1, U2, U3, U4, U5, U6), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
 
Schedule events (in a different context) to run now or at a future time.

See main-test-sync.cc for example usage.

template<typename MEM , typename OBJ >
static void ScheduleWithContext (uint32_t context, Time const &delay, MEM mem_ptr, OBJ obj)
 Schedule an event with the given context. More...
 
template<typename MEM , typename OBJ , typename T1 >
static void ScheduleWithContext (uint32_t context, Time const &delay, MEM mem_ptr, OBJ obj, T1 a1)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 >
static void ScheduleWithContext (uint32_t context, Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 >
static void ScheduleWithContext (uint32_t context, Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 >
static void ScheduleWithContext (uint32_t context, Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
static void ScheduleWithContext (uint32_t context, Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
static void ScheduleWithContext (uint32_t context, Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
 This method is thread-safe: it can be called from any thread. More...
 
static void ScheduleWithContext (uint32_t context, Time const &delay, void(*f)(void))
 Schedule an event with the given context. More...
 
template<typename U1 , typename T1 >
static void ScheduleWithContext (uint32_t context, Time const &delay, void(*f)(U1), T1 a1)
 
template<typename U1 , typename U2 , typename T1 , typename T2 >
static void ScheduleWithContext (uint32_t context, Time const &delay, void(*f)(U1, U2), T1 a1, T2 a2)
 
template<typename U1 , typename U2 , typename U3 , typename T1 , typename T2 , typename T3 >
static void ScheduleWithContext (uint32_t context, Time const &delay, void(*f)(U1, U2, U3), T1 a1, T2 a2, T3 a3)
 
template<typename U1 , typename U2 , typename U3 , typename U4 , typename T1 , typename T2 , typename T3 , typename T4 >
static void ScheduleWithContext (uint32_t context, Time const &delay, void(*f)(U1, U2, U3, U4), T1 a1, T2 a2, T3 a3, T4 a4)
 
template<typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
static void ScheduleWithContext (uint32_t context, Time const &delay, void(*f)(U1, U2, U3, U4, U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
 
template<typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
static void ScheduleWithContext (uint32_t context, Time const &time, void(*f)(U1, U2, U3, U4, U5, U6), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
 This method is thread-safe: it can be called from any thread. More...
 
Schedule events (in the same context) to run now.
template<typename MEM , typename OBJ >
static EventId ScheduleNow (MEM mem_ptr, OBJ obj)
 Schedule an event to expire Now. More...
 
template<typename MEM , typename OBJ , typename T1 >
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, T1 a1)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 >
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, T1 a1, T2 a2)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 >
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 >
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
 
static EventId ScheduleNow (void(*f)(void))
 Schedule an event to expire Now. More...
 
template<typename U1 , typename T1 >
static EventId ScheduleNow (void(*f)(U1), T1 a1)
 
template<typename U1 , typename U2 , typename T1 , typename T2 >
static EventId ScheduleNow (void(*f)(U1, U2), T1 a1, T2 a2)
 
template<typename U1 , typename U2 , typename U3 , typename T1 , typename T2 , typename T3 >
static EventId ScheduleNow (void(*f)(U1, U2, U3), T1 a1, T2 a2, T3 a3)
 
template<typename U1 , typename U2 , typename U3 , typename U4 , typename T1 , typename T2 , typename T3 , typename T4 >
static EventId ScheduleNow (void(*f)(U1, U2, U3, U4), T1 a1, T2 a2, T3 a3, T4 a4)
 
template<typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
static EventId ScheduleNow (void(*f)(U1, U2, U3, U4, U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
 
template<typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
static EventId ScheduleNow (void(*f)(U1, U2, U3, U4, U5, U6), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
 
Schedule events to run at the end of the simulation, when Simulator:Destroy() is called.
template<typename MEM , typename OBJ >
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj)
 Schedule an event to expire when Simulator::Destroy is called. More...
 
template<typename MEM , typename OBJ , typename T1 >
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, T1 a1)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 >
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, T1 a1, T2 a2)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 >
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 >
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
 
template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
 
static EventId ScheduleDestroy (void(*f)(void))
 Schedule an event to expire when Simulator::Destroy is called. When Simulator::Destroy() is called, the function will be invoked with any supplied arguments. More...
 
template<typename U1 , typename T1 >
static EventId ScheduleDestroy (void(*f)(U1), T1 a1)
 
template<typename U1 , typename U2 , typename T1 , typename T2 >
static EventId ScheduleDestroy (void(*f)(U1, U2), T1 a1, T2 a2)
 
template<typename U1 , typename U2 , typename U3 , typename T1 , typename T2 , typename T3 >
static EventId ScheduleDestroy (void(*f)(U1, U2, U3), T1 a1, T2 a2, T3 a3)
 
template<typename U1 , typename U2 , typename U3 , typename U4 , typename T1 , typename T2 , typename T3 , typename T4 >
static EventId ScheduleDestroy (void(*f)(U1, U2, U3, U4), T1 a1, T2 a2, T3 a3, T4 a4)
 
template<typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
static EventId ScheduleDestroy (void(*f)(U1, U2, U3, U4, U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
 
template<typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
static EventId ScheduleDestroy (void(*f)(U1, U2, U3, U4, U5, U6), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
 

Private Member Functions

 Simulator ()
 Default constructor. More...
 
 ~Simulator ()
 Destructor. More...
 

Static Private Member Functions

static EventId DoSchedule (Time const &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...
 

Detailed Description

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:

/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
* Copyright (c) 2010 INRIA
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation;
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Authors: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
*/
#include <iostream>
#include "ns3/simulator.h"
#include "ns3/nstime.h"
#include "ns3/command-line.h"
#include "ns3/double.h"
#include "ns3/random-variable-stream.h"
using namespace ns3;
namespace {
class MyModel
{
public:
void Start (void);
private:
void HandleEvent (double eventValue);
};
void
MyModel::Start (void)
{
&MyModel::HandleEvent,
this, Simulator::Now ().GetSeconds ());
}
void
MyModel::HandleEvent (double value)
{
std::cout << "Member method received event at "
<< "s started at " << value << "s" << std::endl;
}
static void
ExampleFunction (MyModel *model)
{
std::cout << "ExampleFunction received event at "
<< Simulator::Now ().GetSeconds () << "s" << std::endl;
model->Start ();
}
static void
{
std::cout << "RandomFunction received event at "
<< Simulator::Now ().GetSeconds () << "s" << std::endl;
}
static void
{
std::cout << "I should never be called... " << std::endl;
}
} // unnamed namespace
int main (int argc, char *argv[])
{
cmd.Parse (argc, argv);
MyModel model;
Ptr<UniformRandomVariable> v = CreateObject<UniformRandomVariable> ();
v->SetAttribute ("Min", DoubleValue (10));
v->SetAttribute ("Max", DoubleValue (20));
}

Definition at line 68 of file simulator.h.

Constructor & Destructor Documentation

ns3::Simulator::Simulator ( )
private

Default constructor.

ns3::Simulator::~Simulator ( )
private

Destructor.

Member Function Documentation

void ns3::Simulator::Cancel ( const EventId id)
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).

Parameters
[in]idthe event to cancel

Definition at line 346 of file simulator.cc.

References ns3::SimulatorImpl::Cancel(), ns3::GetImpl(), and ns3::PeekImpl().

Referenced by ns3::EventId::Cancel(), ns3::Timer::Cancel(), ns3::LteUeRrc::CancelEnteringTrigger(), ns3::OnOffApplication::CancelEvents(), ns3::LteUeRrc::CancelLeavingTrigger(), ns3::DataCalculator::DoDispose(), ns3::BaseStationNetDevice::DoReceive(), ns3::SubscriberStationNetDevice::DoReceive(), ns3::UanPhyGen::EnergyDepletionHandler(), ns3::dsdv::RoutingTable::ForceDeleteIpv4Event(), ns3::UanMacCw::NotifyTxStart(), ns3::SSLinkManager::PerformRanging(), ns3::NullMessageSimulatorImpl::RescheduleNullMessageEvent(), ns3::UanMacCw::SaveTimer(), ns3::SsServiceFlowManager::ScheduleDsaReq(), ns3::BsServiceFlowManager::ScheduleDsaRsp(), ns3::SubscriberStationNetDevice::SetTimer(), ns3::MeshWifiInterfaceMac::ShiftTbtt(), ns3::FdNetDevice::Start(), ns3::FlowMonitor::Start(), ns3::TapBridge::Start(), Sender::StartApplication(), ns3::SimpleOfdmWimaxPhy::StartReceive(), ns3::FdNetDevice::Stop(), ns3::FlowMonitor::Stop(), ns3::TapBridge::Stop(), Sender::StopApplication(), ns3::UdpClient::StopApplication(), ns3::PacketSocketClient::StopApplication(), ns3::Ping6::StopApplication(), ns3::Radvd::StopApplication(), ns3::UdpTraceClient::StopApplication(), ns3::UdpEchoClient::StopApplication(), and ns3::EventGarbageCollector::~EventGarbageCollector().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::Simulator::Destroy ( void  )
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 190 of file simulator.cc.

References ns3::LogSetNodePrinter(), ns3::LogSetTimePrinter(), NS_LOG_FUNCTION_NOARGS, and ns3::PeekImpl().

Referenced by BatteryLifetimeTest::ConstantLoadTest(), BasicEnergyDepletionTest::DepletionTestCase(), ns3::aodv::NeighborTest::DoRun(), ns3::tests::WatchdogTestCase::DoRun(), ns3::olsr::Bug780Test::DoRun(), SteadyStateRandomWaypointTest::DoRun(), ns3::LenaDeactivateBearerTestCase::DoRun(), ns3::aodv::IdCacheTest::DoRun(), ns3::tests::EventGarbageCollectorTestCase::DoRun(), WaypointMobilityModelNotifyTest::DoRun(), ns3::olsr::HelloRegressionTest::DoRun(), ns3::aodv::LoopbackTestCase::DoRun(), LteHandoverDelayTestCase::DoRun(), ns3::olsr::TcRegressionTest::DoRun(), WaypointMobilityModelAddWaypointTest::DoRun(), ns3::aodv::AodvRqueueTest::DoRun(), ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::AodvRtableTest::DoRun(), Ns2MobilityHelperTest::DoTeardown(), ns3::TcpGeneralTest::DoTeardown(), experiment(), Experiment::Run(), RunSimulation(), WaveNetDeviceExample::SendIpExample(), WaveNetDeviceExample::SendWsaExample(), WaveNetDeviceExample::SendWsmpExample(), BasicEnergyUpdateTest::StateSwitchTest(), and BatteryLifetimeTest::VariableLoadTest().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

EventId ns3::Simulator::DoSchedule ( Time const &  delay,
EventImpl event 
)
staticprivate

Implementation of the various Schedule methods.

Parameters
[in]delayDelay until the event should execute.
[in]eventThe event to execute.
Returns
The EventId.

Definition at line 289 of file simulator.cc.

References ns3::Singleton< DesMetrics >::Get(), ns3::GetImpl(), Now(), ns3::SimulatorImpl::Schedule(), and ns3::DesMetrics::Trace().

Referenced by Schedule().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

EventId ns3::Simulator::DoScheduleDestroy ( EventImpl event)
staticprivate

Implementation of the various ScheduleDestroy methods.

Parameters
[in]eventThe event to execute.
Returns
The EventId.

Definition at line 305 of file simulator.cc.

References ns3::GetImpl(), and ns3::SimulatorImpl::ScheduleDestroy().

Referenced by ScheduleDestroy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

EventId ns3::Simulator::DoScheduleNow ( EventImpl event)
staticprivate

Implementation of the various ScheduleNow methods.

Parameters
[in]eventThe event to execute.
Returns
The EventId.

Definition at line 297 of file simulator.cc.

References ns3::Singleton< DesMetrics >::Get(), ns3::GetImpl(), Now(), ns3::SimulatorImpl::ScheduleNow(), and ns3::DesMetrics::Trace().

Referenced by ScheduleNow().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint32_t ns3::Simulator::GetContext ( void  )
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.

Returns
The current simulation context

Definition at line 378 of file simulator.cc.

References ns3::SimulatorImpl::GetContext(), and ns3::GetImpl().

Referenced by ns3::NodePrinter(), ns3::Node::ReceiveFromDevice(), ns3::DesMetrics::Trace(), and ns3::DesMetrics::TraceWithContext().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Time ns3::Simulator::GetDelayLeft ( const EventId id)
static

Get the remaining time until this event will execute.

Parameters
[in]idThe event id to analyse.
Returns
The delay left until the input event id expires. if the event is not running, this method returns zero.

Definition at line 258 of file simulator.cc.

References ns3::SimulatorImpl::GetDelayLeft(), ns3::GetImpl(), and NS_LOG_FUNCTION.

Referenced by ns3::DefaultChannelScheduler::AssignExtendedAccess(), ns3::LteUeRrc::CancelEnteringTrigger(), ns3::LteUeRrc::CancelLeavingTrigger(), ns3::TcpSocketBase::Destroy(), ns3::TcpSocketBase::Destroy6(), ns3::TcpSocketBase::DoForwardUp(), ns3::DcfManager::DoRestartAccessTimeoutIfNeeded(), ns3::Timer::GetDelayLeft(), ns3::Rip::HandleResponses(), ns3::RipNg::HandleResponses(), ns3::TcpSocketBase::NewAck(), ns3::TcpSocketBase::ReceivedData(), ns3::StaWifiMac::RestartBeaconWatchdog(), and ns3::Timer::Suspend().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ptr< SimulatorImpl > ns3::Simulator::GetImplementation ( void  )
static

Get the SimulatorImpl singleton.

Internal:
If the SimulatorImpl singleton hasn't been created yet, this function does so. At the same time it also creates the Scheduler. Both of these respect the global values which may have been set from the command line or through the Config system.

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.

Returns
The SimulatorImpl singleton.

Definition at line 425 of file simulator.cc.

References ns3::GetImpl(), and NS_LOG_FUNCTION_NOARGS.

Referenced by ns3::GrantedTimeWindowMpiInterface::GetSize(), ns3::GrantedTimeWindowMpiInterface::GetSystemId(), ns3::NullMessageMpiInterface::IsEnabled(), ns3::GrantedTimeWindowMpiInterface::IsEnabled(), and ns3::PyViz::SimulatorRunUntil().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Time ns3::Simulator::GetMaximumSimulationTime ( void  )
static

Get the maximum representable simulation time.

Returns
The maximum simulation time at which an event can be scheduled.

The returned value will always be bigger than or equal to Simulator::Now.

Definition at line 371 of file simulator.cc.

References ns3::GetImpl(), ns3::SimulatorImpl::GetMaximumSimulationTime(), and NS_LOG_FUNCTION_NOARGS.

Referenced by ns3::DcfManager::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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint32_t ns3::Simulator::GetSystemId ( void  )
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.

Returns
The system id for this simulator.

Definition at line 384 of file simulator.cc.

References ns3::GetImpl(), ns3::SimulatorImpl::GetSystemId(), NS_LOG_FUNCTION_NOARGS, and ns3::PeekImpl().

+ Here is the call graph for this function:

bool ns3::Simulator::IsExpired ( const EventId id)
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.

Parameters
[in]idThe event to test for expiration.
Returns
true if the event has expired, false otherwise.

Definition at line 356 of file simulator.cc.

References ns3::GetImpl(), ns3::SimulatorImpl::IsExpired(), and ns3::PeekImpl().

Referenced by ns3::EventId::IsExpired().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::Simulator::IsFinished ( void  )
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()).

Returns
true if no more events or stop time reached.

Definition at line 219 of file simulator.cc.

References ns3::GetImpl(), ns3::SimulatorImpl::IsFinished(), and NS_LOG_FUNCTION_NOARGS.

Referenced by ns3::AnimationInterface::MobilityAutoCheck(), PrintCellInfo(), ns3::BasicEnergySource::UpdateEnergySource(), ns3::RvBatteryModel::UpdateEnergySource(), ns3::LiIonEnergySource::UpdateEnergySource(), and ns3::BasicEnergyHarvester::UpdateHarvestedPower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Time ns3::Simulator::Now ( void  )
static

Return the current simulation virtual time.

Returns
The current virtual time.

Definition at line 249 of file simulator.cc.

References ns3::GetImpl(), and ns3::SimulatorImpl::Now().

Referenced by 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(), NodeStatistics::AdvancePosition(), ns3::UplinkSchedulerSimple::AllocateInitialRangingInterval(), ns3::UplinkSchedulerMBQoS::AllocateInitialRangingInterval(), ns3::UplinkSchedulerRtps::AllocateInitialRangingInterval(), ns3::InterferenceHelper::AppendEvent(), 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(), ns3::UanMacRc::AssociateTimeout(), ns3::olsr::RoutingProtocol::AssociationTupleTimerExpire(), ns3::BSSchedulerRtps::BSSchedulerRTPSConnection(), ns3::BSSchedulerRtps::BSSchedulerUGSConnection(), BytesInQueueTrace(), ns3::UanPhyCalcSinrDual::CalcSinrDb(), ns3::BandwidthManager::CalculateAllocationSize(), ns3::WifiRemoteStationInfo::CalculateAveragingCoefficient(), ns3::BasicEnergyHarvester::CalculateHarvestedPower(), ns3::BasicEnergySource::CalculateRemainingEnergy(), ns3::LiIonEnergySource::CalculateRemainingEnergy(), CalculateThroughput(), ns3::PyViz::CallbackStopSimulation(), ns3::dsr::DsrRouting::CallCancelPacketTimer(), ns3::OnOffApplication::CancelEvents(), ns3::SimpleFrameCaptureModel::CaptureNewFrame(), Bench::Cb(), ChangeSignalAndReportRate(), ns3::AcousticModemEnergyModel::ChangeState(), ns3::WifiRadioEnergyModel::ChangeState(), ns3::LrWpanPhy::ChangeTrxState(), ns3::UplinkSchedulerMBQoS::CheckDeadline(), ns3::FlowMonitor::CheckForLostPackets(), ns3::LrWpanPhy::CheckInterference(), CheckQueueDiscSize(), CheckQueueSize(), ns3::dsr::DsrRouting::CheckSendBuffer(), NodeStatistics::CheckStatistics(), ns3::RraaWifiManager::CheckTimeout(), ns3::RrpaaWifiManager::CheckTimeout(), ns3::dsr::DsrNetworkQueue::Cleanup(), ns3::BlockAckManager::CleanupBuffers(), ns3::ServiceFlow::CleanUpQueue(), ns3::CoDelGetTime(), ns3::DynamicQueueLimits::Completed(), ns3::TcpTxBuffer::CopyFromSequence(), Emitter::Count(), ns3::UplinkSchedulerMBQoS::CountSymbolsJobs(), CourseChange(), Ns2MobilityHelperTest::CourseChange(), WaypointMobilityModelNotifyTest::CourseChangeCallback(), WaypointMobilityModelAddWaypointTest::CourseChangeCallback(), ns3::MobilityHelper::CourseChanged(), ns3::LteUePhy::CreateDlCqiFeedbackMessage(), ns3::AnimationInterface::CsmaPhyRxEndTrace(), ns3::AnimationInterface::CsmaPhyTxBeginTrace(), ns3::AnimationInterface::CsmaPhyTxEndTrace(), CwndTracer(), 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::dot11s::HwmpRtable::DeleteProactivePath(), ns3::TcpSocketBase::Destroy(), ns3::TcpSocketBase::Destroy6(), ns3::AnimationInterface::DevTxTrace(), ns3::RadioBearerStatsCalculator::DlRxPdu(), ns3::MacStatsCalculator::DlScheduling(), ns3::RadioBearerStatsCalculator::DlTxPdu(), ns3::LteEnbMac::DoAllocateNcRaPreamble(), ns3::TraceFadingLossModel::DoCalcRxPowerSpectralDensity(), ns3::AmrrWifiManager::DoCreateStation(), ns3::OnoeWifiManager::DoCreateStation(), ns3::MinstrelHtWifiManager::DoCreateStation(), ns3::MinstrelWifiManager::DoCreateStation(), ns3::TdBetFfMacScheduler::DoCschedLcConfigReq(), ns3::FdBetFfMacScheduler::DoCschedLcConfigReq(), ns3::PfFfMacScheduler::DoCschedLcConfigReq(), ns3::TdTbfqFfMacScheduler::DoCschedLcConfigReq(), ns3::CqaFfMacScheduler::DoCschedLcConfigReq(), ns3::PssFfMacScheduler::DoCschedLcConfigReq(), ns3::FdTbfqFfMacScheduler::DoCschedLcConfigReq(), ns3::PieQueueDisc::DoDequeue(), ns3::RedQueueDisc::DoDequeue(), ns3::RedQueueDisc::DoEnqueue(), ns3::TcpSocketBase::DoForwardUp(), ns3::ConstantAccelerationMobilityModel::DoGetPosition(), ns3::ConstantAccelerationMobilityModel::DoGetVelocity(), ns3::DcfManager::DoGrantAccess(), ns3::BasicEnergyHarvester::DoInitialize(), ns3::MeshWifiInterfaceMac::DoInitialize(), ns3::MacLow::DoNavResetNow(), ns3::MacLow::DoNavStartNow(), ns3::LteRlcTm::DoNotifyTxOpportunity(), ns3::LteRlcUm::DoNotifyTxOpportunity(), ns3::LteRlcAm::DoNotifyTxOpportunity(), ns3::LteRlcSm::DoNotifyTxOpportunity(), ns3::PyViz::DoPause(), ns3::LteTestRrc::DoReceivePdcpSdu(), ns3::LteRlcUm::DoReceivePdu(), ns3::LteRlcTm::DoReceivePdu(), ns3::LteRlcAm::DoReceivePdu(), ns3::LtePdcp::DoReceivePdu(), ns3::LteRlcSm::DoReceivePdu(), ns3::MinstrelHtWifiManager::DoReportAmpduTxStatus(), ns3::LteRlcTm::DoReportBufferStatus(), ns3::LteRlcUm::DoReportBufferStatus(), ns3::LteRlcAm::DoReportBufferStatus(), ns3::MinstrelHtWifiManager::DoReportDataOk(), ns3::MinstrelHtWifiManager::DoReportFinalDataFailed(), ns3::LteUePhy::DoReset(), ns3::DcfManager::DoRestartAccessTimeoutIfNeeded(), ns3::tests::EventGarbageCollectorTestCase::DoRun(), DoSchedule(), DoScheduleNow(), ns3::ConstantAccelerationMobilityModel::DoSetPosition(), ns3::WaypointMobilityModel::DoSetPosition(), ns3::LteEnbPhy::DoSetSrsConfigurationIndex(), ns3::LteUePhy::DoSetSrsConfigurationIndex(), ns3::LteUeMac::DoSubframeIndication(), ns3::WifiPhyStateHelper::DoSwitchFromRx(), ns3::LteRlcTm::DoTransmitPdcpPdu(), ns3::LteRlcUm::DoTransmitPdcpPdu(), ns3::LteRlcAm::DoTransmitPdcpPdu(), ns3::LtePdcp::DoTransmitPdcpSdu(), DroppingStateTracer(), ns3::olsr::RoutingProtocol::Dump(), ns3::olsr::RoutingProtocol::DupTupleTimerExpire(), ns3::TcpOptionTS::ElapsedTimeFromTsValue(), Emitter::Emit(), LteHandoverDelayTestCase::EnbHandoverEndOkCallback(), LteHandoverDelayTestCase::EnbHandoverStartCallback(), ns3::UanMacRcGw::EndCycle(), ns3::LrWpanPhy::EndEd(), ns3::LteEnbPhy::EndFrame(), ns3::WifiPhy::EndReceive(), ns3::LrWpanPhy::EndRx(), ns3::LteSpectrumPhy::EndRxData(), ns3::LteEnbPhy::EndSubFrame(), ns3::UanMacCw::EndTx(), ns3::EdcaTxopN::EndTxNoAck(), ns3::UanMacAloha::Enqueue(), ns3::WimaxMacQueue::Enqueue(), ns3::UanMacCw::Enqueue(), ns3::dsr::DsrNetworkQueue::Enqueue(), ns3::QueueDisc::Enqueue(), ns3::TcpSocketBase::EstimateRtt(), ns3::RedQueueDisc::Estimator(), EveryDropTracer(), anonymous_namespace{sample-simulator.cc}::ExampleFunction(), ns3::tests::WatchdogTestCase::Expire(), ns3::Watchdog::Expire(), ns3::dsr::DsrGraReply::FindAndUpdate(), ns3::dsr::DsrRreqTable::FindAndUpdate(), ns3::UanMacRcGw::FindOptA(), ns3::ArpCache::Flush(), ns3::olsr::RoutingProtocol::ForwardDefault(), ns3::dsr::DsrRouting::ForwardErrPacket(), ns3::LteUePhy::GenerateCqiRsrpRsrq(), ns3::LteEnbPhy::GenerateCtrlCqiReport(), GenerateTraffic(), ns3::AnimationInterface::GenericWirelessRxTrace(), ns3::AnimationInterface::GenericWirelessTxTrace(), ns3::UplinkSchedulerSimple::GetChannelDescriptorsToUpdate(), ns3::UplinkSchedulerRtps::GetChannelDescriptorsToUpdate(), ns3::UplinkSchedulerMBQoS::GetChannelDescriptorsToUpdate(), ns3::WifiPhyStateHelper::GetDelayUntilIdle(), ns3::InterferenceHelper::GetEnergyDuration(), ns3::aodv::Neighbors::GetExpireTime(), ns3::dsr::DsrSendBuffEntry::GetExpireTime(), ns3::dsr::DsrErrorBuffEntry::GetExpireTime(), ns3::aodv::QueueEntry::GetExpireTime(), ns3::dsdv::QueueEntry::GetExpireTime(), ns3::dsr::DsrReceivedRreqEntry::GetExpireTime(), ns3::dsr::DsrPassiveBuffEntry::GetExpireTime(), ns3::dsr::DsrRouteCacheEntry::GetExpireTime(), ns3::dsr::DsrMaintainBuffEntry::GetExpireTime(), ns3::dsr::DsrRouteCache::GetExpireTime(), ns3::BridgeNetDevice::GetLearnedState(), ns3::dsdv::RoutingTableEntry::GetLifeTime(), ns3::aodv::RoutingTableEntry::GetLifeTime(), ns3::dsr::DsrLinkStab::GetLinkStability(), ns3::Node::GetLocalTime(), ns3::dsr::DsrNodeStab::GetNodeStability(), ns3::PyViz::GetPauseMessages(), ns3::dot11s::HwmpRtable::GetPrecursors(), GetSetTRXStateConfirm(), ns3::TcpHtcp::GetSsThresh(), ns3::WifiPhyStateHelper::GetState(), ns3::WifiPhyStateHelper::GetStateDuration(), ns3::NscTcpL4Protocol::gettime(), ns3::SubscriberStationNetDevice::GetTimeToAllocation(), ns3::EdcaTxopN::GetTxopRemaining(), GoodputSampling(), ns3::EdcaTxopN::GotAck(), ns3::EdcaTxopN::GotBlockAck(), anonymous_namespace{sample-simulator.cc}::MyModel::HandleEvent(), ns3::UdpEchoServer::HandleRead(), ns3::PacketSocketServer::HandleRead(), ns3::UdpServer::HandleRead(), ns3::PacketSink::HandleRead(), ns3::Radvd::HandleRead(), ns3::UdpEchoClient::HandleRead(), ns3::ArpCache::HandleWaitReplyTimeout(), HarvestedPower(), ns3::aodv::RoutingProtocol::HelloTimerExpire(), ns3::olsr::RoutingProtocol::IfaceAssocTupleTimerExpire(), InFlightTracer(), 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::DcfManager::IsBusy(), ns3::aodv::IdCache::IsDuplicate(), ns3::Probe::IsEnabled(), ns3::ArpCache::Entry::IsExpired(), ns3::AnimationInterface::IsInTimeWindow(), ns3::MacLow::IsNavZero(), ns3::DcfManager::IsWithinAifs(), 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(), ns3::LteUePhy::LteUePhy(), ns3::dsr::DsrRreqTable::MarkLinkAsUnidirectional(), ns3::StaWifiMac::MissedBeacons(), modify(), ns3::olsr::RoutingProtocol::MprSelTupleTimerExpire(), ns3::olsr::RoutingProtocol::Nb2hopTupleTimerExpire(), ns3::olsr::RoutingProtocol::NeighborLoss(), ns3::TcpSocketBase::NewAck(), NextRxTracer(), NextTxTracer(), ns3::EdcaTxopN::NotifyAccessGranted(), ns3::DcfManager::NotifyAckTimeoutResetNow(), ns3::DcfManager::NotifyAckTimeoutStartNow(), ns3::Ipv4GlobalRouting::NotifyAddAddress(), ns3::dot11s::PeerManagementProtocol::NotifyBeaconSent(), ns3::UanMacCw::NotifyCcaEnd(), ns3::UanMacCw::NotifyCcaStart(), NotifyConnectionEstablishedEnb(), NotifyConnectionEstablishedUe(), ns3::DcfManager::NotifyCtsTimeoutResetNow(), ns3::DcfManager::NotifyCtsTimeoutStartNow(), NotifyHandoverEndOkEnb(), NotifyHandoverEndOkUe(), NotifyHandoverStartEnb(), NotifyHandoverStartUe(), ns3::Ipv4GlobalRouting::NotifyInterfaceDown(), ns3::Ipv4GlobalRouting::NotifyInterfaceUp(), ns3::DcfManager::NotifyMaybeCcaBusyStartNow(), ns3::MacLow::NotifyNav(), ns3::DcfManager::NotifyNavResetNow(), ns3::DcfManager::NotifyNavStartNow(), ns3::Ipv4GlobalRouting::NotifyRemoveAddress(), ns3::UanMacCw::NotifyRxEndError(), ns3::DcfManager::NotifyRxEndErrorNow(), ns3::UanMacCw::NotifyRxEndOk(), ns3::DcfManager::NotifyRxEndOkNow(), ns3::UanMacCw::NotifyRxStart(), ns3::DcfManager::NotifyRxStartNow(), ns3::MacLow::NotifySleepNow(), ns3::DcfManager::NotifySwitchingStartNow(), ns3::MacLow::NotifySwitchingStartNow(), ns3::UanMacCw::NotifyTxStart(), ns3::DcfManager::NotifyTxStartNow(), ns3::DcfManager::NotifyWakeupNow(), ns3::Now(), ns3::TcpOptionTS::NowToTsValue(), ns3::CoDelQueueDisc::OkToDrop(), ns3::aodv::IdCache::IsExpired::operator()(), ns3::aodv::CloseNeighbor::operator()(), ns3::dsr::DsrGraReply::IsExpired::operator()(), ns3::dsr::DsrRreqTable::IsExpired::operator()(), ns3::dsr::CloseNeighbor::operator()(), ns3::QueueDisc::PacketDequeued(), ns3::dsr::DsrRouting::PacketNewRoute(), ns3::PcapSniffLrWpan(), ns3::WifiPhyHelper::PcapSniffRxEvent(), ns3::WifiPhyHelper::PcapSniffTxEvent(), ns3::PcapSniffTxRxEvent(), ns3::WifiMacQueue::Peek(), ns3::TcpSocketBase::PersistTimeout(), PhyStateTrace(), ns3::Watchdog::Ping(), ns3::TcpHtcp::PktsAcked(), ns3::LrWpanPhy::PlmeEdRequest(), ns3::olsr::RoutingProtocol::PopulateMprSelectorSet(), ns3::olsr::RoutingProtocol::PopulateTwoHopNeighborSet(), PowerCallback(), ns3::dsdv::RoutingTableEntry::Print(), ns3::dsr::DsrRouteCacheEntry::Print(), ns3::aodv::RoutingTableEntry::Print(), ns3::Ipv4RoutingHelper::PrintArpCache(), ns3::Ipv4RoutingHelper::PrintArpCacheEvery(), PrintCellInfo(), IpAddressHelper::PrintIpAddresses(), ns3::Ipv6RoutingHelper::PrintNdiscCache(), ns3::Ipv6RoutingHelper::PrintNdiscCacheEvery(), PrintReceivedPacket(), ns3::UanMacRc::ProcessAck(), ns3::UplinkSchedulerMBQoS::ProcessBandwidthRequest(), ns3::Ipv4L3Protocol::ProcessFragment(), ns3::SixLowPanNetDevice::ProcessFragment(), ns3::olsr::RoutingProtocol::ProcessHello(), ns3::olsr::RoutingProtocol::ProcessHna(), ns3::olsr::RoutingProtocol::ProcessMid(), ns3::BSLinkManager::ProcessRangingRequest(), ns3::olsr::RoutingProtocol::ProcessTc(), ns3::dsr::DsrRouting::PromiscReceive(), ns3::AnimationInterface::PurgePendingPackets(), anonymous_namespace{sample-simulator.cc}::RandomFunction(), ns3::BaseStationNetDevice::RangingOppStart(), RateCallback(), ns3::dot11s::HwmpProtocol::ReactivePathResolved(), ns3::UanTransducerHd::Receive(), ns3::V4Ping::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::dot11s::PeerManagementProtocol::ReceiveBeacon(), ns3::TcpSocketBase::ReceivedData(), ns3::LteUePhy::ReceiveLteControlMessageList(), ns3::GrantedTimeWindowMpiInterface::ReceiveMessages(), ns3::NullMessageMpiInterface::ReceiveMessages(), ns3::UanMacRc::ReceiveOkFromPhy(), ns3::UanMacRcGw::ReceivePacket(), ReceivePdDataIndication(), ns3::DelayJitterEstimation::RecordRx(), ns3::dsdv::RoutingProtocol::RecvDsdv(), ns3::olsr::RoutingProtocol::RecvOlsr(), ns3::aodv::RoutingProtocol::RecvRequest(), RemainingEnergy(), RemainingEnergyTrace(), ns3::olsr::RoutingProtocol::RemoveLinkTuple(), ns3::flame::FlameProtocol::RemoveRoutingStuff(), 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::LteUePhy::ReportUeMeasurements(), ns3::PhyStatsCalculator::ReportUeSinr(), ns3::DcfManager::RequestAccess(), ns3::flame::FlameProtocol::RequestRoute(), SampleEmitter::Reschedule(), ns3::RadioBearerStatsCalculator::RescheduleEndEpoch(), ns3::DynamicQueueLimits::Reset(), ns3::RraaWifiManager::ResetCountersBasic(), ns3::RrpaaWifiManager::ResetCountersBasic(), ns3::StaWifiMac::RestartBeaconWatchdog(), ns3::dot11s::HwmpProtocol::RetryPathDiscovery(), ns3::TcpSocketBase::ReTxTimeout(), ns3::olsr::RoutingProtocol::RoutingTableComputation(), RtoTracer(), ns3::UanMacRc::RtsTimeout(), RttTracer(), ns3::RvBatteryModel::RvBatteryModel(), ns3::UanPhyDual::RxOkFromSubPhy(), ns3::UanMacAloha::RxPacketError(), ns3::dsr::DsrRouting::SalvagePacket(), ns3::LteUeRrc::SaveScellUeMeasurements(), ns3::UanMacCw::SaveTimer(), ns3::LteUeRrc::SaveUeMeasurements(), ns3::RealtimeSimulatorImpl::Schedule(), ns3::UplinkSchedulerMBQoS::Schedule(), ns3::UanMacRc::ScheduleData(), ScheduleWithContext(), ns3::BSSchedulerSimple::SelectConnection(), ns3::SSScheduler::SelectConnection(), ns3::UdpClient::Send(), ns3::PacketSocketClient::Send(), ns3::V4Ping::Send(), ns3::Radvd::Send(), ns3::UdpEchoClient::Send(), ns3::dsr::DsrRouting::Send(), ns3::dsr::DsrRouting::SendAck(), ns3::BulkSendApplication::SendData(), ns3::TcpSocketBase::SendDataPacket(), ns3::TcpSocketSmallAcks::SendEmptyPacket(), ns3::TcpSocketBase::SendEmptyPacket(), ns3::dsr::DsrRouting::SendGratuitousReply(), ns3::olsr::RoutingProtocol::SendHello(), Sender::SendPacket(), ns3::UanPhyDual::SendPacket(), ns3::OnOffApplication::SendPacket(), ns3::UanMacCw::SendPacket(), ns3::UanMacRcGw::SendPacket(), ns3::UanMacRc::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::UanMacRc::SendRts(), ns3::dsr::DsrRouting::SendUnreachError(), ns3::MgtProbeResponseHeader::Serialize(), ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequests(), ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequestsBytes(), ns3::UplinkSchedulerSimple::ServiceUnsolicitedGrants(), ns3::UplinkSchedulerRtps::ServiceUnsolicitedGrants(), ns3::UplinkSchedulerMBQoS::ServiceUnsolicitedGrants(), ns3::SimpleDeviceEnergyModel::SetCurrentA(), ns3::dsr::DsrSendBuffEntry::SetExpireTime(), ns3::dsr::DsrErrorBuffEntry::SetExpireTime(), ns3::aodv::QueueEntry::SetExpireTime(), ns3::dsdv::QueueEntry::SetExpireTime(), ns3::dsr::DsrReceivedRreqEntry::SetExpireTime(), ns3::dsr::DsrPassiveBuffEntry::SetExpireTime(), ns3::dsr::DsrRouteCacheEntry::SetExpireTime(), ns3::dsr::DsrMaintainBuffEntry::SetExpireTime(), ns3::RemoteChannelBundle::SetGuaranteeTime(), ns3::aodv::RoutingTableEntry::SetLifeTime(), ns3::dsr::DsrLinkStab::SetLinkStability(), ns3::AcousticModemEnergyModel::SetMicroModemState(), ns3::dsr::DsrNodeStab::SetNodeStability(), ns3::ConstantVelocityHelper::SetPosition(), ns3::DhcpHeader::SetTime(), ns3::ConstantVelocityHelper::SetVelocity(), ns3::ConstantAccelerationMobilityModel::SetVelocityAndAcceleration(), ns3::WifiRadioEnergyModel::SetWifiRadioState(), ns3::MeshWifiInterfaceMac::ShiftTbtt(), ns3::dot11s::HwmpProtocol::ShouldSendPreq(), showPosition(), ns3::PyViz::SimulatorRunUntil(), ns3::PcapHelper::SinkWithHeader(), SocketPrinter(), SsThreshTracer(), anonymous_namespace{sample-simulator.cc}::MyModel::Start(), ns3::LteTestRrc::Start(), ns3::V4Ping::StartApplication(), ns3::DcfState::StartBackoffNow(), ns3::UanMacRcGw::StartCycle(), ns3::BaseStationNetDevice::StartDlSubFrame(), StartFlow(), ns3::BaseStationNetDevice::StartFrame(), ns3::EdcaTxopN::StartNextPacket(), ns3::NdiscCache::Entry::StartReachableTimer(), ns3::WifiPhy::StartReceivePreambleAndHeader(), 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::ArpCache::StartWaitReplyTimer(), ns3::V4Ping::StopApplication(), ns3::LteUePhy::SubframeIndication(), ns3::WifiPhyStateHelper::SwitchFromRxAbort(), ns3::WifiPhyStateHelper::SwitchFromSleep(), ns3::WifiPhyStateHelper::SwitchMaybeToCcaBusy(), ns3::WifiPhyStateHelper::SwitchToChannelSwitching(), ns3::WifiPhyStateHelper::SwitchToRx(), ns3::WifiPhyStateHelper::SwitchToSleep(), ns3::WifiPhyStateHelper::SwitchToTx(), TestDeterministicByTime(), ns3::TimePrinter(), ns3::olsr::RoutingProtocol::TopologyTupleTimerExpire(), TotalEnergy(), TotalEnergyHarvested(), ns3::PyViz::TraceDevQueueDrop(), ns3::PyViz::TraceNetDevRxCommon(), ns3::PyViz::TraceNetDevTxCommon(), ns3::TimeSeriesAdaptor::TraceSinkDouble(), ns3::AnimationInterface::TrackIpv4L3ProtocolCounters(), ns3::AnimationInterface::TrackIpv4Route(), ns3::AnimationInterface::TrackQueueCounters(), ns3::AnimationInterface::TrackWifiMacCounters(), ns3::AnimationInterface::TrackWifiPhyCounters(), ns3::UanTransducerHd::Transmit(), ns3::PointToPointRemoteChannel::TransmitStart(), ns3::WifiMacQueue::TtlExceeded(), LteHandoverDelayTestCase::UeHandoverEndOkCallback(), LteHandoverDelayTestCase::UeHandoverStartCallback(), ns3::RadioBearerStatsCalculator::UlRxPdu(), ns3::MacStatsCalculator::UlScheduling(), ns3::RadioBearerStatsCalculator::UlTxPdu(), ns3::ConstantVelocityHelper::Update(), ns3::aodv::Neighbors::Update(), ns3::TcpBic::Update(), ns3::WaypointMobilityModel::Update(), ns3::TcpHtcp::UpdateAlpha(), ns3::DcfManager::UpdateBackoff(), ns3::TcpLedbat::UpdateBaseDelay(), ns3::BasicEnergySource::UpdateEnergySource(), ns3::RvBatteryModel::UpdateEnergySource(), ns3::LiIonEnergySource::UpdateEnergySource(), ns3::BasicEnergyHarvester::UpdateHarvestedPower(), ns3::RedQueueDisc::UpdateMaxP(), ns3::AmrrWifiManager::UpdateMode(), ns3::OnoeWifiManager::UpdateMode(), ns3::dsr::DsrRouteCache::UpdateNeighbor(), ns3::NdiscCache::Entry::UpdateReachableTimer(), ns3::TcpSocketBase::UpdateRttHistory(), ns3::ArpCache::Entry::UpdateSeen(), ns3::MinstrelWifiManager::UpdateStats(), ns3::MinstrelHtWifiManager::UpdateStats(), ns3::BaseStationNetDevice::UplinkAllocationEnd(), ns3::BaseStationNetDevice::UplinkAllocationStart(), ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::UplinkSchedulerMBQoS::UplinkSchedWindowTimer(), ns3::AnimationInterface::WavePhyRxBeginTrace(), ns3::AnimationInterface::WifiPhyRxBeginTrace(), 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().

+ Here is the call graph for this function:

void ns3::Simulator::Remove ( const EventId id)
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).

Parameters
[in]idThe event to remove from the list of scheduled events.

Definition at line 336 of file simulator.cc.

References ns3::GetImpl(), ns3::PeekImpl(), and ns3::SimulatorImpl::Remove().

Referenced by ns3::DhcpClient::AcceptAck(), ns3::PieQueueDisc::DoDispose(), ns3::ArpCache::DoDispose(), ns3::RandomWaypointMobilityModel::DoSetPosition(), ns3::RandomDirection2dMobilityModel::DoSetPosition(), ns3::RandomWalk2dMobilityModel::DoSetPosition(), ns3::SteadyStateRandomWaypointMobilityModel::DoSetPosition(), ns3::GaussMarkovMobilityModel::DoSetPosition(), ns3::DhcpClient::LinkStateHandler(), ns3::DhcpClient::NetHandler(), ns3::DhcpClient::OfferHandler(), ns3::Timer::Remove(), ns3::DhcpClient::RemoveAndStart(), ns3::DhcpServer::StopApplication(), ns3::DhcpClient::StopApplication(), ns3::Timer::Suspend(), ns3::UanTransducerHd::Transmit(), and ns3::Timer::~Timer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::Simulator::Run ( void  )
static

Run the simulation.

The simulation will run until one of:

  • No events are present anymore
  • The user called Simulator::Stop
  • The user called Simulator::Stop with a stop time and the expiration time of the next event to be processed is greater than or equal to the stop time.

Definition at line 226 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::NeighborTest::DoRun(), ns3::olsr::Bug780Test::DoRun(), ns3::tests::WatchdogTestCase::DoRun(), SteadyStateRandomWaypointTest::DoRun(), ns3::LenaDeactivateBearerTestCase::DoRun(), ns3::aodv::IdCacheTest::DoRun(), WaypointMobilityModelNotifyTest::DoRun(), ns3::tests::EventGarbageCollectorTestCase::DoRun(), ns3::olsr::HelloRegressionTest::DoRun(), ns3::aodv::LoopbackTestCase::DoRun(), LteHandoverDelayTestCase::DoRun(), ns3::olsr::TcRegressionTest::DoRun(), WaypointMobilityModelAddWaypointTest::DoRun(), Ns2MobilityHelperTest::DoRun(), ns3::TcpGeneralTest::DoRun(), ns3::aodv::AodvRqueueTest::DoRun(), experiment(), Experiment::Run(), Bench::RunBench(), RunSimulation(), WaveNetDeviceExample::SendIpExample(), WaveNetDeviceExample::SendWsaExample(), WaveNetDeviceExample::SendWsmpExample(), BasicEnergyUpdateTest::StateSwitchTest(), TestDeterministic(), TestDeterministicByTime(), TestProbabilistic(), and BatteryLifetimeTest::VariableLoadTest().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename MEM , typename OBJ >
EventId ns3::Simulator::Schedule ( Time const &  delay,
MEM  mem_ptr,
OBJ  obj 
)
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.

When the event expires (when it becomes due to be run), the input method will be invoked on the input object.

Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
Parameters
[in]delayThe relative expiration time of the event.
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
Returns
The id for the scheduled event.

Definition at line 1375 of file simulator.h.

References DoSchedule(), and ns3::MakeEvent().

Referenced by ns3::DhcpClient::AcceptAck(), ns3::Ipv6Interface::AddAddress(), ns3::SpectrumInterference::AddSignal(), ns3::LteInterference::AddSignal(), ns3::WaypointMobilityModel::AddWaypoint(), AdvancePosition(), NodeStatistics::AdvancePosition(), ns3::DefaultChannelScheduler::AssignContinuousAccess(), ns3::DefaultChannelScheduler::AssignExtendedAccess(), ns3::UanMacRc::Associate(), ns3::UanMacRc::AssociateTimeout(), ns3::olsr::RoutingProtocol::AssociationTupleTimerExpire(), 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(), CheckQueueDiscSize(), CheckQueueSize(), ns3::dsr::DsrRouting::CheckSendBuffer(), NodeStatistics::CheckStatistics(), ns3::LteEnbRrc::ConfigureCell(), Emitter::Count(), ns3::MacLow::CreateBlockAckAgreement(), ns3::olsr::Bug780Test::CreateNodes(), ns3::MacLow::DeaggregateAmpduAndReceive(), ns3::RadioEnvironmentMapHelper::DelayedInstall(), ns3::WifiPhy::DoChannelSwitch(), ns3::Icmpv6L4Protocol::DoDAD(), ns3::TcpSocketBase::DoForwardUp(), ns3::WifiPhy::DoFrequencySwitch(), Emitter::DoInitialize(), ns3::UeManager::DoInitialize(), ns3::Application::DoInitialize(), ns3::dot11s::HwmpProtocol::DoInitialize(), ns3::MeshWifiInterfaceMac::DoInitialize(), ns3::Rip::DoInitialize(), ns3::RipNg::DoInitialize(), ns3::ApWifiMac::DoInitialize(), ns3::RandomWaypointMobilityModel::DoInitializePrivate(), ns3::SteadyStateRandomWaypointMobilityModel::DoInitializePrivate(), ns3::LteUeRrc::DoNotifyRandomAccessSuccessful(), ns3::LteRlcTm::DoNotifyTxOpportunity(), ns3::LteRlcUm::DoNotifyTxOpportunity(), ns3::LteRlcAm::DoNotifyTxOpportunity(), ns3::TcpSocketBase::DoPeerClose(), ns3::LteRlcUm::DoReceivePdu(), ns3::LteRlcAm::DoReceivePdu(), ns3::VsaManager::DoRepeat(), ns3::LteTestMac::DoReportBufferStatus(), ns3::DcfManager::DoRestartAccessTimeoutIfNeeded(), ns3::aodv::NeighborTest::DoRun(), ns3::tests::WatchdogTestCase::DoRun(), SteadyStateRandomWaypointTest::DoRun(), ns3::LenaDeactivateBearerTestCase::DoRun(), ns3::aodv::IdCacheTest::DoRun(), ns3::tests::EventGarbageCollectorTestCase::DoRun(), WaypointMobilityModelNotifyTest::DoRun(), WaypointMobilityModelAddWaypointTest::DoRun(), ns3::TcpGeneralTest::DoRun(), ns3::aodv::AodvRqueueTest::DoRun(), 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::LteUeRrcProtocolIdeal::DoSendRrcConnectionRequest(), ns3::LteEnbRrcProtocolIdeal::DoSendRrcConnectionSetup(), ns3::LteUeRrcProtocolIdeal::DoSendRrcConnectionSetupCompleted(), ns3::LteEnbRrcProtocolIdeal::DoSendSystemInformation(), ns3::LteEnbRrcProtocolReal::DoSendSystemInformation(), ns3::VsaManager::DoSendVsa(), ns3::LteRlcAm::DoTransmitPdcpPdu(), ns3::LteTestMac::DoTransmitPdu(), ns3::RandomWalk2dMobilityModel::DoWalk(), ns3::GaussMarkovMobilityModel::DoWalk(), ns3::olsr::RoutingProtocol::DupTupleTimerExpire(), Emitter::Emit(), 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::SimpleOfdmWimaxPhy::EndReceiveFecBlock(), ns3::BaseStationNetDevice::EndUlSubFrame(), ns3::Watchdog::Expire(), ns3::LteRlcUm::ExpireRbsTimer(), ns3::LteRlcTm::ExpireRbsTimer(), ns3::LteRlcAm::ExpireRbsTimer(), ns3::LteRlcUm::ExpireReorderingTimer(), ns3::LteRlcAm::ExpireReorderingTimer(), ns3::olsr::RoutingProtocol::ForwardDefault(), ns3::MacLow::ForwardDown(), ns3::Icmpv6L4Protocol::FunctionDadTimeout(), ns3::SpectrumAnalyzer::GenerateReport(), GenerateTraffic(), ns3::WaveformGenerator::GenerateWaveform(), GoodputSampling(), ns3::Radvd::HandleRead(), ns3::Rip::HandleResponses(), ns3::RipNg::HandleResponses(), ns3::ArpCache::HandleWaitReplyTimeout(), ns3::LteHelper::HandoverRequest(), ns3::olsr::RoutingProtocol::IfaceAssocTupleTimerExpire(), ns3::RadioEnvironmentMapHelper::Install(), ns3::Rip::InvalidateRoute(), ns3::RipNg::InvalidateRoute(), ns3::olsr::RoutingProtocol::LinkSensing(), ns3::olsr::RoutingProtocol::LinkTupleTimerExpire(), ns3::ArpL3Protocol::Lookup(), ns3::LteUePhy::LteUePhy(), ns3::MakeTimerImpl(), ns3::BaseStationNetDevice::MarkRangingOppStart(), ns3::BaseStationNetDevice::MarkUplinkAllocationEnd(), ns3::BaseStationNetDevice::MarkUplinkAllocationStart(), ns3::LteUeRrc::MeasurementReportTriggering(), ns3::StaWifiMac::MissedBeacons(), ns3::AnimationInterface::MobilityAutoCheck(), modify(), ns3::olsr::RoutingProtocol::MprSelTupleTimerExpire(), ns3::olsr::RoutingProtocol::Nb2hopTupleTimerExpire(), ns3::TcpSocketBase::NewAck(), ns3::dot11s::PeerManagementProtocol::NotifyBeaconSent(), ns3::ChannelCoordinator::NotifyCchSlot(), ns3::FlowMonitor::NotifyConstructionCompleted(), ns3::BlockAckManager::NotifyGotBlockAck(), ns3::ChannelCoordinator::NotifyGuardSlot(), ns3::WifiRadioEnergyModelPhyListener::NotifyMaybeCcaBusyStart(), ns3::MacLow::NotifyNav(), ns3::ChannelCoordinator::NotifySchSlot(), ns3::WifiRadioEnergyModelPhyListener::NotifySwitchingStart(), ns3::UanMacCw::NotifyTxStart(), ns3::WifiRadioEnergyModelPhyListener::NotifyTxStart(), ns3::DhcpClient::OfferHandler(), ns3::LrWpanMac::PdDataConfirm(), ns3::LrWpanPhy::PdDataRequest(), ns3::SSLinkManager::PerformBackoff(), ns3::FlowMonitor::PeriodicCheckForLostPackets(), ns3::TcpSocketBase::PersistTimeout(), ns3::PieQueueDisc::PieQueueDisc(), ns3::Watchdog::Ping(), ns3::TcpWestwood::PktsAcked(), ns3::LrWpanPhy::PlmeCcaRequest(), ns3::LrWpanPhy::PlmeEdRequest(), ns3::LrWpanPhy::PlmeSetTRXStateRequest(), ns3::olsr::RoutingProtocol::PopulateMprSelectorSet(), ns3::olsr::RoutingProtocol::PopulateTwoHopNeighborSet(), ns3::Ipv4RoutingHelper::PrintArpCacheEvery(), PrintCellInfo(), ns3::Ipv4RoutingHelper::PrintEvery(), ns3::Ipv6RoutingHelper::PrintEvery(), 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(), 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::Ipv6ExtensionFragment::Process(), ns3::Ipv4L3Protocol::ProcessFragment(), ns3::SixLowPanNetDevice::ProcessFragment(), ns3::olsr::RoutingProtocol::ProcessHna(), ns3::olsr::RoutingProtocol::ProcessMid(), ns3::olsr::RoutingProtocol::ProcessTc(), ns3::SubscriberStationNetDevice::ProcessUlMap(), Progress(), ns3::LrWpanCsmaCa::RandomBackoffDelay(), ns3::UanTransducerHd::Receive(), ns3::TcpSocketBase::ReceivedData(), ns3::MacLow::ReceiveError(), ns3::MacLow::ReceiveOk(), ns3::UanMacRc::ReceiveOkFromPhy(), ns3::dsdv::RoutingProtocol::RecvDsdv(), ns3::UeManager::RecvHandoverRequestAck(), ns3::aodv::RoutingProtocol::RecvRequest(), ns3::UeManager::RecvRrcConnectionRequest(), ns3::LteUePhy::ReportUeMeasurements(), ns3::DhcpClient::Request(), SampleEmitter::Reschedule(), ns3::RadioBearerStatsCalculator::RescheduleEndEpoch(), ns3::NullMessageSimulatorImpl::RescheduleNullMessageEvent(), ns3::MacLow::ResetBlockAckInactivityTimerIfNeeded(), ns3::StaWifiMac::RestartBeaconWatchdog(), ns3::dot11s::HwmpProtocol::RetryPathDiscovery(), ns3::dsdv::RoutingProtocol::RouteOutput(), ns3::UanMacRc::RtsTimeout(), Bench::RunBench(), ns3::RadioEnvironmentMapHelper::RunOneIteration(), ns3::dsr::DsrRouting::ScheduleCachedReply(), ns3::UanMacRc::ScheduleData(), ns3::SsServiceFlowManager::ScheduleDsaReq(), ns3::BsServiceFlowManager::ScheduleDsaRsp(), ns3::dsr::DsrRouting::ScheduleInterRequest(), ns3::MeshWifiInterfaceMac::ScheduleNextBeacon(), ns3::OnOffApplication::ScheduleNextTx(), ns3::NullMessageSimulatorImpl::ScheduleNullMessageEvent(), ns3::SSLinkManager::ScheduleScanningRestart(), ns3::OnOffApplication::ScheduleStartEvent(), ns3::OnOffApplication::ScheduleStopEvent(), ns3::Ping6::ScheduleTransmit(), ns3::UdpEchoClient::ScheduleTransmit(), ns3::UdpClient::Send(), ns3::PacketSocketClient::Send(), ns3::V4Ping::Send(), ns3::Radvd::Send(), ns3::UdpTraceClient::Send(), ns3::dsr::DsrRouting::Send(), ns3::TcpSocketBase::Send(), ns3::StaWifiMac::SendAssociationRequest(), ns3::BaseStationNetDevice::SendBursts(), ns3::MacLow::SendCtsToSelf(), ns3::LteTestRrc::SendData(), ns3::LteTestPdcp::SendData(), ns3::TcpSocketBase::SendDataPacket(), ns3::TcpSocketSmallAcks::SendEmptyPacket(), ns3::TcpSocketBase::SendEmptyPacket(), ns3::SimpleNetDevice::SendFrom(), ns3::aodv::RoutingProtocol::SendHello(), WaveNetDeviceExample::SendIpExample(), ns3::LteUeRrc::SendMeasurementReport(), ns3::dot11s::HwmpProtocolMac::SendMyPerr(), ns3::dot11s::HwmpProtocolMac::SendMyPreq(), ns3::Icmpv6L4Protocol::SendNS(), ns3::ApWifiMac::SendOneBeacon(), Sender::SendPacket(), SendPacket(), ns3::UanPhyGen::SendPacket(), ns3::TcpGeneralTest::SendPacket(), ns3::dsr::DsrRouting::SendPacketFromBuffer(), ns3::dsdv::RoutingProtocol::SendPacketFromQueue(), ns3::olsr::Bug780Test::SendPing(), ns3::dot11s::HwmpProtocol::SendProactivePreq(), ns3::StaWifiMac::SendProbeRequest(), ns3::SSLinkManager::SendRangingRequest(), ns3::LteUeMac::SendRaPreamble(), ns3::aodv::RoutingProtocol::SendRequest(), ns3::aodv::RoutingProtocol::SendRerrMessage(), ns3::Icmpv6L4Protocol::SendRS(), ns3::UanMacRc::SendRts(), ns3::MacLow::SendRtsForPacket(), ns3::LteEnbRrc::SendSystemInformation(), ns3::Rip::SendTriggeredRouteUpdate(), ns3::RipNg::SendTriggeredRouteUpdate(), ns3::LteTestMac::SendTxOpportunity(), ns3::Rip::SendUnsolicitedRouteUpdate(), ns3::RipNg::SendUnsolicitedRouteUpdate(), ns3::VsaManager::SendVsa(), WaveNetDeviceExample::SendWsaExample(), WaveNetDeviceExample::SendWsmpExample(), ns3::dot11s::PeerLink::SetBeaconInformation(), ns3::dot11s::PeerLink::SetConfirmTimer(), ns3::RandomDirection2dMobilityModel::SetDirectionAndSpeed(), ns3::dot11s::PeerLink::SetHoldingTimer(), ns3::SetMovement(), ns3::Ipv6PmtuCache::SetPmtu(), ns3::dot11s::PeerLink::SetRetryTimer(), ns3::SetSchedPosition(), ns3::WifiPhy::SetSleepMode(), ns3::MeshWifiInterfaceMac::ShiftTbtt(), ns3::dot11s::HwmpProtocol::ShouldSendPreq(), showPosition(), anonymous_namespace{sample-simulator.cc}::MyModel::Start(), ns3::LteTestRrc::Start(), ns3::SteadyStateRandomWaypointMobilityModel::Start(), ns3::SpectrumAnalyzer::Start(), ns3::TvSpectrumTransmitter::Start(), ns3::FdNetDevice::Start(), ns3::FlowMonitor::Start(), ns3::DataCalculator::Start(), ns3::TapBridge::Start(), ns3::LrWpanCsmaCa::Start(), ns3::AnimationInterface::StartAnimation(), ns3::UdpClient::StartApplication(), ns3::DhcpServer::StartApplication(), ns3::Radvd::StartApplication(), ns3::UdpTraceClient::StartApplication(), ns3::UanMacRcGw::StartCycle(), ns3::MacLow::StartDataTxTimers(), ns3::BaseStationNetDevice::StartDlSubFrame(), ns3::SimpleOfdmWimaxPhy::StartReceive(), ns3::SpectrumAnalyzer::StartRx(), ns3::HalfDuplexIdealPhy::StartRx(), ns3::LrWpanPhy::StartRx(), ns3::WifiPhy::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::SingleModelSpectrumChannel::StartTx(), ns3::MultiModelSpectrumChannel::StartTx(), ns3::HalfDuplexIdealPhy::StartTx(), ns3::LteSpectrumPhy::StartTxDataFrame(), ns3::LteSpectrumPhy::StartTxDlCtrlFrame(), ns3::LteSpectrumPhy::StartTxUlSrsFrame(), ns3::BaseStationNetDevice::StartUlSubFrame(), ns3::ArpCache::StartWaitReplyTimer(), BasicEnergyUpdateTest::StateSwitchTest(), ns3::SteadyStateRandomWaypointMobilityModel::SteadyStateBeginWalk(), ns3::NullMessageSimulatorImpl::Stop(), ns3::DefaultSimulatorImpl::Stop(), ns3::RealtimeSimulatorImpl::Stop(), ns3::DistributedSimulatorImpl::Stop(), ns3::FdNetDevice::Stop(), ns3::FlowMonitor::Stop(), ns3::DataCalculator::Stop(), ns3::TapBridge::Stop(), ns3::LteUePhy::SubframeIndication(), ns3::DhcpServer::TimerHandler(), ns3::TcpSocketBase::TimeWait(), ns3::olsr::RoutingProtocol::TopologyTupleTimerExpire(), ns3::AnimationInterface::TrackIpv4L3ProtocolCounters(), ns3::AnimationInterface::TrackIpv4Route(), ns3::AnimationInterface::TrackQueueCounters(), ns3::AnimationInterface::TrackWifiMacCounters(), ns3::AnimationInterface::TrackWifiPhyCounters(), ns3::UanTransducerHd::Transmit(), ns3::SimpleNetDevice::TransmitComplete(), ns3::CsmaNetDevice::TransmitCompleteEvent(), ns3::CsmaChannel::TransmitEnd(), ns3::PointToPointNetDevice::TransmitStart(), ns3::CsmaNetDevice::TransmitStart(), ns3::BlockAckManager::UpdateAgreement(), ns3::BasicEnergySource::UpdateEnergySource(), ns3::RvBatteryModel::UpdateEnergySource(), ns3::LiIonEnergySource::UpdateEnergySource(), ns3::BasicEnergyHarvester::UpdateHarvestedPower(), ns3::UplinkSchedulerMBQoS::UplinkSchedWindowTimer(), BatteryLifetimeTest::VariableLoadTest(), ns3::LteUeRrc::VarMeasReportListAdd(), and ns3::AthstatsWifiTraceSink::WriteStats().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 >
EventId ns3::Simulator::Schedule ( Time const &  delay,
MEM  mem_ptr,
OBJ  obj,
T1  a1 
)
static
See also
Schedule(const Time&,MEM,OBJ)
Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
T1[deduced] Type of first argument.
Parameters
[in]delayThe relative expiration time of the event.
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
[in]a1The first argument to pass to the invoked method
Returns
The id for the scheduled event.

Definition at line 1383 of file simulator.h.

References DoSchedule(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 , typename T2 >
EventId ns3::Simulator::Schedule ( Time const &  delay,
MEM  mem_ptr,
OBJ  obj,
T1  a1,
T2  a2 
)
static
See also
Schedule(const Time&,MEM,OBJ)
Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
T1[deduced] Type of first argument.
T2[deduced] Type of second argument.
Parameters
[in]delayThe relative expiration time of the event.
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
[in]a1The first argument to pass to the invoked method
[in]a2The second argument to pass to the invoked method
Returns
The id for the scheduled event.

Definition at line 1390 of file simulator.h.

References DoSchedule(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 >
EventId ns3::Simulator::Schedule ( Time const &  delay,
MEM  mem_ptr,
OBJ  obj,
T1  a1,
T2  a2,
T3  a3 
)
static
See also
Schedule(const Time&,MEM,OBJ)
Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
T1[deduced] Type of first argument.
T2[deduced] Type of second argument.
T3[deduced] Type of third argument.
Parameters
[in]delayThe relative expiration time of the event.
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
[in]a1The first argument to pass to the invoked method
[in]a2The second argument to pass to the invoked method
[in]a3The third argument to pass to the invoked method
Returns
The id for the scheduled event.

Definition at line 1397 of file simulator.h.

References DoSchedule(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 >
EventId ns3::Simulator::Schedule ( Time const &  delay,
MEM  mem_ptr,
OBJ  obj,
T1  a1,
T2  a2,
T3  a3,
T4  a4 
)
static
See also
Schedule(const Time&,MEM,OBJ)
Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
T1[deduced] Type of first argument.
T2[deduced] Type of second argument.
T3[deduced] Type of third argument.
T4[deduced] Type of fourth argument.
Parameters
[in]delayThe relative expiration time of the event.
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
[in]a1The first argument to pass to the invoked method
[in]a2The second argument to pass to the invoked method
[in]a3The third argument to pass to the invoked method
[in]a4The fourth argument to pass to the invoked method
Returns
The id for the scheduled event.

Definition at line 1404 of file simulator.h.

References DoSchedule(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
EventId ns3::Simulator::Schedule ( Time const &  delay,
MEM  mem_ptr,
OBJ  obj,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
)
static
See also
Schedule(const Time&,MEM,OBJ)
Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
T1[deduced] Type of first argument.
T2[deduced] Type of second argument.
T3[deduced] Type of third argument.
T4[deduced] Type of fourth argument.
T5[deduced] Type of fifth argument.
Parameters
[in]delayThe relative expiration time of the event.
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
[in]a1The first argument to pass to the invoked method
[in]a2The second argument to pass to the invoked method
[in]a3The third argument to pass to the invoked method
[in]a4The fourth argument to pass to the invoked method
[in]a5The fifth argument to pass to the invoked method
Returns
The id for the scheduled event.

Definition at line 1411 of file simulator.h.

References DoSchedule(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
EventId ns3::Simulator::Schedule ( Time const &  time,
MEM  mem_ptr,
OBJ  obj,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
)
static
Parameters
timethe relative expiration time of the event.
mem_ptrmember method pointer to invoke
objthe object on which to invoke the member method
a1the first argument to pass to the invoked method
a2the second argument to pass to the invoked method
a3the third argument to pass to the invoked method
a4the fourth argument to pass to the invoked method
a5the fifth argument to pass to the invoked method
a6the sixth argument to pass to the invoked method
Returns
an id for the scheduled event.

Definition at line 1419 of file simulator.h.

References DoSchedule(), and ns3::MakeEvent().

+ Here is the call graph for this function:

EventId ns3::Simulator::Schedule ( Time const &  delay,
void(*)(void)  f 
)
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.

When the event expires (when it becomes due to be run), the function will be invoked with any supplied arguments.

Parameters
[in]delayThe relative expiration time of the event.
[in]fThe function to invoke
Returns
The id for the scheduled event.

Definition at line 312 of file simulator.cc.

References DoSchedule(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename T1 >
EventId ns3::Simulator::Schedule ( Time const &  delay,
void(*)(U1)  f,
T1  a1 
)
static
See also
Schedule(const Time&,(*)())
Template Parameters
U1[deduced] Formal type of the first argument to the function.
T1[deduced] Actual type of the first argument.
Parameters
[in]delayThe relative expiration time of the event.
[in]fThe function to invoke
[in]a1The first argument to pass to the function to invoke.
Returns
The id for the scheduled event.

Definition at line 1427 of file simulator.h.

References DoSchedule(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename U2 , typename T1 , typename T2 >
EventId ns3::Simulator::Schedule ( Time const &  delay,
void(*)(U1, U2)  f,
T1  a1,
T2  a2 
)
static
See also
Schedule(const Time&,(*)())
Template Parameters
U1[deduced] Formal type of the first argument to the function.
U2[deduced] Formal type of the second argument to the function.
T1[deduced] Actual type of the first argument.
T2[deduced] Actual type of the second argument.
Parameters
[in]delayThe relative expiration time of the event.
[in]fThe function to invoke
[in]a1The first argument to pass to the function to invoke
[in]a2The second argument to pass to the function to invoke
Returns
The id for the scheduled event.

Definition at line 1434 of file simulator.h.

References DoSchedule(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename U2 , typename U3 , typename T1 , typename T2 , typename T3 >
EventId ns3::Simulator::Schedule ( Time const &  delay,
void(*)(U1, U2, U3)  f,
T1  a1,
T2  a2,
T3  a3 
)
static
See also
Schedule(const Time&,void(*)())
Template Parameters
U1[deduced] Formal type of the first argument to the function.
U2[deduced] Formal type of the second argument to the function.
U3[deduced] Formal type of the third argument to the function.
T1[deduced] Actual type of the first argument.
T2[deduced] Actual type of the second argument.
T3[deduced] Actual type of the third argument.
Parameters
[in]delayThe relative expiration time of the event.
[in]fThe function to invoke
[in]a1The first argument to pass to the function to invoke
[in]a2The second argument to pass to the function to invoke
[in]a3The third argument to pass to the function to invoke
Returns
The id for the scheduled event.

Definition at line 1441 of file simulator.h.

References DoSchedule(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename U2 , typename U3 , typename U4 , typename T1 , typename T2 , typename T3 , typename T4 >
EventId ns3::Simulator::Schedule ( Time const &  delay,
void(*)(U1, U2, U3, U4)  f,
T1  a1,
T2  a2,
T3  a3,
T4  a4 
)
static
See also
Schedule(const Time&,(*)(void))
Template Parameters
U1[deduced] Formal type of the first argument to the function.
U2[deduced] Formal type of the second argument to the function.
U3[deduced] Formal type of the third argument to the function.
U4[deduced] Formal type of the fourth argument to the function.
T1[deduced] Actual type of the first argument.
T2[deduced] Actual type of the second argument.
T3[deduced] Actual type of the third argument.
T4[deduced] Actual type of the fourth argument.
Parameters
[in]delayThe relative expiration time of the event.
[in]fThe function to invoke
[in]a1The first argument to pass to the function to invoke
[in]a2The second argument to pass to the function to invoke
[in]a3The third argument to pass to the function to invoke
[in]a4The fourth argument to pass to the function to invoke
Returns
The id for the scheduled event.

Definition at line 1448 of file simulator.h.

References DoSchedule(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
EventId ns3::Simulator::Schedule ( Time const &  delay,
void(*)(U1, U2, U3, U4, U5)  f,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
)
static
See also
Schedule(const Time&,void(*)(void))
Template Parameters
U1[deduced] Formal type of the first argument to the function.
U2[deduced] Formal type of the second argument to the function.
U3[deduced] Formal type of the third argument to the function.
U4[deduced] Formal type of the fourth argument to the function.
U5[deduced] Formal type of the fifth argument to the function.
T1[deduced] Actual type of the first argument.
T2[deduced] Actual type of the second argument.
T3[deduced] Actual type of the third argument.
T4[deduced] Actual type of the fourth argument.
T5[deduced] Actual type of the fifth argument.
Parameters
[in]delayThe relative expiration time of the event.
[in]fThe function to invoke
[in]a1The first argument to pass to the function to invoke
[in]a2The second argument to pass to the function to invoke
[in]a3The third argument to pass to the function to invoke
[in]a4The fourth argument to pass to the function to invoke
[in]a5The fifth argument to pass to the function to invoke
Returns
The id for the scheduled event.

Definition at line 1455 of file simulator.h.

References DoSchedule(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
EventId ns3::Simulator::Schedule ( Time const &  time,
void(*)(U1, U2, U3, U4, U5, U6)  f,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
)
static
Parameters
timethe relative expiration time of the event.
fthe function to invoke
a1the first argument to pass to the function to invoke
a2the second argument to pass to the function to invoke
a3the third argument to pass to the function to invoke
a4the fourth argument to pass to the function to invoke
a5the fifth argument to pass to the function to invoke
a6the sixth argument to pass to the function to invoke
Returns
an id for the scheduled event.

Definition at line 1462 of file simulator.h.

References DoSchedule(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

EventId ns3::Simulator::Schedule ( const Time delay,
const Ptr< EventImpl > &  event 
)
static

Schedule a future event execution (in the same context).

Parameters
[in]delayDelay until the event expires.
[in]eventThe event to schedule.
Returns
A unique identifier for the newly-scheduled event.

Definition at line 265 of file simulator.cc.

References DoSchedule(), and ns3::GetPointer().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ >
EventId ns3::Simulator::ScheduleDestroy ( MEM  mem_ptr,
OBJ  obj 
)
static

Schedule an event to expire 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.

Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
Parameters
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
Returns
The EventId of the scheduled event.

Definition at line 1671 of file simulator.h.

References DoScheduleDestroy(), and ns3::MakeEvent().

Referenced by ns3::BuildingListPriv::DoGet(), ns3::ChannelListPriv::DoGet(), ns3::NodeListPriv::DoGet(), ns3::SimulationSingleton< T >::GetObject(), and ns3::FdReader::Start().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename MEM , typename OBJ , typename T1 >
EventId ns3::Simulator::ScheduleDestroy ( MEM  mem_ptr,
OBJ  obj,
T1  a1 
)
static
See also
ScheduleDestroy(MEM,OBJ)
Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
T1[deduced] Type of first argument.
Parameters
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
[in]a1The first argument to pass to the invoked method
Returns
The EventId of the scheduled event.

Definition at line 1680 of file simulator.h.

References DoScheduleDestroy(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 , typename T2 >
EventId ns3::Simulator::ScheduleDestroy ( MEM  mem_ptr,
OBJ  obj,
T1  a1,
T2  a2 
)
static
See also
ScheduleDestroy(MEM,OBJ)
Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
T1[deduced] Type of first argument.
T2[deduced] Type of second argument.
Parameters
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
[in]a1The first argument to pass to the invoked method
[in]a2The second argument to pass to the invoked method
Returns
The EventId of the scheduled event.

Definition at line 1688 of file simulator.h.

References DoScheduleDestroy(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 >
EventId ns3::Simulator::ScheduleDestroy ( MEM  mem_ptr,
OBJ  obj,
T1  a1,
T2  a2,
T3  a3 
)
static
See also
ScheduleDestroy(MEM,OBJ)
Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
T1[deduced] Type of first argument.
T2[deduced] Type of second argument.
T3[deduced] Type of third argument.
Parameters
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
[in]a1The first argument to pass to the invoked method
[in]a2The second argument to pass to the invoked method
[in]a3The third argument to pass to the invoked method
Returns
The EventId of the scheduled event.

Definition at line 1696 of file simulator.h.

References DoScheduleDestroy(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 >
EventId ns3::Simulator::ScheduleDestroy ( MEM  mem_ptr,
OBJ  obj,
T1  a1,
T2  a2,
T3  a3,
T4  a4 
)
static
See also
ScheduleDestroy(MEM,OBJ)
Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
T1[deduced] Type of first argument.
T2[deduced] Type of second argument.
T3[deduced] Type of third argument.
T4[deduced] Type of fourth argument.
Parameters
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
[in]a1The first argument to pass to the invoked method
[in]a2The second argument to pass to the invoked method
[in]a3The third argument to pass to the invoked method
[in]a4The fourth argument to pass to the invoked method
Returns
The EventId of the scheduled event.

Definition at line 1704 of file simulator.h.

References DoScheduleDestroy(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
EventId ns3::Simulator::ScheduleDestroy ( MEM  mem_ptr,
OBJ  obj,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
)
static
See also
ScheduleDestroy(MEM,OBJ)
Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
T1[deduced] Type of first argument.
T2[deduced] Type of second argument.
T3[deduced] Type of third argument.
T4[deduced] Type of fourth argument.
T5[deduced] Type of fifth argument.
Parameters
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
[in]a1The first argument to pass to the invoked method
[in]a2The second argument to pass to the invoked method
[in]a3The third argument to pass to the invoked method
[in]a4The fourth argument to pass to the invoked method
[in]a5The fifth argument to pass to the invoked method
Returns
The EventId of the scheduled event.

Definition at line 1712 of file simulator.h.

References DoScheduleDestroy(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
EventId ns3::Simulator::ScheduleDestroy ( MEM  mem_ptr,
OBJ  obj,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
)
static
Parameters
mem_ptrmember method pointer to invoke
objthe object on which to invoke the member method
a1the first argument to pass to the invoked method
a2the second argument to pass to the invoked method
a3the third argument to pass to the invoked method
a4the fourth argument to pass to the invoked method
a5the fifth argument to pass to the invoked method
a6the sixth argument to pass to the invoked method
Returns
The EventId of the scheduled event.

Definition at line 1721 of file simulator.h.

References DoScheduleDestroy(), and ns3::MakeEvent().

+ Here is the call graph for this function:

EventId ns3::Simulator::ScheduleDestroy ( void(*)(void)  f)
static

Schedule an event to expire when Simulator::Destroy is called. When Simulator::Destroy() is called, the function will be invoked with any supplied arguments.

Parameters
[in]fThe function to invoke
Returns
The EventId of the scheduled event.

Definition at line 330 of file simulator.cc.

References DoScheduleDestroy(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename T1 >
EventId ns3::Simulator::ScheduleDestroy ( void(*)(U1)  f,
T1  a1 
)
static
See also
ScheduleDestory((*)())
Template Parameters
U1[deduced] Formal type of the first argument to the function.
T1[deduced] Actual type of the first argument.
Parameters
[in]fThe function to invoke
[in]a1The first argument to pass to the function to invoke
Returns
The EventId of the scheduled event.

Definition at line 1730 of file simulator.h.

References DoScheduleDestroy(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename U2 , typename T1 , typename T2 >
EventId ns3::Simulator::ScheduleDestroy ( void(*)(U1, U2)  f,
T1  a1,
T2  a2 
)
static
See also
ScheduleDestory((*)())
Template Parameters
U1[deduced] Formal type of the first argument to the function.
U2[deduced] Formal type of the second argument to the function.
T1[deduced] Actual type of the first argument.
T2[deduced] Actual type of the second argument.
Parameters
[in]fThe function to invoke
[in]a1The first argument to pass to the function to invoke
[in]a2The second argument to pass to the function to invoke
Returns
The EventId of the scheduled event.

Definition at line 1738 of file simulator.h.

References DoScheduleDestroy(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename U2 , typename U3 , typename T1 , typename T2 , typename T3 >
EventId ns3::Simulator::ScheduleDestroy ( void(*)(U1, U2, U3)  f,
T1  a1,
T2  a2,
T3  a3 
)
static
See also
ScheduleDestory((*)())
Template Parameters
U1[deduced] Formal type of the first argument to the function.
U2[deduced] Formal type of the second argument to the function.
U3[deduced] Formal type of the third argument to the function.
T1[deduced] Actual type of the first argument.
T2[deduced] Actual type of the second argument.
T3[deduced] Actual type of the third argument.
Parameters
[in]fThe function to invoke
[in]a1The first argument to pass to the function to invoke
[in]a2The second argument to pass to the function to invoke
[in]a3The third argument to pass to the function to invoke
Returns
The EventId of the scheduled event.

Definition at line 1746 of file simulator.h.

References DoScheduleDestroy(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename U2 , typename U3 , typename U4 , typename T1 , typename T2 , typename T3 , typename T4 >
EventId ns3::Simulator::ScheduleDestroy ( void(*)(U1, U2, U3, U4)  f,
T1  a1,
T2  a2,
T3  a3,
T4  a4 
)
static
See also
ScheduleDestory((*)())
Template Parameters
U1[deduced] Formal type of the first argument to the function.
U2[deduced] Formal type of the second argument to the function.
U3[deduced] Formal type of the third argument to the function.
U4[deduced] Formal type of the fourth argument to the function.
T1[deduced] Actual type of the first argument.
T2[deduced] Actual type of the second argument.
T3[deduced] Actual type of the third argument.
T4[deduced] Actual type of the fourth argument.
Parameters
[in]fThe function to invoke
[in]a1The first argument to pass to the function to invoke
[in]a2The second argument to pass to the function to invoke
[in]a3The third argument to pass to the function to invoke
[in]a4The fourth argument to pass to the function to invoke
Returns
The EventId of the scheduled event.

Definition at line 1754 of file simulator.h.

References DoScheduleDestroy(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
EventId ns3::Simulator::ScheduleDestroy ( void(*)(U1, U2, U3, U4, U5)  f,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
)
static
See also
ScheduleDestory((*)())
Template Parameters
U1[deduced] Formal type of the first argument to the function.
U2[deduced] Formal type of the second argument to the function.
U3[deduced] Formal type of the third argument to the function.
U4[deduced] Formal type of the fourth argument to the function.
U5[deduced] Formal type of the fifth argument to the function.
T1[deduced] Actual type of the first argument.
T2[deduced] Actual type of the second argument.
T3[deduced] Actual type of the third argument.
T4[deduced] Actual type of the fourth argument.
T5[deduced] Actual type of the fifth argument.
Parameters
[in]fThe function to invoke
[in]a1The first argument to pass to the function to invoke
[in]a2The second argument to pass to the function to invoke
[in]a3The third argument to pass to the function to invoke
[in]a4The fourth argument to pass to the function to invoke
[in]a5The fifth argument to pass to the function to invoke
Returns
The EventId of the scheduled event.

Definition at line 1762 of file simulator.h.

References DoScheduleDestroy(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
EventId ns3::Simulator::ScheduleDestroy ( void(*)(U1, U2, U3, U4, U5, U6)  f,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
)
static
Parameters
fthe function to invoke
a1the first argument to pass to the function to invoke
a2the second argument to pass to the function to invoke
a3the third argument to pass to the function to invoke
a4the fourth argument to pass to the function to invoke
a5the fifth argument to pass to the function to invoke
a6the sixth argument to pass to the function to invoke
Returns
The EventId of the scheduled event.

Definition at line 1770 of file simulator.h.

References DoScheduleDestroy(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

EventId ns3::Simulator::ScheduleDestroy ( const Ptr< EventImpl > &  event)
static

Schedule an event to run at the end of the simulation, after the Stop() time or condition has been reached.

Parameters
[in]eventThe event to schedule.
Returns
A unique identifier for the newly-scheduled event.

Definition at line 284 of file simulator.cc.

References DoScheduleDestroy(), and ns3::GetPointer().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ >
EventId ns3::Simulator::ScheduleNow ( MEM  mem_ptr,
OBJ  obj 
)
static

Schedule an event to expire Now.

All events scheduled to to expire "Now" are scheduled FIFO, after all normal events have expired.

Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
Parameters
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
Returns
The EventId of the scheduled event.

Definition at line 1564 of file simulator.h.

References DoScheduleNow(), and ns3::MakeEvent().

Referenced by ns3::NscTcpSocketImpl::Accept(), ns3::EmuEpcHelper::ActivateEpsBearer(), ns3::AthstatsWifiTraceSink::AthstatsWifiTraceSink(), ns3::LrWpanMac::CheckQueue(), ns3::LteFfrDistributedAlgorithm::DoInitialize(), ns3::LteEnbPhy::DoInitialize(), ns3::LteUePhy::DoInitialize(), ns3::ApWifiMac::DoInitialize(), ns3::SteadyStateRandomWaypointMobilityModel::DoInitializePrivate(), ns3::EpcUeNas::DoNotifyConnectionFailed(), ns3::LteUeRrc::DoRecvRrcConnectionReconfiguration(), ns3::RandomWaypointMobilityModel::DoSetPosition(), ns3::RandomDirection2dMobilityModel::DoSetPosition(), ns3::RandomWalk2dMobilityModel::DoSetPosition(), ns3::SteadyStateRandomWaypointMobilityModel::DoSetPosition(), ns3::GaussMarkovMobilityModel::DoSetPosition(), ns3::LteEnbPhy::EndFrame(), ns3::LteEnbPhy::EndSubFrame(), ns3::GaussMarkovMobilityModel::GaussMarkovMobilityModel(), ns3::LteTestPdcp::LteTestPdcp(), ns3::dsr::DsrRouting::NotifyNewAggregate(), ns3::AlohaNoackNetDevice::NotifyTransmissionEnd(), ns3::NetDeviceQueue::NotifyTransmittedBytes(), ns3::NscTcpSocketImpl::NSCWakeup(), ns3::LrWpanMac::PdDataConfirm(), ns3::LrWpanMac::PdDataIndication(), ns3::LrWpanCsmaCa::PlmeCcaConfirm(), ns3::TcpSocketBase::ProcessListen(), ns3::TcpSocketBase::ProcessSynSent(), 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::dsr::DsrRouting::ScheduleInitialReply(), ns3::TcpSocketBase::SendDataPacket(), ns3::NscTcpSocketImpl::SendPendingData(), ns3::StaWifiMac::SetActiveProbing(), ns3::ApWifiMac::SetBeaconGeneration(), ns3::aodv::RoutingProtocol::SetIpv4(), ns3::dsdv::RoutingProtocol::SetIpv4(), ns3::NscTcpL4Protocol::SetNode(), ns3::WaveformGenerator::Start(), ns3::LrWpanCsmaCa::Start(), ns3::BaseStationNetDevice::Start(), ns3::SubscriberStationNetDevice::Start(), Sender::StartApplication(), ns3::PacketSocketClient::StartApplication(), and ns3::NetDeviceQueue::Wake().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 >
EventId ns3::Simulator::ScheduleNow ( MEM  mem_ptr,
OBJ  obj,
T1  a1 
)
static
See also
ScheduleNow(MEM,OBJ)
Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
T1[deduced] Type of first argument.
Parameters
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
[in]a1The first argument to pass to the invoked method
Returns
The EventId of the scheduled event.

Definition at line 1573 of file simulator.h.

References DoScheduleNow(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 , typename T2 >
EventId ns3::Simulator::ScheduleNow ( MEM  mem_ptr,
OBJ  obj,
T1  a1,
T2  a2 
)
static
See also
ScheduleNow(MEM,OBJ)
Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
T1[deduced] Type of first argument.
T2[deduced] Type of second argument.
Parameters
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
[in]a1The first argument to pass to the invoked method
[in]a2The second argument to pass to the invoked method
Returns
The EventId of the scheduled event.

Definition at line 1581 of file simulator.h.

References DoScheduleNow(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 >
EventId ns3::Simulator::ScheduleNow ( MEM  mem_ptr,
OBJ  obj,
T1  a1,
T2  a2,
T3  a3 
)
static
See also
ScheduleNow(MEM,OBJ)
Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
T1[deduced] Type of first argument.
T2[deduced] Type of second argument.
T3[deduced] Type of third argument.
Parameters
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
[in]a1The first argument to pass to the invoked method
[in]a2The second argument to pass to the invoked method
[in]a3The third argument to pass to the invoked method
Returns
The EventId of the scheduled event.

Definition at line 1589 of file simulator.h.

References DoScheduleNow(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 >
EventId ns3::Simulator::ScheduleNow ( MEM  mem_ptr,
OBJ  obj,
T1  a1,
T2  a2,
T3  a3,
T4  a4 
)
static
See also
ScheduleNow(MEM,OBJ)
Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
T1[deduced] Type of first argument.
T2[deduced] Type of second argument.
T3[deduced] Type of third argument.
T4[deduced] Type of fourth argument.
Parameters
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
[in]a1The first argument to pass to the invoked method
[in]a2The second argument to pass to the invoked method
[in]a3The third argument to pass to the invoked method
[in]a4The fourth argument to pass to the invoked method
Returns
The EventId of the scheduled event.

Definition at line 1597 of file simulator.h.

References DoScheduleNow(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
EventId ns3::Simulator::ScheduleNow ( MEM  mem_ptr,
OBJ  obj,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
)
static
See also
ScheduleNow(MEM,OBJ)
Template Parameters
MEM[deduced] Class method function signature type.
OBJ[deduced] Class type of the object.
T1[deduced] Type of first argument.
T2[deduced] Type of second argument.
T3[deduced] Type of third argument.
T4[deduced] Type of fourth argument.
T5[deduced] Type of fifth argument.
Parameters
[in]mem_ptrMember method pointer to invoke
[in]objThe object on which to invoke the member method
[in]a1The first argument to pass to the invoked method
[in]a2The second argument to pass to the invoked method
[in]a3The third argument to pass to the invoked method
[in]a4The fourth argument to pass to the invoked method
[in]a5The fifth argument to pass to the invoked method
Returns
The EventId of the scheduled event.

Definition at line 1605 of file simulator.h.

References DoScheduleNow(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename MEM , typename OBJ , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
EventId ns3::Simulator::ScheduleNow ( MEM  mem_ptr,
OBJ  obj,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
)
static
Parameters
mem_ptrmember method pointer to invoke
objthe object on which to invoke the member method
a1the first argument to pass to the invoked method
a2the second argument to pass to the invoked method
a3the third argument to pass to the invoked method
a4the fourth argument to pass to the invoked method
a5the fifth argument to pass to the invoked method
a6the sixth argument to pass to the invoked method
Returns
The EventId of the scheduled event.

Definition at line 1614 of file simulator.h.

References DoScheduleNow(), and ns3::MakeEvent().

+ Here is the call graph for this function:

EventId ns3::Simulator::ScheduleNow ( void(*)(void)  f)
static

Schedule an event to expire Now.

When the event expires (when it becomes due to be run), the function will be invoked with any supplied arguments.

Parameters
[in]fThe function to invoke
Returns
The EventId of the scheduled event.

Definition at line 324 of file simulator.cc.

References DoScheduleNow(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename T1 >
EventId ns3::Simulator::ScheduleNow ( void(*)(U1)  f,
T1  a1 
)
static
See also
ScheduleNow(*)
Template Parameters
U1[deduced] Formal type of the first argument to the function.
T1[deduced] Actual type of the first argument.
Parameters
[in]fThe function to invoke
[in]a1The first argument to pass to the function to invoke
Returns
The EventId of the scheduled event.

Definition at line 1623 of file simulator.h.

References DoScheduleNow(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename U2 , typename T1 , typename T2 >
EventId ns3::Simulator::ScheduleNow ( void(*)(U1, U2)  f,
T1  a1,
T2  a2 
)
static
See also
ScheduleNow(*)
Template Parameters
U1[deduced] Formal type of the first argument to the function.
U2[deduced] Formal type of the second argument to the function.
T1[deduced] Actual type of the first argument.
T2[deduced] Actual type of the second argument.
Parameters
[in]fThe function to invoke
[in]a1The first argument to pass to the function to invoke
[in]a2The second argument to pass to the function to invoke
Returns
The EventId of the scheduled event.

Definition at line 1631 of file simulator.h.

References DoScheduleNow(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename U2 , typename U3 , typename T1 , typename T2 , typename T3 >
EventId ns3::Simulator::ScheduleNow ( void(*)(U1, U2, U3)  f,
T1  a1,
T2  a2,
T3  a3 
)
static
See also
ScheduleNow(*)
Template Parameters
U1[deduced] Formal type of the first argument to the function.
U2[deduced] Formal type of the second argument to the function.
U3[deduced] Formal type of the third argument to the function.
T1[deduced] Actual type of the first argument.
T2[deduced] Actual type of the second argument.
T3[deduced] Actual type of the third argument.
Parameters
[in]fThe function to invoke
[in]a1The first argument to pass to the function to invoke
[in]a2The second argument to pass to the function to invoke
[in]a3The third argument to pass to the function to invoke
Returns
The EventId of the scheduled event.

Definition at line 1639 of file simulator.h.

References DoScheduleNow(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename U2 , typename U3 , typename U4 , typename T1 , typename T2 , typename T3 , typename T4 >
EventId ns3::Simulator::ScheduleNow ( void(*)(U1, U2, U3, U4)  f,
T1  a1,
T2  a2,
T3  a3,
T4  a4 
)
static
See also
ScheduleNow(*)
Template Parameters
U1[deduced] Formal type of the first argument to the function.
U2[deduced] Formal type of the second argument to the function.
U3[deduced] Formal type of the third argument to the function.
U4[deduced] Formal type of the fourth argument to the function.
T1[deduced] Actual type of the first argument.
T2[deduced] Actual type of the second argument.
T3[deduced] Actual type of the third argument.
T4[deduced] Actual type of the fourth argument.
Parameters
[in]fThe function to invoke
[in]a1The first argument to pass to the function to invoke
[in]a2The second argument to pass to the function to invoke
[in]a3The third argument to pass to the function to invoke
[in]a4The fourth argument to pass to the function to invoke
Returns
The EventId of the scheduled event.

Definition at line 1647 of file simulator.h.

References DoScheduleNow(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
EventId ns3::Simulator::ScheduleNow ( void(*)(U1, U2, U3, U4, U5)  f,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
)
static
See also
ScheduleNow(*)
Template Parameters
U1[deduced] Formal type of the first argument to the function.
U2[deduced] Formal type of the second argument to the function.
U3[deduced] Formal type of the third argument to the function.
U4[deduced] Formal type of the fourth argument to the function.
U5[deduced] Formal type of the fifth argument to the function.
T1[deduced] Actual type of the first argument.
T2[deduced] Actual type of the second argument.
T3[deduced] Actual type of the third argument.
T4[deduced] Actual type of the fourth argument.
T5[deduced] Actual type of the fifth argument.
Parameters
[in]fThe function to invoke
[in]a1The first argument to pass to the function to invoke
[in]a2The second argument to pass to the function to invoke
[in]a3The third argument to pass to the function to invoke
[in]a4The fourth argument to pass to the function to invoke
[in]a5The fifth argument to pass to the function to invoke
Returns
The EventId of the scheduled event.

Definition at line 1655 of file simulator.h.

References DoScheduleNow(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function:

template<typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
EventId ns3::Simulator::ScheduleNow ( void(*)(U1, U2, U3, U4, U5, U6)  f,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
)
static
Parameters
fthe function to invoke
a1the first argument to pass to the function to invoke
a2the second argument to pass to the function to invoke
a3the third argument to pass to the function to invoke
a4the fourth argument to pass to the function to invoke
a5the fifth argument to pass to the function to invoke
a6the sixth argument to pass to the function to invoke
Returns
The EventId of the scheduled event.

Definition at line 1663 of file simulator.h.

References DoScheduleNow(), f(), and ns3::MakeEvent().

+ Here is the call graph for this function: