A Discrete-Event Network Simulator
API
Core

The "core" module contains: More...

+ Collaboration diagram for Core:

Modules

 Attributes
 The ns-3 attribute system is the mechanism used in ns-3 to organize, document, and modify the values used by the various component models.
 
 Build version reporting
 Version information is pulled from the local git repository during the build process.
 
 Callbacks
 Wrap functions, objects, and arguments into self contained callbacks.
 
 Command Line Parsing
 A uniform way to specify program documentation, allowed command line arguments and help strings, and set any attribute or global value, all from the command line directly.
 
 Configuration
 Configuration of simulation parameters and tracing.
 
 Core module examples
 Programs which illustrate use of core module functionality.
 
 Core module helper classes
 Helper classes for the Core module.
 
 Core module tests
 TestSuites for the Core module.
 
 Csvreader
 A way to extract data from simple csv files.
 
 Debugging tools
 Assertions, breakpoints, logging, and abnormal program termination.
 
 Fatal Error Handlers
 Functions to help clean up when a fatal error is encountered.
 
 Geometry primitives
 Primitives for geometry, such as vectors and angles.
 
 Hash Functions
 Generic Hash function interface.
 
 High Precision Q64.64
 Functions and class for high precision Q64.64 fixed point arithmetic.
 
 Length
 Management of lengths in real world units.
 
 NonCopyable and Singleton
 Helpers to make classes non-copyable or singleton.
 
 Object
 Base classes which provide memory management and object aggregation.
 
 Random Variables
 ns-3 random numbers are provided via instances of ns3::RandomVariableStream.
 
 Scheduler and Events
 Manage the event list by creating and scheduling events.
 
 Simulator
 Control the virtual time and the execution of simulation events.
 
 Smart Pointer
 Heap memory management.
 
 System Services
 System-independent interfaces to operating system services: files system, threading, wall clock time.
 
 Testing
 Tools to define and execute unit tests.
 
 Tracing
 Publish/subscribe tools to collect and report changes to any values used by the various model components.
 
 Virtual Time
 Management of virtual time in real world units.
 
 Virtual Time Timer and Watchdog
 The Timer and Watchdog objects both facilitate scheduling functions to execute a specified virtual time in the future.
 

Files

file  core.h
 This file provides some doxygen documentation for the core module.
 
file  csv-reader.cc
 ns3::CsvReader implementation
 
file  csv-reader.h
 ns3::CsvReader declaration
 
file  deprecated.h
 NS_DEPRECATED macro definition.
 
file  global-value-test-suite.cc
 GlobalValue test suite.
 
file  global-value.cc
 ns3::GlobalValue implementation.
 
file  global-value.h
 ns3::GlobalValue declaration.
 
file  math.h
 log2() macro definition; to deal with Bug 1467.
 
file  show-progress.cc
 ns3::ShowProgress implementation.
 
file  show-progress.h
 ns3::ShowProgress declaration.
 
file  simulation-singleton.h
 ns3::SimulationSingleton declaration and template implementation.
 
file  unused.h
 NS_UNUSED and NS_UNUSED_GLOBAL macro definitions.
 

Classes

class  ns3::ShowProgress
 Periodically print a status message indicating simulator progress. More...
 
class  ns3::SimulationSingleton< T >
 This singleton class template ensures that the type for which we want a singleton has a lifetime bounded by the simulation run lifetime. More...
 

Macros

#define NS_DEPRECATED
 Mark a function as deprecated. More...
 
#define NS_DEPRECATED_3_30   NS_DEPRECATED
 Tag for things deprecated in version ns-3.30. More...
 
#define NS_DEPRECATED_3_31   NS_DEPRECATED
 Tag for things deprecated in version ns-3.31. More...
 
#define NS_DEPRECATED_3_32   NS_DEPRECATED
 Tag for things deprecated in version ns-3.32. More...
 
#define NS_DEPRECATED_3_34   NS_DEPRECATED
 Tag for things deprecated in version ns-3.34. More...
 
#define NS_UNUSED(x)   ((void)(x))
 Mark a local variable as unused. More...
 
#define NS_UNUSED_GLOBAL(x)   x
 Mark a variable at file scope as unused. More...
 

Detailed Description

The "core" module contains:

Todo:
Move all Private and Impl classes to namespace ns3::impl?

