A Discrete-Event Network Simulator
API
Fatal Error Handlers

Functions to help clean up when a fatal error is encountered. More...

+ Collaboration diagram for Fatal Error Handlers:

Modules

 Fatal Implementation.
 

Files

file  abort.h
 NS_ABORT_x macro definitions.
 
file  fatal-error.h
 NS_FATAL_x macro definitions.
 

Macros

#define NS_ABORT_IF(cond)
 Abnormal program termination if a condition is true. More...
 
#define NS_ABORT_MSG(msg)
 Unconditional abnormal program termination with a message. More...
 
#define NS_ABORT_MSG_IF(cond, msg)
 Abnormal program termination if a condition is true, with a message. More...
 
#define NS_ABORT_MSG_UNLESS(cond, msg)   NS_ABORT_MSG_IF (!(cond),msg)
 Abnormal program termination if a condition is false, with a message. More...
 
#define NS_ABORT_UNLESS(cond)   NS_ABORT_IF (!(cond))
 Abnormal program termination if a condition is false. More...
 
#define NS_FATAL_ERROR(msg)   NS_FATAL_ERROR_IMPL (msg, true)
 Report a fatal error with a message and terminate. More...
 
#define NS_FATAL_ERROR_CONT(msg)   NS_FATAL_ERROR_IMPL (msg, false)
 Report a fatal error with a message, deferring termination. More...
 
#define NS_FATAL_ERROR_IMPL(msg, fatal)
 Fatal error reporting with a message, implementation. More...
 
#define NS_FATAL_ERROR_IMPL_NO_MSG(fatal)
 Fatal error reporting with no message, implementation. More...
 
#define NS_FATAL_ERROR_NO_MSG()   NS_FATAL_ERROR_IMPL_NO_MSG (true)
 Report a fatal error and terminate. More...
 
#define NS_FATAL_ERROR_NO_MSG_CONT()   NS_FATAL_ERROR_IMPL_NO_MSG (false)
 Report a fatal error, deferring termination. More...
 

Detailed Description

Functions to help clean up when a fatal error is encountered.

The functions in this group are used to perform limited clean up, like flushing active streams, when fatal errors are encountered (through assertion fail, calls to NS_ABORT_* or calls to NS_FATAL_ERROR).

Currently, other than flushing active ostreams, these functions does not interfere with outside memory. There is still a residual risk that invalid ostream pointers may be present, and may corrupt the memory on the attempt to execute the flush() function.

Macro Definition Documentation

#define NS_ABORT_IF (   cond)
Value:
do { \
if (cond) \
{ \
std::cerr << "aborted. cond=\"" << # cond << ", "; \
} \
} while (false)
#define NS_FATAL_ERROR_NO_MSG()
Report a fatal error and terminate.
Definition: fatal-error.h:125

Abnormal program termination if a condition is true.

Parameters
[in]condThe condition to be evaluated.

This is similar to NS_ASSERT(!(cond)), except this check is enabled in all builds. If cond is evaluated to true, the expression for cond is printed to stderr, followed by a call to the NS_FATAL_ERROR_NO_MSG() macro which prints the details of filename and line number to stderr. The program will be halted by calling std::terminate(), triggering any clean up code registered by std::set_terminate. The ns-3 default is a stream-flushing code, but may be overridden.

This macro is enabled unconditionally in all builds, including debug and optimized builds.

Definition at line 77 of file abort.h.

Referenced by ns3::EpcTft::Add(), ns3::EmuEpcHelper::AddEnb(), ns3::EpcSgwPgwApplication::DoCreateSessionRequest(), LteEpcE2eDataTestCase::DoRun(), ns3::LrWpanPhy::EndSetTRXState(), ns3::LrWpanPhy::EndTx(), ns3::UeManager::GetDataRadioBearerInfo(), ns3::LrWpanPhy::PlmeSetTRXStateRequest(), ns3::PyViz::TraceNetDevPromiscRxCsma(), ns3::PyViz::TraceNetDevRxCsma(), ns3::PyViz::TraceNetDevRxWifi(), ns3::PyViz::TraceNetDevTxCsma(), and ns3::PyViz::TraceNetDevTxWifi().

#define NS_ABORT_MSG (   msg)
Value:
do { \
std::cerr << "aborted. "; \
} while (false)
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
Definition: fatal-error.h:162

Unconditional abnormal program termination with a message.

Parameters
[in]msgThe message to output when this macro is hit.

This macro is essentially equivalent to NS_FATAL_ERROR, except it prepends the error message with the string "aborted. ". When this macro is hit at runtime, the program will be halted using std::terminate, which triggers clean up code registered by std::set_terminate.

This macro is enabled unconditionally in all builds, including debug and optimized builds.

See also
NS_FATAL_ERROR

Definition at line 50 of file abort.h.

Referenced by ns3::GnuplotAggregator::Add2dDataset(), ns3::FileHelper::AddAggregator(), ns3::GnuplotHelper::AddProbe(), ns3::FileHelper::AddProbe(), ns3::FileHelper::AddTimeSeriesAdaptor(), ns3::GnuplotHelper::AddTimeSeriesAdaptor(), ns3::GlobalRouter::AnotherRouterOnLink(), ns3::SixLowPanNetDevice::CompressLowPanNhc(), ns3::ConfigStore::ConfigStore(), ns3::SixLowPanNetDevice::DecompressLowPanIphc(), ns3::SixLowPanNetDevice::DecompressLowPanNhc(), ns3::Rip::DeleteRoute(), ns3::RipNg::DeleteRoute(), ns3::GlobalRouter::FindDesignatedRouterForLink(), ns3::LrWpanNetDevice::GetMulticast(), ns3::SixLowPanNetDevice::Fragments::GetPacket(), ns3::FileHelper::GetProbe(), ns3::GnuplotHelper::GetProbe(), ns3::CoDelQueueDisc::GetQueueSize(), ns3::PieQueueDisc::GetQueueSize(), ns3::RedQueueDisc::GetQueueSize(), ns3::Radvd::HandleRead(), ns3::Rip::InvalidateRoute(), ns3::RipNg::InvalidateRoute(), ns3::SixLowPanNetDevice::MakeGlobalAddressFromMac(), ns3::SixLowPanNetDevice::MakeLinkLocalAddressFromMac(), ns3::operator<<(), ns3::WifiPhyHelper::PcapSniffRxEvent(), ns3::WifiPhyHelper::PcapSniffTxEvent(), PerfFile(), ns3::SixLowPanIphc::PostProcessDac(), ns3::SixLowPanIphc::PostProcessSac(), ns3::Rip::Receive(), ns3::RipNg::Receive(), ns3::LrWpanNetDevice::SendFrom(), ns3::GnuplotAggregator::Set2dDatasetErrorBars(), ns3::GnuplotAggregator::Set2dDatasetExtra(), ns3::GnuplotAggregator::Set2dDatasetStyle(), ns3::LrWpanNetDevice::SetMtu(), ns3::WifiPhyHelper::SetPcapDataLinkType(), ns3::Time::Time(), ns3::GnuplotAggregator::Write2d(), ns3::GnuplotAggregator::Write2dDatasetEmptyLine(), ns3::GnuplotAggregator::Write2dWithXErrorDelta(), ns3::GnuplotAggregator::Write2dWithXYErrorDelta(), and ns3::GnuplotAggregator::Write2dWithYErrorDelta().