Macro Definition Documentation

◆ NS_DEPRECATED

#define NS_DEPRECATED

Mark a function as deprecated.

Users should expect deprecated features to be removed eventually.

When deprecating a feature, please update the documentation with information for users on how to update their code.

For example,

/*
* Do something useful.
*
* \deprecated This method will go away in future versions of ns-3.
* See instead TheNewWay()
*/
NS_DEPRECATED_3_XX
void SomethingUseful (void);
/*
* Do something more useful.
*/
void TheNewWay (void);

To ease future maintenance please use the versioned forms: NS_DEPRECATED_3_XX, not the generic NS_DEPRECATED

Definition at line 62 of file deprecated.h.

◆ NS_DEPRECATED_3_30

#define NS_DEPRECATED_3_30   NS_DEPRECATED

Tag for things deprecated in version ns-3.30.

Definition at line 98 of file deprecated.h.

◆ NS_DEPRECATED_3_31

#define NS_DEPRECATED_3_31   NS_DEPRECATED

Tag for things deprecated in version ns-3.31.

Definition at line 89 of file deprecated.h.

◆ NS_DEPRECATED_3_32

#define NS_DEPRECATED_3_32   NS_DEPRECATED

Tag for things deprecated in version ns-3.32.

Definition at line 80 of file deprecated.h.

◆ NS_DEPRECATED_3_34

#define NS_DEPRECATED_3_34   NS_DEPRECATED

Tag for things deprecated in version ns-3.34.

Definition at line 71 of file deprecated.h.

◆ NS_UNUSED

#define NS_UNUSED (   x)    ((void)(x))

Mark a local variable as unused.

Definition at line 36 of file unused.h.