#define NS_ABORT_MSG_IF (   cond,
  msg 
)
Value:
do { \
if (cond) \
{ \
std::cerr << "aborted. cond=\"" << # cond << "\", "; \
} \
} while (false)
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
Definition: fatal-error.h:162

Abnormal program termination if a condition is true, with a message.

Parameters
[in]condThe condition to be evaluated.
[in]msgThe message to output when cond is true.

This is similar to NS_ASSERT_MSG(!(cond)), except this check is enabled in all builds. If cond is evaluated to true, the expression for cond is printed to stderr, followed by a call to the NS_FATAL_ERROR() macro which prints the user-specified error message, and details of filename and line number to stderr. The program will be halted by calling std::terminate(), triggering any clean up code registered by std::set_terminate. The ns-3 default is a stream-flushing code, but may be overridden.

This macro is enabled unconditionally in all builds, including debug and optimized builds.

Definition at line 108 of file abort.h.

Referenced by ns3::TrafficControlHelper::AddChildQueueDisc(), ns3::TrafficControlHelper::AddInternalQueues(), ns3::TrafficControlHelper::AddPacketFilter(), ns3::QueueDisc::AddQueueDiscClass(), ns3::TrafficControlHelper::AddQueueDiscClasses(), ns3::WaypointMobilityModel::AddWaypoint(), ns3::GlobalRouter::BuildNetworkLSAs(), ns3::PcapHelper::CreateFile(), ns3::PlanetLabFdNetDeviceHelper::CreateFileDescriptor(), ns3::TapFdNetDeviceHelper::CreateFileDescriptor(), ns3::QueueDiscFactory::CreateQueueDisc(), ns3::TapBridge::CreateTap(), ns3::NetDeviceQueueInterface::CreateTxQueues(), ns3::GlobalRouter::DiscoverLSAs(), ns3::TapBridgeFdReader::DoRead(), ns3::FdNetDeviceFdReader::DoRead(), ns3::AsciiTraceHelperForDevice::EnableAsciiImpl(), ns3::PcapHelperForDevice::EnablePcap(), ns3::YansWavePhyHelper::EnablePcapInternal(), ns3::WifiPhyHelper::EnablePcapInternal(), ns3::SystemWallClockMsPrivate::End(), ns3::RadioEnvironmentMapHelper::Install(), ns3::LteHelper::InstallSingleEnbDevice(), ns3::LteHelper::InstallSingleUeDevice(), ns3::AthstatsWifiTraceSink::Open(), ns3::operator>>(), ns3::GlobalRouter::ProcessBridgedBroadcastLink(), ns3::GlobalRouter::ProcessPointToPointLink(), ns3::GlobalRouter::ProcessSingleBroadcastLink(), ns3::TapBridge::ReceiveFromBridgedDevice(), ns3::TcpSocketBase::Recv(), ns3::TcpSocketBase::Send(), ns3::QueueDiscFactory::SetChildQueueDisc(), ns3::Ipv4Header::SetFragmentOffset(), ns3::Queue::SetMaxBytes(), ns3::Queue::SetMaxPackets(), ns3::Queue::SetMode(), ns3::QueueDiscClass::SetQueueDisc(), ns3::NetDeviceQueueInterface::SetTxQueuesN(), ns3::TapBridge::StartTapDevice(), and ns3::int64x64_t::Umul().

#define NS_ABORT_MSG_UNLESS (   cond,
  msg 
)    NS_ABORT_MSG_IF (!(cond),msg)

Abnormal program termination if a condition is false, with a message.

Parameters
[in]condThe condition to be evaluated.
[in]msgThe message to output if cond is false.

This is an alias for NS_ABORT_MSG_IF(!(cond))

See also
NS_ABORT_MSG_IF

Definition at line 144 of file abort.h.

Referenced by ns3::Names::Add(), ns3::Ipv4AddressGeneratorImpl::AddAllocated(), ns3::BufferSizeLevelBsr::BsrId2BufferSize(), ns3::GlobalRouter::BuildNetworkLSAs(), ns3::GlobalRouter::DiscoverLSAs(), Ns3TcpLossTestCase::DoSetup(), Ns3TcpStateTestCase::DoSetup(), Ns3TcpInteroperabilityTestCase::DoSetup(), ns3::TestVectors< T >::Get(), ns3::PcapHelper::GetFilenameFromDevice(), ns3::AsciiTraceHelper::GetFilenameFromDevice(), ns3::PcapHelper::GetFilenameFromInterfacePair(), ns3::AsciiTraceHelper::GetFilenameFromInterfacePair(), ns3::Ipv4AddressGeneratorImpl::Init(), ns3::Ipv4AddressGeneratorImpl::InitAddress(), ns3::BuildingsHelper::Install(), ns3::BuildingsHelper::MakeConsistent(), ns3::BuildingsHelper::MakeMobilityModelConsistent(), ns3::Ipv4AddressGeneratorImpl::MaskToIndex(), ns3::Ipv4NixVectorRouting::NetDeviceIsBridged(), ns3::GlobalRouter::NetDeviceIsBridged(), ns3::Ipv4AddressGeneratorImpl::NextAddress(), ns3::AthstatsWifiTraceSink::Open(), ns3::OutputStreamWrapper::OutputStreamWrapper(), ns3::Ipv6AddressGeneratorImpl::PrefixToIndex(), ns3::GlobalRouter::ProcessBridgedBroadcastLink(), ns3::GlobalRouter::ProcessPointToPointLink(), ns3::GlobalRouter::ProcessSingleBroadcastLink(), ns3::Names::Rename(), ns3::TcpSocketBase::SetInitialCwnd(), ns3::TcpSocketBase::SetInitialSSThresh(), ns3::TrafficControlHelper::SetRootQueueDisc(), and ns3::TcpSocketBase::SetSegSize().

#define NS_ABORT_UNLESS (   cond)    NS_ABORT_IF (!(cond))

Abnormal program termination if a condition is false.

Parameters
[in]condThe condition to be evaluated.

This is an alias for NS_ABORT_IF(!(cond))

See also
NS_ABORT_IF

Definition at line 128 of file abort.h.

#define NS_FATAL_ERROR (   msg)    NS_FATAL_ERROR_IMPL (msg, true)

Report a fatal error with a message and terminate.

Parameters
[in]msgmessage to output when this macro is hit.

When this macro is hit at runtime, the user-specified error message are printed to stderr, followed by a call to the NS_FATAL_ERROR_NO_MSG() macro which prints the details of filename and line number to stderr. The program will be halted by calling std::terminate(), triggering any clean up code registered by std::set_terminate (NS3 default is a stream-flushing code, but may be overridden).

This macro is enabled unconditionally in all builds, including debug and optimized builds.

Definition at line 162 of file fatal-error.h.

Referenced by ns3::EpcUeNas::ActivateEpsBearer(), ns3::EutranMeasurementMapping::ActualA3Offset2IeValue(), ns3::EutranMeasurementMapping::ActualHysteresis2IeValue(), ns3::Ipv4AddressGeneratorImpl::AddAllocated(), ns3::Ipv6AddressGeneratorImpl::AddAllocated(), ns3::IidManager::AddAttribute(), ns3::Ipv6L3Protocol::AddAutoconfiguredAddress(), ns3::WifiRemoteStationManager::AddBasicMode(), ns3::BridgeNetDevice::AddBridgePort(), ns3::ConnectionManager::AddConnection(), ns3::IidManager::AddConstructor(), ns3::UeManager::AddDataRadioBearerInfo(), ns3::CsmaNetDevice::AddHeader(), ns3::MeshPointDevice::AddInterface(), ns3::WimaxNetDevice::AddLinkChangeCallback(), ns3::WaveNetDevice::AddMac(), ns3::NixVector::AddNeighborIndex(), ns3::LteAnr::AddNeighbourRelation(), ns3::WaveNetDevice::AddPhy(), ns3::IidManager::AddTraceSource(), ns3::LteEnbRrc::AddUeMeasReportConfig(), ns3::CommandLine::AddValue(), ns3::Object::AggregateObject(), ns3::CidFactory::Allocate(), ns3::BlockAckManager::AlreadyExists(), ns3::LteUeRrc::ApplyMeasConfig(), ns3::LteUeRrc::ApplyRadioResourceConfigDedicated(), ns3::LteHelper::Attach(), ns3::XmlConfigSave::Attributes(), ns3::XmlConfigLoad::Attributes(), ns3::GlobalValue::Bind(), ns3::BriteTopologyHelper::BuildBriteEdgeInfoList(), ns3::BriteTopologyHelper::BuildBriteNodeInfoList(), ns3::Building::Building(), ns3::BandwidthManager::CalculateAllocationSize(), ns3::DistributedSimulatorImpl::CalculateLookAhead(), ns3::AcousticModemEnergyModel::ChangeState(), ns3::WifiRadioEnergyModel::ChangeState(), ns3::CheckEnvironmentVariables(), ns3::WifiPhy::ConfigureChannelForStandard(), ns3::WifiMac::ConfigureDcf(), ns3::OcbWifiMac::ConfigureEdca(), ns3::SocketWriter::Connect(), ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::Connect(), ns3::GnuplotHelper::ConnectProbeToAggregator(), ns3::FileHelper::ConnectProbeToAggregator(), ns3::ObjectBase::ConstructSelf(), ns3::WimaxHelper::CreateBSScheduler(), ns3::ConnectionManager::CreateConnection(), ns3::TestCase::CreateDataDirFilename(), ns3::EmuFdNetDeviceHelper::CreateFileDescriptor(), ns3::PlanetLabFdNetDeviceHelper::CreateFileDescriptor(), ns3::TapFdNetDeviceHelper::CreateFileDescriptor(), ns3::WifiSpectrumValueHelper::CreateHtOfdmTxPowerSpectralDensity(), ns3::WaveHelper::CreateMacForChannel(), ns3::WifiSpectrumValueHelper::CreateOfdmTxPowerSpectralDensity(), ns3::WimaxHelper::CreatePhy(), ns3::WaveHelper::CreatePhys(), ns3::WimaxHelper::CreatePhyWithoutChannel(), ns3::TapBridge::CreateTap(), ns3::WimaxHelper::CreateUplinkScheduler(), ns3::WifiModeFactory::CreateWifiMode(), ns3::AnimationInterface::CsmaPhyTxEndTrace(), ns3::DataRate::DataRate(), ns3::TcpGeneralTest::DataSentCb(), ns3::MacLow::DeaggregateAmpduAndReceive(), ns3::XmlConfigSave::Default(), ns3::XmlConfigLoad::Default(), ns3::CtrlBAckRequestHeader::Deserialize(), ns3::dot11s::PeerLinkOpenStart::Deserialize(), ns3::OrganizationIdentifier::Deserialize(), ns3::Tlv::Deserialize(), ns3::dot11s::PeerLinkCloseStart::Deserialize(), ns3::dot11s::PeerLinkConfirmStart::Deserialize(), ns3::CtrlBAckResponseHeader::Deserialize(), ns3::SfVectorTlvValue::Deserialize(), ns3::CtrlBAckResponseHeader::DeserializeBitmap(), ns3::ObjectPtrContainerValue::DeserializeFromString(), ns3::MeshInformationElementVector::DeserializeSingleIe(), ns3::WifiInformationElementVector::DeserializeSingleIe(), ns3::GrantedTimeWindowMpiInterface::Disable(), ns3::NullMessageMpiInterface::Disable(), ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::Disconnect(), ns3::DistributedSimulatorImpl::DistributedSimulatorImpl(), ns3::LteUeRrc::DoConnect(), ns3::CqaFfMacScheduler::DoCschedLcReleaseReq(), ns3::LteUeRrc::DoDisconnect(), ns3::LteEnbMac::DoDlInfoListElementHarqFeeback(), ns3::LteUeRrc::DoForceCampedOnEnb(), ns3::AcousticModemEnergyModel::DoGetCurrentA(), ns3::WifiRadioEnergyModel::DoGetCurrentA(), ns3::SimpleOfdmWimaxPhy::DoGetDataRate(), ns3::SimpleOfdmWimaxChannel::DoGetDevice(), ns3::SimpleOfdmWimaxPhy::DoGetFrameDuration(), ns3::SimpleOfdmWimaxPhy::DoGetFrameDurationCode(), ns3::SimpleOfdmWimaxPhy::DoGetSamplingFactor(), ns3::EpcMme::DoInitialContextSetupResponse(), ns3::UeManager::DoInitialize(), ns3::SpectrumWifiPhy::DoInitialize(), ns3::olsr::RoutingProtocol::DoInitialize(), ns3::WaveNetDevice::DoInitialize(), ns3::AcousticModemEnergyModelHelper::DoInstall(), ns3::WifiRadioEnergyModelHelper::DoInstall(), ns3::LteEnbRrc::DoNotifyLcConfigResult(), ns3::LteUeRrc::DoNotifyRandomAccessFailed(), ns3::LteUeRrc::DoNotifyRandomAccessSuccessful(), ns3::BaseStationNetDevice::DoReceive(), ns3::SubscriberStationNetDevice::DoReceive(), ns3::LteUeMac::DoReceiveLteControlMessage(), ns3::LteEnbMac::DoReconfigureLc(), ns3::LteEnbRrc::DoRecvHandoverRequest(), ns3::LteUeRrc::DoRecvRrcConnectionReconfiguration(), ns3::LteUeRrc::DoRecvRrcConnectionReestablishment(), ns3::LteUeRrc::DoRecvRrcConnectionReestablishmentReject(), ns3::LteUeRrc::DoRecvRrcConnectionSetup(), ns3::LteEnbRrc::DoRecvUeData(), LenaMimoTestCase::DoRun(), Ns3TcpLossTestCase::DoRun(), Ns3TcpStateTestCase::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), LteCellSelectionTestCase::DoRun(), LteHandoverTargetTestCase::DoRun(), ns3::LteEnbMac::DoSchedDlConfigInd(), ns3::RrFfMacScheduler::DoSchedDlMacBufferReq(), ns3::TdMtFfMacScheduler::DoSchedDlMacBufferReq(), ns3::TtaFfMacScheduler::DoSchedDlMacBufferReq(), ns3::FdMtFfMacScheduler::DoSchedDlMacBufferReq(), ns3::PfFfMacScheduler::DoSchedDlMacBufferReq(), ns3::TdBetFfMacScheduler::DoSchedDlMacBufferReq(), ns3::FdBetFfMacScheduler::DoSchedDlMacBufferReq(), ns3::CqaFfMacScheduler::DoSchedDlMacBufferReq(), ns3::TdTbfqFfMacScheduler::DoSchedDlMacBufferReq(), ns3::FdTbfqFfMacScheduler::DoSchedDlMacBufferReq(), ns3::PssFfMacScheduler::DoSchedDlMacBufferReq(), ns3::RrFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::TdMtFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::TtaFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::FdMtFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::PfFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::TdBetFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::FdBetFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::CqaFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::TdTbfqFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::FdTbfqFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::PssFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::RrFfMacScheduler::DoSchedDlTriggerReq(), ns3::TdMtFfMacScheduler::DoSchedDlTriggerReq(), ns3::TtaFfMacScheduler::DoSchedDlTriggerReq(), ns3::FdMtFfMacScheduler::DoSchedDlTriggerReq(), ns3::PfFfMacScheduler::DoSchedDlTriggerReq(), ns3::TdBetFfMacScheduler::DoSchedDlTriggerReq(), ns3::FdBetFfMacScheduler::DoSchedDlTriggerReq(), ns3::CqaFfMacScheduler::DoSchedDlTriggerReq(), ns3::TdTbfqFfMacScheduler::DoSchedDlTriggerReq(), ns3::FdTbfqFfMacScheduler::DoSchedDlTriggerReq(), ns3::PssFfMacScheduler::DoSchedDlTriggerReq(), ns3::RrFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::TdMtFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::TtaFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::FdMtFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::PfFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::TdBetFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::FdBetFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::CqaFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::TdTbfqFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::FdTbfqFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::PssFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::RrFfMacScheduler::DoSchedUlTriggerReq(), ns3::TdMtFfMacScheduler::DoSchedUlTriggerReq(), ns3::TtaFfMacScheduler::DoSchedUlTriggerReq(), ns3::FdMtFfMacScheduler::DoSchedUlTriggerReq(), ns3::PfFfMacScheduler::DoSchedUlTriggerReq(), ns3::TdBetFfMacScheduler::DoSchedUlTriggerReq(), ns3::FdBetFfMacScheduler::DoSchedUlTriggerReq(), ns3::CqaFfMacScheduler::DoSchedUlTriggerReq(), ns3::TdTbfqFfMacScheduler::DoSchedUlTriggerReq(), ns3::FdTbfqFfMacScheduler::DoSchedUlTriggerReq(), ns3::PssFfMacScheduler::DoSchedUlTriggerReq(), ns3::Ipv6Interface::DoSetup(), ns3::LteUePhy::DoSynchronizeWithEnb(), ns3::Ipv4FlowProbe::DropLogger(), ns3::Ipv6FlowProbe::DropLogger(), ns3::GrantedTimeWindowMpiInterface::Enable(), ns3::UanMacCw::EndTx(), ns3::RegularWifiMac::Enqueue(), ns3::TcpGeneralTest::ErrorCloseCb(), ns3::BlockAckManager::ExistsAgreementInState(), ns3::NixVector::ExtractNeighborIndex(), ns3::BlockAckCache::FillBlockAckBitmap(), ns3::PyViz::FilterPacket(), ns3::LteAnr::Find(), ns3::LteStatsCalculator::FindCellIdFromEnbRlcPath(), ns3::Ipv4FlowClassifier::FindFlow(), ns3::Ipv6FlowClassifier::FindFlow(), ns3::LteStatsCalculator::FindImsiFromEnbRlcPath(), ns3::LteStatsCalculator::FindImsiFromLteNetDevice(), ns3::LteStatsCalculator::FindImsiFromUePhy(), ns3::GlobalRouteManagerImpl::FindOutgoingInterfaceId(), ns3::SystemPath::FindSelfDirectory(), ns3::RegularWifiMac::FinishConfigureStandard(), ns3::CidFactory::FreeCid(), ns3::WifiActionHeader::GetAction(), ns3::Ipv4Interface::GetAddress(), ns3::Ipv6Interface::GetAddress(), ns3::ObjectBase::GetAttribute(), ns3::BurstProfileManager::GetBurstProfile(), ns3::WifiActionHeader::GetCategory(), ns3::LteSpectrumValueHelper::GetChannelBandwidth(), ns3::TcpGeneralTest::GetClockGranularity(), ns3::SimpleOfdmWimaxPhy::GetCodedFecBlockSize(), ns3::ConnectionManager::GetConnections(), ns3::TcpGeneralTest::GetConnTimeout(), ns3::IidManager::GetConstructor(), ns3::WifiRemoteStationManager::GetControlAnswerMode(), ns3::EdcaTxopN::GetCurrentTid(), ns3::WifiMode::GetDataRate(), ns3::TcpGeneralTest::GetDelAckCount(), ns3::TcpGeneralTest::GetDelAckTimeout(), ns3::WifiPhyStateHelper::GetDelayUntilIdle(), ns3::MultiModelSpectrumChannel::GetDevice(), ns3::dsr::DsrRouting::GetDownTarget6(), ns3::TcpGeneralTest::GetDupAckCount(), ns3::SimpleOfdmWimaxPhy::GetFecBlockSize(), ns3::TcpGeneralTest::GetInitialCwnd(), ns3::TcpGeneralTest::GetInitialSsThresh(), ns3::MeshPointDevice::GetInterface(), ns3::PointToPointGridHelper::GetIpv4Address(), ns3::PointToPointGridHelper::GetIpv6Address(), ns3::WaveNetDevice::GetMac(), ns3::TcpGeneralTest::GetMinRto(), ns3::WifiTxVector::GetMode(), ns3::UanTxModeFactory::GetModeItem(), ns3::BurstProfileManager::GetModulationType(), ns3::UanNetDevice::GetMulticast(), ns3::LteEnbRrc::GetNewSrsConfigurationIndex(), ns3::BlockAckManager::GetNextPacket(), ns3::PointToPointGridHelper::GetNode(), ns3::WifiMode::GetNonHtReferenceRate(), ns3::ConnectionManager::GetNPackets(), ns3::BlockAckManager::GetNRetryNeededPackets(), ns3::EpsBearer::GetPacketDelayBudgetMs(), ns3::EpsBearer::GetPacketErrorLossRate(), ns3::UanPhyDual::GetPacketRx(), ns3::WifiPhy::GetPayloadDuration(), ns3::TcpGeneralTest::GetPersistentEvent(), ns3::TcpGeneralTest::GetPersistentTimeout(), ns3::WifiPhy::GetPlcpHeaderDuration(), ns3::WifiPhy::GetPlcpHeaderMode(), ns3::WifiPhy::GetPlcpPreambleDuration(), ns3::AnimationInterface::GetPosition(), ns3::EpsBearer::GetPriority(), ns3::TcpGeneralTest::GetReTxThreshold(), ns3::Ipv4ListRouting::GetRoutingProtocol(), ns3::Ipv6ListRouting::GetRoutingProtocol(), ns3::TcpGeneralTest::GetRto(), ns3::TcpGeneralTest::GetRttEstimator(), ns3::TcpGeneralTest::GetRWnd(), ns3::TcpGeneralTest::GetRxBuffer(), ns3::ServiceFlow::GetSchedulingTypeStr(), ns3::TcpGeneralTest::GetSegSize(), ns3::BlockAckManager::GetSeqNumOfNextRetryPacket(), ns3::CtrlBAckRequestHeader::GetSerializedSize(), ns3::CtrlBAckResponseHeader::GetSerializedSize(), ns3::ByteTagIterator::Item::GetTag(), ns3::TcpGeneralTest::GetTcb(), ns3::TcpGeneralTest::GetTcpState(), ns3::TestRunnerImpl::GetTopLevelSourceDir(), ns3::WifiTxVector::GetTxPowerLevel(), ns3::SpectrumWifiPhy::GetTxPowerSpectralDensity(), ns3::WimaxConnection::GetTypeStr(), ns3::GlobalValue::GetValue(), ns3::GlobalValue::GetValueByName(), ns3::XmlConfigSave::Global(), ns3::XmlConfigLoad::Global(), ns3::GlobalValue::GlobalValue(), ns3::RrFfMacScheduler::HarqProcessAvailability(), ns3::TdMtFfMacScheduler::HarqProcessAvailability(), ns3::TtaFfMacScheduler::HarqProcessAvailability(), ns3::FdMtFfMacScheduler::HarqProcessAvailability(), ns3::PfFfMacScheduler::HarqProcessAvailability(), ns3::TdBetFfMacScheduler::HarqProcessAvailability(), ns3::FdBetFfMacScheduler::HarqProcessAvailability(), ns3::CqaFfMacScheduler::HarqProcessAvailability(), ns3::TdTbfqFfMacScheduler::HarqProcessAvailability(), ns3::FdTbfqFfMacScheduler::HarqProcessAvailability(), ns3::PssFfMacScheduler::HarqProcessAvailability(), ns3::EutranMeasurementMapping::IeValue2ActualA3Offset(), ns3::EutranMeasurementMapping::IeValue2ActualHysteresis(), ns3::EutranMeasurementMapping::IeValue2ActualQQualMin(), ns3::EutranMeasurementMapping::IeValue2ActualQRxLevMin(), ns3::WifiPhy::InitializeFrequencyChannelNumber(), ns3::dot11s::PeerManagementProtocol::InitiateLink(), ns3::Wifi80211pHelper::Install(), ns3::RadioEnvironmentMapHelper::Install(), ns3::InternetStackHelper::Install(), ns3::MeshHelper::Install(), ns3::MobilityHelper::Install(), ns3::WaveHelper::Install(), ns3::IpcsClassifierRecord::IpcsClassifierRecord(), ns3::Ipv4FlowProbe::Ipv4FlowProbe(), ns3::Ipv6FlowProbe::Ipv6FlowProbe(), ns3::WifiRemoteStationManager::IsAllowedControlAnswerModulationClass(), ns3::CtrlBAckResponseHeader::IsFragmentReceived(), ns3::EpsBearer::IsGbr(), ns3::WifiMode::IsHigherCodeRate(), ns3::WifiMode::IsHigherDataRate(), ns3::CtrlBAckResponseHeader::IsPacketReceived(), ns3::SystemThread::Join(), ns3::olsr::RoutingProtocol::LinkSensing(), ns3::SystemMutexPrivate::Lock(), ns3::LogComponent::LogComponent(), ns3::LogComponentEnable(), ns3::ArpL3Protocol::Lookup(), ns3::TypeId::LookupAttributeByName(), ns3::TypeId::LookupTraceSourceByName(), ns3::LteEnbPhy::LteEnbPhy(), LteHandoverTargetTestCase::LteHandoverTargetTestCase(), ns3::LtePhy::LtePhy(), LteRlcAmE2eTestSuite::LteRlcAmE2eTestSuite(), ns3::LteTestUePhy::LteTestUePhy(), LteUeMeasurementsHandoverTestCase::LteUeMeasurementsHandoverTestCase(), LteUeMeasurementsPiecewiseTestCase1::LteUeMeasurementsPiecewiseTestCase1(), LteUeMeasurementsPiecewiseTestCase2::LteUeMeasurementsPiecewiseTestCase2(), ns3::LteUePhy::LteUePhy(), ns3::LteUeRrc::MeasurementReportTriggering(), ns3::Ipv6AddressHelper::NewAddress(), ns3::TcpGeneralTest::NormalCloseCb(), ns3::BlockAckManager::NotifyGotBlockAck(), ns3::WifiRadioEnergyModelPhyListener::NotifyMaybeCcaBusyStart(), ns3::WifiRadioEnergyModelPhyListener::NotifyRxEndError(), ns3::WifiRadioEnergyModelPhyListener::NotifyRxEndOk(), ns3::WifiRadioEnergyModelPhyListener::NotifyRxStart(), ns3::WifiRadioEnergyModelPhyListener::NotifySleep(), ns3::WifiRadioEnergyModelPhyListener::NotifySwitchingStart(), ns3::WifiRadioEnergyModelPhyListener::NotifyTxStart(), ns3::WifiRadioEnergyModelPhyListener::NotifyWakeup(), ns3::Ns2MobilityHelper::Ns2MobilityHelper(), ns3::NullMessageMpiInterface::NullMessageMpiInterface(), ns3::NullMessageSimulatorImpl::NullMessageSimulatorImpl(), ns3::operator<<(), ns3::operator>>(), ns3::OrganizationIdentifier::OrganizationIdentifier(), ns3::WifiPhyHelper::PcapSniffRxEvent(), ns3::WifiPhyHelper::PcapSniffTxEvent(), ns3::LrWpanMac::PdDataConfirm(), ns3::LrWpanPhy::PdDataRequest(), ns3::BlockAckManager::PeekNextPacket(), ns3::BlockAckManager::PeekNextPacketByTidAndAddress(), ns3::TcpSlowStartNormalTest::PhyDrop(), ns3::TcpNewRenoCongAvoidNormalTest::PhyDrop(), ns3::TcpGeneralTest::PhyDropCb(), ns3::LrWpanMac::PlmeSetTRXStateConfirm(), ns3::LrWpanPhy::PlmeSetTRXStateRequest(), ns3::GnuplotHelper::PlotProbe(), ns3::PointToPointGridHelper::PointToPointGridHelper(), ns3::UeManager::PrepareHandover(), ns3::RrcAsn1Header::Print(), ns3::WifiMacHeader::Print(), ns3::CommandLine::PrintAttributes(), ns3::NdiscCache::PrintNdiscCache(), ns3::dot11s::HwmpProtocol::ProactivePathResolved(), ns3::TcpGeneralTest::ProcessedAckCb(), ns3::SixLowPanNetDevice::ProcessFragment(), ns3::RealtimeSimulatorImpl::ProcessOneEvent(), ns3::TcpSlowStartNormalTest::QueueDrop(), ns3::TcpNewRenoCongAvoidNormalTest::QueueDrop(), ns3::TcpGeneralTest::QueueDropCb(), ns3::TcpGeneralTest::RcvAckCb(), readCordinatesFile(), ns3::SystemPath::ReadFiles(), readNxNMatrix(), ns3::flame::FlameProtocolMac::Receive(), ns3::dot11s::PeerManagementProtocolMac::Receive(), ns3::TrafficControlLayer::Receive(), ns3::RegularWifiMac::Receive(), ns3::dsr::DsrRouting::Receive(), ns3::dot11s::HwmpProtocolMac::ReceiveData(), ns3::LteEnbPhy::ReceiveLteControlMessage(), ns3::LteUePhy::ReceiveLteControlMessageList(), ns3::LteEnbPhy::ReceiveLteControlMessageList(), ns3::GrantedTimeWindowMpiInterface::ReceiveMessages(), ns3::MacLow::ReceiveOk(), ns3::UanMacRc::ReceiveOkFromPhy(), ns3::UanMacRcGw::ReceivePacket(), ns3::AnimationInterface::RecursiveIpv4RoutePathSearch(), ns3::UeManager::RecvHandoverPreparationFailure(), LteUeMeasurementsHandoverTestCase::RecvMeasurementReportCallback(), ns3::UeManager::RecvRrcConnectionReconfigurationCompleted(), ns3::UeManager::RecvRrcConnectionReestablishmentRequest(), ns3::UeManager::RecvRrcConnectionRequest(), ns3::UeManager::RecvRrcConnectionSetupCompleted(), ns3::RrFfMacScheduler::RefreshHarqProcesses(), ns3::TdMtFfMacScheduler::RefreshHarqProcesses(), ns3::TtaFfMacScheduler::RefreshHarqProcesses(), ns3::FdMtFfMacScheduler::RefreshHarqProcesses(), ns3::PfFfMacScheduler::RefreshHarqProcesses(), ns3::TdBetFfMacScheduler::RefreshHarqProcesses(), ns3::FdBetFfMacScheduler::RefreshHarqProcesses(), ns3::CqaFfMacScheduler::RefreshHarqProcesses(), ns3::TdTbfqFfMacScheduler::RefreshHarqProcesses(), ns3::FdTbfqFfMacScheduler::RefreshHarqProcesses(), ns3::PssFfMacScheduler::RefreshHarqProcesses(), ns3::Ipv4Interface::RemoveAddress(), ns3::Ipv6Interface::RemoveAddress(), ns3::Ipv6L3Protocol::RemoveAutoconfiguredAddress(), ns3::PacketMetadata::RemoveHeader(), ns3::LteAnr::RemoveNeighbourRelation(), ns3::BlockAckManager::RemovePacket(), ns3::dot11s::HwmpProtocol::RemoveRoutingStuff(), ns3::flame::FlameProtocol::RemoveRoutingStuff(), ns3::PacketMetadata::RemoveTrailer(), ns3::LteUePowerControl::ReportTpc(), ns3::dot11s::HwmpProtocol::RequestRoute(), ns3::flame::FlameProtocol::RequestRoute(), ns3::dsr::DsrOptions::ReverseSearchNextTwoHop(), ns3::RngStream::RngStream(), ns3::olsr::RoutingProtocol::RouteInput(), ns3::olsr::RoutingProtocol::RouteOutput(), ns3::TcpGeneralTest::RtoExpiredCb(), ns3::UanMacRc::RtsTimeout(), Experiment::Run(), RoutingExperiment::Run(), ns3::FdReader::Run(), ns3::DistributedSimulatorImpl::Run(), ns3::TcpGeneralTest::RxPacketCb(), ns3::SameRoomPositionAllocator::SameRoomPositionAllocator(), ns3::UplinkSchedulerMBQoS::Schedule(), ns3::Timer::Schedule(), ns3::BlockAckManager::ScheduleBlockAckReqIfNeeded(), ns3::UanMacRc::ScheduleData(), ns3::UeManager::ScheduleRrcConnectionReconfiguration(), ns3::WifiModeFactory::Search(), ns3::Ipv4L3Protocol::Send(), ns3::TapBridge::Send(), ns3::MacLow::SendBlockAckAfterBlockAckRequest(), ns3::EdcaTxopN::SendBlockAckRequest(), ns3::MacLow::SendBlockAckResponse(), ns3::UeManager::SendData(), ns3::LteNetDevice::SendFrom(), ns3::TapBridge::SendFrom(), ns3::olsr::RoutingProtocol::SendHello(), ns3::MeshWifiInterfaceMac::SendManagementFrame(), ns3::LteUeRrc::SendMeasurementReport(), ns3::GrantedTimeWindowMpiInterface::SendPacket(), ns3::TcpL4Protocol::SendPacket(), ns3::TcpL4Protocol::SendPacketV4(), ns3::TcpL4Protocol::SendPacketV6(), ns3::UeManager::SendUeContextRelease(), ns3::CtrlBAckRequestHeader::Serialize(), ns3::CtrlBAckResponseHeader::Serialize(), ns3::CtrlBAckResponseHeader::SerializeBitmap(), ns3::EnumValue::SerializeToString(), TcpTestCase::ServerHandleRecv(), ns3::Ns3NscStack::Set(), ns3::ObjectFactory::Set(), ns3::LteUePowerControl::SetAlpha(), ns3::TimerImpl::SetArgs(), ns3::Watchdog::SetArguments(), ns3::Timer::SetArguments(), ns3::ObjectBase::SetAttribute(), ns3::AnimationInterface::SetBackgroundImage(), ns3::RadioEnvironmentMapHelper::SetBandwidth(), ns3::TapBridge::SetBridgedNetDevice(), ns3::WifiPhy::SetChannelNumber(), ns3::Config::SetDefault(), ns3::LteEnbNetDevice::SetDlBandwidth(), ns3::LteFfrAlgorithm::SetDlBandwidth(), ns3::dsr::DsrRouting::SetDownTarget6(), ns3::EmuFdNetDeviceHelper::SetFileDescriptor(), ns3::XmlConfigSave::SetFilename(), ns3::AarfWifiManager::SetHtSupported(), ns3::AarfcdWifiManager::SetHtSupported(), ns3::CaraWifiManager::SetHtSupported(), ns3::AmrrWifiManager::SetHtSupported(), ns3::RraaWifiManager::SetHtSupported(), ns3::OnoeWifiManager::SetHtSupported(), ns3::ArfWifiManager::SetHtSupported(), ns3::ParfWifiManager::SetHtSupported(), ns3::AparfWifiManager::SetHtSupported(), ns3::MinstrelWifiManager::SetHtSupported(), ns3::Simulator::SetImplementation(), ns3::TcpGeneralTest::SetInitialCwnd(), ns3::TcpGeneralTest::SetInitialSsThresh(), ns3::AcousticModemEnergyModel::SetMicroModemState(), ns3::NscTcpL4Protocol::SetNscLibrary(), ns3::AnimationInterface::SetOutputFile(), ns3::TcpGeneralTest::SetRcvBufSize(), ns3::CtrlBAckResponseHeader::SetReceivedFragment(), ns3::CtrlBAckResponseHeader::SetReceivedPacket(), ns3::TcpGeneralTest::SetSegmentSize(), ns3::LteEnbRrc::SetSrsPeriodicity(), ns3::MeshHelper::SetStackInstaller(), ns3::Wifi80211pHelper::SetStandard(), ns3::CtrlBAckRequestHeader::SetType(), ns3::NqosWaveMacHelper::SetType(), ns3::QosWaveMacHelper::SetType(), ns3::CtrlBAckResponseHeader::SetType(), ns3::LteEnbNetDevice::SetUlBandwidth(), ns3::LteFfrAlgorithm::SetUlBandwidth(), ns3::TcpSocketBase::SetupEndpoint(), ns3::TcpSocketBase::SetupEndpoint6(), RoutingHelper::SetupRoutingProtocol(), ns3::UplinkSchedulerSimple::SetupServiceFlow(), ns3::UplinkSchedulerMBQoS::SetupServiceFlow(), ns3::UplinkSchedulerRtps::SetupServiceFlow(), ns3::AarfWifiManager::SetVhtSupported(), ns3::CaraWifiManager::SetVhtSupported(), ns3::AarfcdWifiManager::SetVhtSupported(), ns3::AmrrWifiManager::SetVhtSupported(), ns3::RraaWifiManager::SetVhtSupported(), ns3::OnoeWifiManager::SetVhtSupported(), ns3::ArfWifiManager::SetVhtSupported(), ns3::ParfWifiManager::SetVhtSupported(), ns3::AparfWifiManager::SetVhtSupported(), ns3::MinstrelWifiManager::SetVhtSupported(), TcpTestCase::SourceHandleRecv(), ns3::FdReader::Start(), ns3::SystemThread::Start(), ns3::UdpEchoServer::StartApplication(), ns3::PacketSink::StartApplication(), ns3::BulkSendApplication::StartApplication(), ns3::ChannelCoordinator::StartChannelCoordination(), ns3::SpectrumWifiPhy::StartRx(), ns3::LteSpectrumPhy::StartRxData(), ns3::LteSpectrumPhy::StartRxDlCtrl(), ns3::LteSpectrumPhy::StartRxUlSrs(), ns3::LteEnbPhy::StartSubFrame(), ns3::LteSpectrumPhy::StartTxDataFrame(), ns3::LteSpectrumPhy::StartTxDlCtrlFrame(), ns3::LteSpectrumPhy::StartTxUlSrsFrame(), BasicEnergyUpdateTest::StateSwitchTest(), ns3::WifiPhyStateHelper::SwitchToChannelSwitching(), ns3::WifiRadioEnergyModelPhyListener::SwitchToIdle(), ns3::WifiPhyStateHelper::SwitchToRx(), ns3::WifiPhyStateHelper::SwitchToSleep(), ns3::UeManager::SwitchToState(), ns3::LteUeRrc::SwitchToState(), ns3::WifiPhyStateHelper::SwitchToTx(), ns3::GrantedTimeWindowMpiInterface::TestSendComplete(), ns3::AnimationInterface::TrackIpv4RoutePaths(), ns3::PointToPointRemoteChannel::TransmitStart(), ns3::TcpZeroWindowTest::Tx(), ns3::TcpGeneralTest::TxPacketCb(), ns3::UeManager::UeManager(), ns3::SystemMutexPrivate::Unlock(), ns3::RrFfMacScheduler::UpdateHarqProcessId(), ns3::FdMtFfMacScheduler::UpdateHarqProcessId(), ns3::TdMtFfMacScheduler::UpdateHarqProcessId(), ns3::TtaFfMacScheduler::UpdateHarqProcessId(), ns3::PfFfMacScheduler::UpdateHarqProcessId(), ns3::FdBetFfMacScheduler::UpdateHarqProcessId(), ns3::TdBetFfMacScheduler::UpdateHarqProcessId(), ns3::CqaFfMacScheduler::UpdateHarqProcessId(), ns3::FdTbfqFfMacScheduler::UpdateHarqProcessId(), ns3::TdTbfqFfMacScheduler::UpdateHarqProcessId(), ns3::PssFfMacScheduler::UpdateHarqProcessId(), ns3::AnimationInterface::UpdateNodeCounter(), ns3::AnimationInterface::UpdateNodeImage(), ns3::flame::FlameProtocolMac::UpdateOutcomingFrame(), ns3::dot11s::HwmpProtocolMac::UpdateOutcomingFrame(), ns3::TcpGeneralTest::UpdateRttHistoryCb(), ns3::EmpiricalRandomVariable::Validate(), ns3::FileHelper::WriteProbe(), ns3::Timer::~Timer(), and ns3::XmlConfigSave::~XmlConfigSave().