Referenced by ns3::TcpGeneralTest::AfterRTOExpired(), ns3::AsciiPhyRxOkEvent(), ns3::AsciiPhyTxEvent(), ns3::BuildingsChannelConditionModel::AssignStreams(), AttributeObjectTest::AttributeObjectTest(), ns3::TcpGeneralTest::BeforeRTOExpired(), ns3::SQLiteOutput::Bind(), TcpRateLinuxWithSocketsTest::BytesInFlightTrace(), ns3::TcpGeneralTest::BytesInFlightTrace(), BasicTracedCallbackTestCase::CbOne(), BasicTracedCallbackTestCase::CbTwo(), ns3::TcpSocketBase::CompleteFork(), ns3::UanMacRcGw::ComputeAlpha(), ns3::RrMultiUserScheduler::ComputeDlMuInfo(), ns3::TcpCongestionOps::CongControl(), ns3::TcpGeneralTest::CongStateTrace(), ns3::TcpGeneralTest::CWndInflTrace(), ns3::TcpGeneralTest::CWndTrace(), ns3::TcpGeneralTest::DataSent(), ns3::SixLowPanNetDevice::DecompressLowPanHc1(), ns3::SixLowPanNetDevice::DecompressLowPanIphc(), ns3::SixLowPanNetDevice::DecompressLowPanNhc(), ns3::SixLowPanNetDevice::DecompressLowPanUdpNhc(), DeprecatedAttribute::DeprecatedAttribute(), ns3::TcpTxBuffer::DiscardUpTo(), ns3::QueueDisc::DoInitialize(), ns3::DoMakeAccessorHelperOne(), ns3::TcpClassicRecovery::DoRecovery(), ns3::LteEnbMac::DoReportSrToScheduler(), LenaDataPhyErrorModelTestCase::DoRun(), LenaDlCtrlPhyErrorModelTestCase::DoRun(), ns3::RrComponentCarrierManager::DoUlReceiveSr(), CobaltQueueDiscMarkTest::DropNextTracer(), CoDelQueueDiscBasicDrop::DropNextTracer(), FqCobaltQueueDiscEcnMarking::DropNextTracer(), CoDelQueueDiscBasicMark::DropNextTracer(), ns3::UanMacRcGw::Enqueue(), ns3::TcpPrrRecovery::EnterRecovery(), ns3::TcpClassicRecovery::EnterRecovery(), ns3::TcpGeneralTest::ErrorClose(), SimulatorEventsTestCase::EventA(), SimulatorEventsTestCase::EventC(), ns3::RocketfuelTopologyReader::GenerateFromWeightsFile(), ns3::ThreeGppUmiStreetCanyonPropagationLossModel::GetBpDistance(), ns3::AlwaysLosChannelConditionModel::GetChannelCondition(), ns3::NeverLosChannelConditionModel::GetChannelCondition(), ns3::ThreeGppIndoorOfficePropagationLossModel::GetLossLos(), ns3::UanNetDevice::GetMulticast(), ns3::ThreeGppUmaPropagationLossModel::GetShadowingStd(), ns3::ThreeGppUmiStreetCanyonPropagationLossModel::GetShadowingStd(), ns3::ThreeGppIndoorOfficePropagationLossModel::GetShadowingStd(), ns3::TcpWestwood::GetSsThresh(), ns3::LrWpanCsmaCa::GetTimeToNextSlot(), ns3::TcpGeneralTest::HighestTxSeqTrace(), InFlightTracer(), ns3::TcpCongestionOps::Init(), ns3::Wifi80211pHelper::Install(), ns3::WaveHelper::Install(), ns3::IsNumber(), NextRxTracer(), ns3::TcpGeneralTest::NextTxSeqTrace(), NextTxTracer(), ns3::TcpGeneralTest::NormalClose(), IntegerTraceSourceTestCase::NotifySource1(), TracedCallbackTestCase::NotifySource2(), PointerAttributeTestCase::NotifySource2(), ns3::UanPhyDual::NotifyTransStartTx(), ns3::UanPhyGen::NotifyTransStartTx(), ns3::ThreeGppHttpClient::OpenConnection(), operator!=(), operator<<(), ns3::SimpleRefCount< LteChunkProcessor >::operator=(), operator>>(), ns3::ParetoRandomVariable::ParetoRandomVariable(), ns3::TcpGeneralTest::PhyDrop(), ns3::TcpGeneralTest::PhyDropCb(), ns3::UanMacCw::PhyRxPacketError(), ns3::UanMacCw::PhyRxPacketGood(), ns3::ThreeGppRmaPropagationLossModel::Pl1(), ns3::dsr::DsrOptionRerr::Process(), ns3::TcpGeneralTest::ProcessedAck(), ns3::TcpSocketBase::ProcessSynRcvd(), ns3::TcpGeneralTest::QueueDrop(), ns3::QueueSize::QueueSize(), ns3::TcpGeneralTest::RateSampleUpdatedTrace(), ns3::TcpGeneralTest::RateUpdatedTrace(), ns3::TcpGeneralTest::RcvAck(), ns3::UanMacRcGw::ReceiveError(), ns3::UanMacRc::ReceiveOkFromPhy(), ns3::UanMacRcGw::ReceivePacket(), ns3::SQLiteOutput::RetrieveColumn(), TcpHyblaIncrementTest::RhoUpdated(), ns3::TcpGeneralTest::RtoTrace(), ns3::TcpGeneralTest::RttTrace(), RoutingExperiment::Run(), ns3::UanPhyGen::RxEndEvent(), AcousticModemEnergyTestCase::RxPacket(), UanTest::RxPacket(), ns3::UanMacAloha::RxPacketGood(), ns3::ThreeGppHttpServer::SendCallback(), ns3::UanNetDevice::SendFrom(), ns3::TcpSocketBase::SendTo(), ns3::UanPhyDual::SetSleepMode(), ns3::Reservation::SetTransmitted(), ns3::SimpleRefCount< LteChunkProcessor >::SimpleRefCount(), ns3::TcpGeneralTest::SsThreshTrace(), ns3::ThreeGppHttpServer::StartApplication(), ns3::UanPhyDual::StartRxPacket(), BasicCallbackTestCase::Target3(), MakeCallbackTestCase::Target3(), BasicCallbackTestCase::Target4(), MakeCallbackTestCase::Target4(), ns3::tests::ObjectVectorTraceConfigTestCase::Trace(), ns3::tests::ObjectVectorTraceConfigTestCase::TraceWithPath(), ns3::TcpGeneralTest::UpdatedRttHistory(), and ns3::AnimationInterface::WifiPhyTxBeginTrace().

◆ NS_UNUSED_GLOBAL

#define NS_UNUSED_GLOBAL (   x)    x

Mark a variable at file scope as unused.

Definition at line 50 of file unused.h.