#define NS_FATAL_ERROR_CONT (   msg)    NS_FATAL_ERROR_IMPL (msg, false)

Report a fatal error with a message, deferring termination.

When this macro is hit at runtime, details of filename and line number are printed to stderr, however the program is not halted. It is expected that the function using this macro will return an error code, and its caller will invoke NS_FATAL_ERROR(msg) triggering std::terminate().

This macro is enabled unconditionally in all builds, including debug and optimized builds.

Definition at line 178 of file fatal-error.h.

Referenced by ns3::Callback< void, int8_t >::DoAssign().

#define NS_FATAL_ERROR_IMPL (   msg,
  fatal 
)
Value:
do \
{ \
std::cerr << "msg=\"" << msg << "\", "; \
} \
while (false)
#define NS_FATAL_ERROR_IMPL_NO_MSG(fatal)
Fatal error reporting with no message, implementation.
Definition: fatal-error.h:72

Fatal error reporting with a message, implementation.

When this macro is hit at runtime the error details will printed to stderr, including the message, file name and line number. Optionally, if fatal is true, the macro will invoke std::terminate(). If fatal is false, the invoking function should return an error code to its caller, which is expected to call NS_FATAL_ERROR to cause termination.

Parameters
[in]msgThe error message to print, if not empty.
[in]fatalCall std::terminate() if true.

This macro is enabled unconditionally in all builds, including debug and optimized builds.

Definition at line 101 of file fatal-error.h.

#define NS_FATAL_ERROR_IMPL_NO_MSG (   fatal)
Value:
do \
{ \
std::cerr << "file=" << __FILE__ << ", line=" << \
__LINE__ << std::endl; \
if (fatal) std::terminate (); \
} \
while (false)
void FlushStreams(void)
Flush all currently registered streams.
Definition: fatal-impl.cc:147
STL namespace.

Fatal error reporting with no message, implementation.

When this macro is hit at runtime the error details will printed to stderr, including the file name and line number. Optionally, if fatal is true, the macro will invoke std::terminate(). If fatal is false, the invoking function should return an error code to its caller, which is expected to call NS_FATAL_ERROR to cause termination.

Parameters
[in]fatalCall std::terminate() if true.

This macro is enabled unconditionally in all builds, including debug and optimized builds.

Definition at line 72 of file fatal-error.h.

#define NS_FATAL_ERROR_NO_MSG ( )    NS_FATAL_ERROR_IMPL_NO_MSG (true)

Report a fatal error and terminate.

When this macro is hit at runtime, details of filename and line number are printed to stderr, and the program is halted by calling std::terminate(). This will trigger any clean up code registered by std::set_terminate (NS3 default is a stream-flushing code), but may be overridden.

This macro is enabled unconditionally in all builds, including debug and optimized builds.

Definition at line 125 of file fatal-error.h.

Referenced by ns3::TracedCallback< T1, T2, T3, T4, T5, T6, T7, T8 >::ConnectWithoutContext(), ns3::CallbackValue::GetAccessor(), and ns3::OrganizationIdentifier::GetSerializedSize().

#define NS_FATAL_ERROR_NO_MSG_CONT ( )    NS_FATAL_ERROR_IMPL_NO_MSG (false)

Report a fatal error, deferring termination.

When this macro is hit at runtime, details of filename and line number are printed to stderr, however the program is not halted. It is expected that the function using this macro will return an error code, and its caller will invoke NS_FATAL_ERROR(msg) triggering std::terminate().

This macro is enabled unconditionally in all builds, including debug and optimized builds.

Definition at line 141 of file fatal-error.h.