Simulation virtual time values and global simulation resolution. More...
#include "nstime.h"
Classes | |
struct | Information |
How to convert between other units and the current unit. More... | |
struct | Resolution |
Current time unit, and conversion info. More... | |
Public Types | |
typedef void(* | TracedCallback) (Time value) |
TracedCallback signature for Time. More... | |
enum | Unit { Y = 0, D = 1, H = 2, MIN = 3, S = 4, MS = 5, US = 6, NS = 7, PS = 8, FS = 9, LAST = 10 } |
The unit to use to interpret a number representing time. More... | |
Public Member Functions | |
Time () | |
Default constructor, with value 0. More... | |
Time (const Time &o) | |
Copy constructor. More... | |
Time (Time &&o) | |
Move constructor. More... | |
Time (const std::string &s) | |
Construct Time object from common time expressions like "1ms". More... | |
~Time () | |
Destructor. More... | |
TimeWithUnit | As (const enum Unit unit) const |
Attach a unit to a Time, to facilitate output in a specific unit. More... | |
int | Compare (const Time &o) const |
Compare this to another Time. More... | |
bool | IsNegative (void) const |
bool | IsPositive (void) const |
bool | IsStrictlyNegative (void) const |
bool | IsStrictlyPositive (void) const |
bool | IsZero (void) const |
Time & | operator= (const Time &o) |
Assignment operator. More... | |
Numeric constructors. | |
Construct from a numeric value. | |
Time (double v) | |
Construct from a numeric value. More... | |
Time (int v) | |
Construct from a numeric value. More... | |
Time (long int v) | |
Construct from a numeric value. More... | |
Time (long long int v) | |
Construct from a numeric value. More... | |
Time (unsigned int v) | |
Construct from a numeric value. More... | |
Time (unsigned long int v) | |
Construct from a numeric value. More... | |
Time (unsigned long long int v) | |
Construct from a numeric value. More... | |
Time (const int64x64_t &v) | |
Construct from a numeric value. More... | |
Convert to Number in a Unit. | |
Convert a Time to number, in indicated units. Conversions to seconds and larger will return doubles, with possible loss of precision. Conversions to units smaller than seconds will by rounded. | |
double | GetYears (void) const |
Get an approximation of the time stored in this instance in the indicated unit. More... | |
double | GetDays (void) const |
Get an approximation of the time stored in this instance in the indicated unit. More... | |
double | GetHours (void) const |
Get an approximation of the time stored in this instance in the indicated unit. More... | |
double | GetMinutes (void) const |
Get an approximation of the time stored in this instance in the indicated unit. More... | |
double | GetSeconds (void) const |
Get an approximation of the time stored in this instance in the indicated unit. More... | |
int64_t | GetMilliSeconds (void) const |
Get an approximation of the time stored in this instance in the indicated unit. More... | |
int64_t | GetMicroSeconds (void) const |
Get an approximation of the time stored in this instance in the indicated unit. More... | |
int64_t | GetNanoSeconds (void) const |
Get an approximation of the time stored in this instance in the indicated unit. More... | |
int64_t | GetPicoSeconds (void) const |
Get an approximation of the time stored in this instance in the indicated unit. More... | |
int64_t | GetFemtoSeconds (void) const |
Get an approximation of the time stored in this instance in the indicated unit. More... | |
Convert to Raw Value. | |
Convert a Time to a number in the current resolution units. | |
int64_t | GetTimeStep (void) const |
Get the raw time value, in the current resolution unit. More... | |
double | GetDouble (void) const |
Get the raw time value, in the current resolution unit. More... | |
int64_t | GetInteger (void) const |
Get the raw time value, in the current resolution unit. More... | |
Get Times as Numbers in Specified Units | |
Get the Time as integers or doubles in the indicated unit. | |
int64_t | ToInteger (enum Unit unit) const |
Get the Time value expressed in a particular unit. More... | |
double | ToDouble (enum Unit unit) const |
Get the Time value expressed in a particular unit. More... | |
int64x64_t | To (enum Unit unit) const |
Get the Time value expressed in a particular unit. More... | |
Static Public Member Functions | |
static Time | From (const int64x64_t &value) |
Create a Time in the current unit. More... | |
static enum Unit | GetResolution (void) |
static Time | Max () |
Maximum representable Time. More... | |
static Time | Min () |
Minimum representable Time. More... | |
static void | SetResolution (enum Unit resolution) |
static bool | StaticInit () |
Function to force static initialization of Time. More... | |
Create Times from Values and Units. | |
Create Times from values given in the indicated units. | |
static Time | FromInteger (uint64_t value, enum Unit unit) |
Create a Time equal to value in unit unit . More... | |
static Time | FromDouble (double value, enum Unit unit) |
Create a Time equal to value in unit unit . More... | |
static Time | From (const int64x64_t &value, enum Unit unit) |
Create a Time equal to value in unit unit . More... | |
Private Types | |
typedef std::set< Time *> | MarkedTimes |
Record all instances of Time, so we can rescale them when the resolution changes. More... | |
Static Private Member Functions | |
static void | Clear (Time *const time) |
Remove a Time instance from the MarkedTimes, called by ~Time(). More... | |
static void | ClearMarkedTimes () |
Remove all MarkedTimes. More... | |
static void | ConvertTimes (const enum Unit unit) |
Convert existing Times to the new unit. More... | |
static void | Mark (Time *const time) |
Record a Time instance with the MarkedTimes. More... | |
static struct Information * | PeekInformation (enum Unit timeUnit) |
Get the Information record for timeUnit for the current Resolution. More... | |
static struct Resolution * | PeekResolution (void) |
Get the current Resolution. More... | |
static struct Resolution | SetDefaultNsResolution (void) |
Set the default resolution. More... | |
static void | SetResolution (enum Unit unit, struct Resolution *resolution, const bool convert=true) |
Set the current Resolution. More... | |
Private Attributes | |
int64_t | m_data |
Virtual time value, in the current unit. More... | |
Static Private Attributes | |
static MarkedTimes * | g_markingTimes = 0 |
Record of outstanding Time objects which will need conversion when the resolution is set. More... | |
Friends | |
Time | Abs (const Time &time) |
Absolute value function for Time. More... | |
Time | Max (const Time &ta, const Time &tb) |
Max function for Time. More... | |
Time | Min (const Time &ta, const Time &tb) |
Min function for Time. More... | |
class | Simulator |
Friend the Simulator class so it can call the private function ClearMarkedTimes () More... | |
bool | operator== (const Time &lhs, const Time &rhs) |
Arithmetic operator. More... | |
bool | operator!= (const Time &lhs, const Time &rhs) |
Inequality operator for Time. More... | |
bool | operator<= (const Time &lhs, const Time &rhs) |
Less than or equal operator for Time. More... | |
bool | operator>= (const Time &lhs, const Time &rhs) |
Greater than or equal operator for Time. More... | |
bool | operator< (const Time &lhs, const Time &rhs) |
Less than operator for Time. More... | |
bool | operator> (const Time &lhs, const Time &rhs) |
Greater than operator for Time. More... | |
Time | operator+ (const Time &lhs, const Time &rhs) |
Addition operator for Time. More... | |
Time | operator- (const Time &lhs, const Time &rhs) |
Difference operator for Time. More... | |
Time | operator* (const Time &lhs, const int64_t &rhs) |
Multiplication operator for Time. More... | |
Time | operator* (const int64_t &lhs, const Time &rhs) |
Multiplication operator for Time. More... | |
Time | operator* (const Time &lhs, const int64x64_t &rhs) |
Multiplication operator for Time. More... | |
Time | operator* (const int64x64_t &lhs, const Time &rhs) |
Multiplication operator for Time. More... | |
int64x64_t | operator/ (const Time &lhs, const Time &rhs) |
Division operator for Time. More... | |
Time | operator/ (const Time &lhs, const int64_t &rhs) |
Division operator for Time. More... | |
Time | operator/ (const Time &lhs, const int64x64_t &rhs) |
Division operator for Time. More... | |
Time & | operator+= (Time &lhs, const Time &rhs) |
Addition operator for Time. More... | |
Time & | operator-= (Time &lhs, const Time &rhs) |
Subtraction operator for Time. More... | |
Related Functions | |
(Note that these are not member functions.) | |
SystemMutex & | GetMarkingMutex () |
Simulation virtual time values and global simulation resolution.
This class defines all the classic C++ addition/subtraction operators: +, -, +=, -=; and all the classic comparison operators: ==, !=, <, >, <=, >=. It is thus easy to add, subtract, or compare Time objects.
For example:
You can also use the following non-member functions to manipulate any of these ns3::Time object:
This class also controls the resolution of the underlying time value. The resolution is the smallest representable time interval. The default resolution is nanoseconds.
To change the resolution, use SetResolution(). All Time objects created before the call to SetResolution() will be updated to the new resolution. This can only be done once! (Tracking each Time object uses 4 pointers. For speed, once we convert the existing instances we discard the recording data structure and stop tracking new instances, so we have no way to do a second conversion.)
If you increase the global resolution, you also implicitly decrease the range of your simulation. The global simulation time is stored in a 64 bit integer, whose interpretation will depend on the global resolution. Therefore the maximum duration of your simulation, if you use picoseconds, is 2^64 ps = 2^24 s = 7 months, whereas, had you used nanoseconds, you could have run for 584 years.
|
private |
Record all instances of Time, so we can rescale them when the resolution changes.
We use a std::set so we can remove the record easily when ~Time() is called.
We don't use Ptr<Time>, because we would have to bloat every Time instance with SimpleRefCount<Time>.
Seems like this should be std::set< Time * const >, but Stack Overflow says otherwise, quoting the standard:
& sect;23.1/3 states that std::set key types must be assignable and copy constructable; clearly a const type will not be assignable.
typedef void(* ns3::Time::TracedCallback) (Time value) |
TracedCallback signature for Time.
[in] | value | Current value of Time |
enum ns3::Time::Unit |
|
inline |
Default constructor, with value 0.
Definition at line 134 of file nstime.h.
References g_markingTimes, and Mark().
Referenced by From(), FromInteger(), Max(), and Min().
|
inline |
Copy constructor.
[in] | o | Time to copy |
Definition at line 147 of file nstime.h.
References g_markingTimes, and Mark().
|
inline |
Move constructor.
[in] | o | Time from which take the data |
Definition at line 161 of file nstime.h.
References g_markingTimes, and Mark().
|
inlineexplicit |
Construct from a numeric value.
The current time resolution will be assumed as the unit.
[in] | v | The value. |
Definition at line 179 of file nstime.h.
References g_markingTimes, and Mark().
|
inlineexplicit |
Construct from a numeric value.
The current time resolution will be assumed as the unit.
[in] | v | The value. |
Definition at line 187 of file nstime.h.
References g_markingTimes, and Mark().
|
inlineexplicit |
Construct from a numeric value.
The current time resolution will be assumed as the unit.
[in] | v | The value. |
Definition at line 195 of file nstime.h.
References g_markingTimes, and Mark().
|
inlineexplicit |
Construct from a numeric value.
The current time resolution will be assumed as the unit.
[in] | v | The value. |
Definition at line 203 of file nstime.h.
References g_markingTimes, and Mark().
|
inlineexplicit |
Construct from a numeric value.
The current time resolution will be assumed as the unit.
[in] | v | The value. |
Definition at line 211 of file nstime.h.
References g_markingTimes, and Mark().
|
inlineexplicit |
Construct from a numeric value.
The current time resolution will be assumed as the unit.
[in] | v | The value. |
Definition at line 219 of file nstime.h.
References g_markingTimes, and Mark().
|
inlineexplicit |
Construct from a numeric value.
The current time resolution will be assumed as the unit.
[in] | v | The value. |
Definition at line 227 of file nstime.h.
References g_markingTimes, and Mark().
|
inlineexplicit |
Construct from a numeric value.
The current time resolution will be assumed as the unit.
[in] | v | The value. |
Definition at line 235 of file nstime.h.
References g_markingTimes, and Mark().
|
explicit |
Construct Time object from common time expressions like "1ms".
Supported units include:
s
(seconds)ms
(milliseconds)us
(microseconds)ns
(nanoseconds)ps
(picoseconds)fs
(femtoseconds)min
(minutes)h
(hours)d
(days)y
(years)There can be no white space between the numerical portion and the units. Any otherwise malformed string causes a fatal error to occur.
[in] | s | The string to parse into a Time |
Definition at line 96 of file time.cc.
References D, FromDouble(), FS, g_markingTimes, H, Mark(), MIN, MS, sample-rng-plot::n, NS, NS_ABORT_MSG, NS_LOG_FUNCTION, PS, S, US, and Y.
|
inline |
Destructor.
Definition at line 285 of file nstime.h.
References Clear(), and g_markingTimes.
TimeWithUnit ns3::Time::As | ( | const enum Unit | unit | ) | const |
Attach a unit to a Time, to facilitate output in a specific unit.
For example,
will print +3140.0ms
[in] | unit | The unit to use. |
Definition at line 389 of file time.cc.
Referenced by ns3::LrWpanCsmaCa::CanProceed(), Ns3TcpCwndTestCase1::CwndChange(), Ns3TcpCwndTestCase2::CwndChange(), Ns3TcpCwndTestCase2::CwndChangeNotInflated(), ns3::DefaultTimePrinter(), LrWpanSlottedCsmacaTestCase::DoRun(), TimeInputOutputTestCase::DoRun(), ns3::UanMacCw::Enqueue(), ns3::ChannelAccessManager::GetBackoffEndFor(), ns3::ChannelAccessManager::GetBackoffStartFor(), ns3::LrWpanCsmaCa::GetTimeToNextSlot(), ns3::ShowProgress::GiveFeedback(), ns3::UanMacCw::NotifyTxStart(), ns3::operator<<(), ns3::LrWpanMac::PdDataConfirm(), ns3::LrWpanMac::PdDataIndication(), ns3::SeqTsEchoHeader::Print(), ns3::aodv::RoutingProtocol::PrintRoutingTable(), ns3::dsdv::RoutingProtocol::PrintRoutingTable(), ns3::Ipv4StaticRouting::PrintRoutingTable(), ns3::Ipv4ListRouting::PrintRoutingTable(), ns3::Ipv4GlobalRouting::PrintRoutingTable(), ns3::Ipv6ListRouting::PrintRoutingTable(), ns3::Rip::PrintRoutingTable(), ns3::RipNg::PrintRoutingTable(), ns3::Ipv6StaticRouting::PrintRoutingTable(), ns3::olsr::RoutingProtocol::PrintRoutingTable(), ns3::LrWpanCsmaCa::RandomBackoffDelay(), ns3::UanMacRc::ScheduleData(), ns3::OnOffApplication::ScheduleStartEvent(), ns3::OnOffApplication::ScheduleStopEvent(), ns3::MacLow::SendBlockAckAfterAmpdu(), ns3::UanMacRcGw::StartCycle(), ns3::LrWpanMac::StartInactivePeriod(), ns3::SpectrumWifiPhy::StartRx(), ns3::UanMacCw::StartTimer(), and ns3::WifiPhy::SwitchMaybeToCcaBusy().
|
staticprivate |
Remove a Time instance from the MarkedTimes, called by ~Time().
[in] | time | The Time instance to remove. |
Definition at line 314 of file time.cc.
References g_markingTimes, GetMarkingMutex(), NS_ASSERT, NS_ASSERT_MSG(), NS_LOG_FUNCTION, NS_LOG_LOGIC(), and NS_LOG_WARN.
Referenced by ~Time().
|
staticprivate |
Remove all MarkedTimes.
We're called by Simulator::Run, which knows nothing about the mutex, so we need a critical section here.
It would seem natural to use this function at the end of ConvertTimes, but that function already has the mutex. Our SystemMutex throws a fatal error if we try to lock it more than once in the same thread (at least in the unix implementation), so calling this function from ConvertTimes is a bad idea.
Instead, we copy this body into ConvertTimes.
Definition at line 257 of file time.cc.
References g_markingTimes, GetMarkingMutex(), NS_LOG_FUNCTION_NOARGS, and NS_LOG_LOGIC().
Referenced by ns3::Simulator::Run().
|
inline |
|
staticprivate |
Convert existing Times to the new unit.
[in] | unit | The Unit to convert existing Times to. |
Definition at line 344 of file time.cc.
References g_markingTimes, GetMarkingMutex(), m_data, max, min, NS_ASSERT_MSG(), NS_LOG_FUNCTION_NOARGS, NS_LOG_LOGIC(), and ToInteger().
Referenced by SetResolution().
|
inlinestatic |
Create a Time in the current unit.
[in] | value | The value of the new Time. |
Definition at line 432 of file nstime.h.
References Time().
Referenced by ns3::Days(), ns3::FemtoSeconds(), FromDouble(), ns3::Hours(), ns3::RttMeanDeviation::IntegerUpdate(), ns3::MicroSeconds(), ns3::MilliSeconds(), ns3::Minutes(), ns3::NanoSeconds(), ns3::PicoSeconds(), ns3::Seconds(), and ns3::Years().
|
inlinestatic |
Create a Time equal to value in unit unit
.
[in] | value | The new Time value, expressed in unit |
[in] | unit | The unit of value |
unit
Definition at line 466 of file nstime.h.
References ns3::Time::Information::fromMul, ns3::int64x64_t::MulByInvert(), PeekInformation(), Time(), and ns3::Time::Information::timeFrom.
Create a Time equal to value in unit unit
.
[in] | value | The new Time value, expressed in unit |
[in] | unit | The unit of value |
unit
Definition at line 462 of file nstime.h.
References From().
Referenced by ns3::Days(), ns3::RttMeanDeviation::FloatingPointUpdate(), ns3::Hours(), ns3::Minutes(), ns3::TcpSocketBase::ReTxTimeout(), ns3::Seconds(), Time(), and ns3::Years().
Create a Time equal to value in unit unit
.
[in] | value | The new Time value, expressed in unit |
[in] | unit | The unit of value |
unit
Definition at line 449 of file nstime.h.
References ns3::Time::Information::factor, ns3::Time::Information::fromMul, PeekInformation(), and Time().
Referenced by ns3::FemtoSeconds(), ns3::MicroSeconds(), ns3::MilliSeconds(), ns3::NanoSeconds(), and ns3::PicoSeconds().
|
inline |
Get an approximation of the time stored in this instance in the indicated unit.
Definition at line 349 of file nstime.h.
References D, and ToDouble().
|
inline |
Get the raw time value, in the current resolution unit.
Definition at line 401 of file nstime.h.
References m_data.
Referenced by ns3::BsmApplication::StartApplication(), and ns3::TcpHtcp::UpdateBeta().
|
inline |
Get an approximation of the time stored in this instance in the indicated unit.
Definition at line 381 of file nstime.h.
References FS, and ToInteger().
Referenced by ns3::WifiPhy::GetPayloadDuration().
|
inline |
Get an approximation of the time stored in this instance in the indicated unit.
Definition at line 353 of file nstime.h.
References H, and ToDouble().
|
inline |
Get the raw time value, in the current resolution unit.
Definition at line 405 of file nstime.h.
References GetTimeStep().
Referenced by ns3::DistributedSimulatorImpl::CalculateLookAhead(), TimeSimpleTestCase::DoRun(), RttEstimatorTestCase::DoRun(), ns3::BsmApplication::GenerateWaveTraffic(), ns3::RttMeanDeviation::IntegerUpdate(), ns3::NullMessageMpiInterface::SendNullMessage(), ns3::GrantedTimeWindowMpiInterface::SendPacket(), ns3::NullMessageMpiInterface::SendPacket(), and ns3::BsmApplication::StartApplication().
|
inline |
Get an approximation of the time stored in this instance in the indicated unit.
Definition at line 369 of file nstime.h.
References ToInteger(), and US.
Referenced by ns3::dot11s::IeBeaconTiming::BeaconIntervalToU16(), ns3::WifiRemoteStationInfo::CalculateAveragingCoefficient(), CheckT1QueueSize(), CheckT2QueueSize(), CoDelQueueDiscBasicDrop::Dequeue(), CoDelQueueDiscBasicMark::Dequeue(), ns3::ApWifiMac::DoInitialize(), LrWpanSlottedCsmacaTestCase::DoRun(), ns3::dot11s::HwmpProtocol::GetActivePathLifetime(), ns3::ApWifiMac::GetEdcaParameterSet(), ns3::NscTcpL4Protocol::gettime(), Ns3TcpLossTestCase::Ipv4L3Tx(), Ns3TcpStateTestCase::Ipv4L3Tx(), Ns3TcpInteroperabilityTestCase::Ipv4L3Tx(), ns3::MinstrelWifiManager::PrintTable(), ns3::MeshWifiInterfaceMac::Receive(), ns3::dot11s::HwmpProtocol::ReceivePreq(), ns3::MeshWifiInterfaceMac::SendBeacon(), ns3::dot11s::HwmpProtocol::SendProactivePreq(), ns3::dot11s::PeerLink::SetBeaconInformation(), ns3::ApWifiMac::SetBeaconInterval(), ns3::ApWifiMac::SetCfpMaxDuration(), ns3::dot11s::PeerLink::SetConfirmTimer(), ns3::dot11s::PeerLink::SetHoldingTimer(), ns3::dot11s::PeerLink::SetRetryTimer(), ns3::Txop::SetTxopLimit(), ns3::MinstrelHtWifiManager::StatsDump(), ns3::dot11s::IeBeaconTiming::TimestampToU16(), ns3::MinstrelWifiManager::UpdateStats(), ns3::WifiPpdu::WifiPpdu(), and ns3::PcapFileWrapper::Write().
|
inline |
Get an approximation of the time stored in this instance in the indicated unit.
Definition at line 365 of file nstime.h.
References MS, and ToInteger().
Referenced by ThreeGppHttpClientServerTestSuite::AddHttpObjectTestCase(), ns3::DefaultChannelScheduler::AssignExtendedAccess(), ns3::TcpLedbat::CongestionAvoidance(), ns3::TraceFadingLossModel::DoCalcRxPowerSpectralDensity(), ns3::A3RsrpHandoverAlgorithm::DoInitialize(), ns3::LteRlcTm::DoReportBufferStatus(), ns3::LteRlcUm::DoReportBufferStatus(), ns3::LteRlcAm::DoReportBufferStatus(), LenaDataPhyErrorModelTestCase::DoRun(), LenaDlCtrlPhyErrorModelTestCase::DoRun(), LteUeMeasurementsHandoverTestCase::DoRun(), ns3::TcpOptionTS::ElapsedTimeFromTsValue(), ns3::LteSpectrumPhy::EndRxData(), ns3::LteUePhy::GenerateCqiRsrpRsrq(), ns3::ChannelCoordinator::GetIntervalTime(), LteHandoverTargetTestCase::HandoverStartCallback(), TcpVegasTest::IncreaseWindow(), ns3::TcpYeah::IncreaseWindow(), ns3::TraceFadingLossModel::LoadTrace(), JakesPropagationExample::Next(), ChannelCoordinationTestCase::NotifyCchStartNow(), ChannelCoordinationTestCase::NotifyGuardStartNow(), ChannelCoordinationTestCase::NotifySchStartNow(), ns3::TcpOptionTS::NowToTsValue(), PingRtt(), ns3::TcpLp::PktsAcked(), ns3::TcpYeah::PktsAcked(), TcpIllinoisTest::RecalcParam(), ns3::TcpHybla::RecalcParam(), ns3::TcpIllinois::RecalcParam(), ns3::V4TraceRoute::Receive(), ns3::V4Ping::Receive(), ns3::LteUePhy::ReceiveLteControlMessageList(), LteUeMeasurementsPiecewiseTestCase1::RecvMeasurementReportCallback(), LteUeMeasurementsPiecewiseTestCase2::RecvMeasurementReportCallback(), LteUeMeasurementsHandoverTestCase::RecvMeasurementReportCallback(), ns3::aodv::RrepHeader::RrepHeader(), ns3::aodv::RrepHeader::SetHello(), ns3::aodv::RrepHeader::SetLifeTime(), ns3::ChannelCoordinator::StartChannelCoordination(), ns3::LteEnbPhy::StartSubFrame(), ns3::WaveMacLow::StartTransmission(), and ChannelCoordinationTestCase::TestIntervalAfter().
|
inline |
Get an approximation of the time stored in this instance in the indicated unit.
Definition at line 357 of file nstime.h.
References MIN, and ToDouble().
|
inline |
Get an approximation of the time stored in this instance in the indicated unit.
Definition at line 373 of file nstime.h.
References NS, and ToInteger().
Referenced by ns3::BasicEnergySource::CalculateRemainingEnergy(), ns3::AcousticModemEnergyModel::ChangeState(), ns3::ThreeGppChannelModel::ChannelMatrixNeedsUpdate(), ns3::CoDelGetTime(), ns3::ConvertGuardIntervalToNanoSeconds(), ns3::MacStatsCalculator::DlScheduling(), ns3::LteRlcUm::DoReceivePdu(), ns3::LteRlcAm::DoReceivePdu(), ns3::LtePdcp::DoReceivePdu(), ns3::LteRlcSm::DoReceivePdu(), TimeSimpleTestCase::DoRun(), OcbWifiMacTestCase::DoRun(), TimeInputOutputTestCase::DoRun(), ns3::WifiPhy::EndReceive(), anonymous_namespace{sample-show-progress.cc}::Hold::Event(), ns3::WifiPhy::GetPayloadDuration(), ns3::WifiPhy::GetReceptionStatus(), ns3::WifiPpdu::GetTxDuration(), OcbWifiMacTestCase::MacAssoc(), SimulatorEventsTestCase::NowUs(), OcbWifiMacTestCase::PhyRxOkTrace(), OcbWifiMacTestCase::PhyTxTrace(), ns3::PhyStatsCalculator::ReportCurrentCellRsrpSinr(), ns3::PhyStatsCalculator::ReportInterference(), ns3::PhyStatsCalculator::ReportUeSinr(), ns3::RlcTag::Serialize(), ns3::PdcpTag::Serialize(), TimestampTag::Serialize(), ns3::WifiMacHeader::SetDuration(), ns3::CobaltQueueDisc::Time2CoDel(), ns3::CoDelQueueDisc::Time2CoDel(), ns3::Synchronizer::TimeStepToNanosecond(), ns3::MacStatsCalculator::UlScheduling(), ns3::BasicEnergyHarvester::UpdateHarvestedPower(), ns3::WifiPpdu::WifiPpdu(), ns3::PcapFileWrapper::Write(), ns3::RadioBearerStatsCalculator::WriteDlResults(), and ns3::RadioBearerStatsCalculator::WriteUlResults().
|
inline |
Get an approximation of the time stored in this instance in the indicated unit.
Definition at line 377 of file nstime.h.
References PS, and ToInteger().
|
static |
Definition at line 381 of file time.cc.
References PeekResolution(), and ns3::Time::Resolution::unit.
Referenced by ns3::DefaultTimePrinter(), and ns3::operator<<().
|
inline |
Get an approximation of the time stored in this instance in the indicated unit.
Definition at line 361 of file nstime.h.
References S, and ToDouble().
Referenced by ns3::dot11s::HwmpRtable::AddReactivePath(), ns3::dsr::DsrRouteCache::AddRoute_Link(), ns3::AsciiLrWpanMacTransmitSinkWithContext(), ns3::AsciiLrWpanMacTransmitSinkWithoutContext(), ns3::AsciiPhyReceiveSinkWithContext(), ns3::AsciiPhyReceiveSinkWithoutContext(), ns3::AsciiPhyRxOkEvent(), ns3::AsciiPhyTransmitSinkWithContext(), ns3::AsciiPhyTransmitSinkWithoutContext(), ns3::AsciiPhyTxEvent(), ns3::WimaxHelper::AsciiRxEvent(), ns3::WimaxHelper::AsciiTxEvent(), ns3::RandomWalk2dOutdoorMobilityModel::AvoidBuilding(), BackoffTrace(), ns3::SQLiteOutput::Bind(), BytesInQueueTrace(), ns3::ThreeGppSpectrumPropagationLossModel::CalcBeamformingGain(), ns3::InterferenceHelper::CalculateChunkSuccessRate(), ns3::SimpleOfdmWimaxPhy::CalculateDataRate(), ns3::PieQueueDisc::CalculateP(), ns3::InterferenceHelper::CalculatePayloadChunkSuccessRate(), ns3::LiIonEnergySource::CalculateRemainingEnergy(), TcpYeahDecrementTest::CalculateSsThresh(), CalculateThroughput(), ns3::MinstrelHtWifiManager::CalculateThroughput(), ns3::LteUeRrc::CancelEnteringTrigger(), ns3::LteUeRrc::CancelLeavingTrigger(), ns3::LrWpanCsmaCa::CanProceed(), ns3::AcousticModemEnergyModel::ChangeState(), ns3::WifiRadioEnergyModel::ChangeState(), ns3::FlowMonitor::CheckForLostPackets(), CheckQueueDiscSize(), CheckQueueSize(), LteX2HandoverMeasuresTestCase::CheckStats(), LteX2HandoverTestCase::CheckStatsAWhileAfterHandover(), CheckT1QueueSize(), CheckT2QueueSize(), ThreeGppHttpObjectTestCase::ClientRxDelayCallback(), ThreeGppHttpObjectTestCase::ClientRxRttCallback(), ns3::ThreeGppHttpServerTxBuffer::CloseAllSockets(), ns3::ThreeGppHttpServerTxBuffer::CloseSocket(), ns3::CobaltQueueDisc::CobaltShouldDrop(), ns3::UanMacRcGw::ComputeAlpha(), ns3::UanMacRcGw::ComputeExpS(), ComputeSnr(), BatteryLifetimeTest::ConstantLoadTest(), Ns2MobilityHelperTest::CourseChange(), WaypointMobilityModelNotifyTest::CourseChangeCallback(), ns3::AnimationInterface::CsmaPhyTxEndTrace(), CwndChange(), CwndTrace(), CwndTracer(), Ns3TcpLossTestCase::CwndTracer(), CwTrace(), LrWpanDataIfsTestCase::DataConfirm(), LrWpanDataIfsTestCase::DataReceived(), 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::AnimationInterface::DevTxTrace(), ns3::TraceFadingLossModel::DoCalcRxPowerSpectralDensity(), ns3::PieQueueDisc::DoDequeue(), ns3::CoDelQueueDisc::DoDequeue(), ns3::SimpleOfdmWimaxPhy::DoGetFrameDurationCode(), ns3::SimpleOfdmWimaxPhy::DoGetNrBytes(), ns3::SimpleOfdmWimaxPhy::DoGetNrSymbols(), ns3::dot11s::HwmpProtocol::DoInitialize(), ns3::MeshWifiInterfaceMac::DoInitialize(), ns3::Rip::DoInitialize(), ns3::RipNg::DoInitialize(), TcpHyblaIncrementTest::DoRun(), TcpVenoTest::DoRun(), LteRadioLinkFailureTestCase::DoRun(), TimeWithSignTestCase::DoRun(), ns3::SimpleOfdmWimaxPhy::DoSetPhyParameters(), ns3::RandomWalk2dMobilityModel::DoWalk(), ns3::RandomWalk2dOutdoorMobilityModel::DoWalk(), ns3::GaussMarkovMobilityModel::DoWalk(), ns3::PieQueueDisc::DropEarly(), DroppingStateTracer(), LteHandoverDelayTestCase::EnbHandoverEndOkCallback(), EnbRrcTimeout(), ns3::LteChunkProcessor::End(), ns3::BaseStationNetDevice::EndDlSubFrame(), ns3::BaseStationNetDevice::EndUlSubFrame(), ns3::ThreeGppHttpClient::EnterParsingTime(), ns3::ThreeGppHttpClient::EnterReadingTime(), ns3::TcpWestwood::EstimateBW(), ns3::LteChunkProcessor::EvaluateChunk(), ns3::ShannonSpectrumErrorModel::EvaluateChunk(), EveryDropTracer(), anonymous_namespace{sample-simulator.cc}::ExampleFunction(), ns3::dsr::DsrRouteCache::FindSameRoute(), ns3::SpectrumAnalyzer::GenerateReport(), ns3::TcpRateLinux::GenerateSample(), GenerateTraffic(), ns3::UanMacRcGw::GetExpPdk(), ns3::dsdv::RoutingProtocol::GetSettlingTime(), ns3::LrWpanCsmaCa::GetTimeToNextSlot(), ns3::SimpleDeviceEnergyModel::GetTotalEnergyConsumption(), ns3::WifiRadioEnergyModel::GetTotalEnergyConsumption(), ns3::JakesProcess::Oscillator::GetValueAt(), GoodputSampling(), anonymous_namespace{sample-simulator.cc}::MyModel::HandleEvent(), Ipv4DynamicGlobalRoutingTestCase::HandleRead(), TcpYeahIncrementTest::IncreaseWindow(), ns3::TcpVegas::IncreaseWindow(), ns3::TcpVeno::IncreaseWindow(), ns3::TcpYeah::IncreaseWindow(), ns3::dsr::DsrRouteCache::IncStability(), InFlightTracer(), ns3::RedQueueDisc::InitializeParams(), ns3::SubscriberStationNetDevice::InitSubscriberStationNetDevice(), ns3::RraaWifiManager::InitThresholds(), ns3::RrpaaWifiManager::InitThresholds(), ns3::aodv::RoutingTableEntry::Invalidate(), ns3::Ipv4L3ProtocolDropSinkWithContext(), ns3::Ipv4L3ProtocolDropSinkWithoutContext(), ns3::Ipv4L3ProtocolRxSinkWithContext(), ns3::Ipv4L3ProtocolRxSinkWithoutContext(), ns3::Ipv4L3ProtocolTxSinkWithContext(), ns3::Ipv4L3ProtocolTxSinkWithoutContext(), ns3::Ipv6L3ProtocolDropSinkWithContext(), ns3::Ipv6L3ProtocolDropSinkWithoutContext(), ns3::Ipv6L3ProtocolRxSinkWithContext(), ns3::Ipv6L3ProtocolRxSinkWithoutContext(), ns3::Ipv6L3ProtocolTxSinkWithContext(), ns3::Ipv6L3ProtocolTxSinkWithoutContext(), ns3::ArpCache::Entry::IsExpired(), LimitsTrace(), ns3::olsr::RoutingProtocol::LinkSensing(), MacRxTrace(), LrWpanDataIfsTestCase::MacState(), MacTxTrace(), ns3::aodv::RoutingTable::MarkLinkAsUnidirectional(), ns3::BaseStationNetDevice::MarkUplinkAllocations(), ns3::LrWpanMac::McpsDataRequest(), modify(), NextRxTracer(), NextTxTracer(), NotifyConnectionEstablishedEnb(), NotifyConnectionEstablishedUe(), NotifyConnectionTimeoutUe(), NotifyHandoverEndOkEnb(), NotifyHandoverEndOkUe(), NotifyHandoverStartEnb(), NotifyHandoverStartUe(), NotifyRandomAccessErrorUe(), NotifyRaResponseTimeoutUe(), NotifyViaTraceSource(), ns3::operator*(), ns3::operator<<(), LrWpanCcaTestCase::PhyRxBegin(), LrWpanCcaTestCase::PhyRxDrop(), LrWpanCcaTestCase::PhyRxEnd(), PhyStateTrace(), PhySyncDetection(), LrWpanCcaTestCase::PhyTxBegin(), LrWpanCcaTestCase::PhyTxEnd(), PhyTxTrace(), ns3::TcpHtcp::PktsAcked(), LrWpanCcaTestCase::PlmeCcaConfirm(), ns3::TcpTxItem::Print(), ns3::SeqTsHeader::Print(), ns3::ThreeGppHttpHeader::Print(), ns3::UanHeaderRcData::Print(), ns3::UanHeaderRcRts::Print(), ns3::dsdv::RoutingTableEntry::Print(), ns3::UanHeaderRcCtsGlobal::Print(), ns3::UanHeaderRcCts::Print(), ns3::Ipv4RoutingHelper::PrintArpCache(), ns3::Ipv4RoutingHelper::PrintArpCacheEvery(), PrintCellInfo(), PrintFairness(), IpAddressHelper::PrintIpAddresses(), ns3::Ipv6RoutingHelper::PrintNdiscCache(), ns3::Ipv6RoutingHelper::PrintNdiscCacheEvery(), PrintProgress(), PrintReceivedPacket(), PrintReceivedRoutingPacket(), PrintThroughput(), ns3::UplinkSchedulerMBQoS::ProcessBandwidthRequest(), ns3::AnimationInterface::PurgePendingPackets(), ns3::LrWpanCsmaCa::RandomBackoffDelay(), anonymous_namespace{sample-simulator.cc}::RandomFunction(), ns3::RandomWalk2dOutdoorMobilityModel::Rebound(), WaveNetDeviceExample::Receive(), WaveNetDeviceExample::ReceiveVsa(), ns3::ThreeGppHttpServerTxBuffer::RecordNextServe(), ns3::dsdv::RoutingProtocol::RecvDsdv(), RemainingEnergyTrace(), ns3::ThreeGppHttpServerTxBuffer::RemoveSocket(), anonymous_namespace{sample-log-time-format.cc}::ReplacementTimePrinter(), ns3::dot11s::PeerLink::Report(), ns3::dot11s::HwmpProtocol::Report(), ns3::flame::FlameProtocol::Report(), ns3::MeshWifiInterfaceMac::Report(), ns3::MeshHelper::Report(), ns3::FlowMonitor::ReportLastRx(), SampleEmitter::Reschedule(), NetAnimExperiment::ResetData(), Experiment::ResetData(), ns3::TcpSocketBase::ReTxTimeout(), TcpBytesInFlightTest::RTOExpired(), RtoTracer(), ns3::RttEstimator::RttEstimator(), TcpRttEstimationTest::RttTrace(), RttTracer(), ns3::RvBatteryModel::RvModelAFunction(), TcpZeroWindowTest::Rx(), RxEvent(), ns3::aodv::RoutingProtocol::ScheduleRreqRetry(), ns3::dsr::DsrRouting::ScheduleRreqRetry(), ns3::DhcpServer::SendAck(), ns3::DhcpServer::SendOffer(), ns3::TcpGeneralTest::SendPacket(), ns3::aodv::RoutingProtocol::SendRerrMessage(), ns3::aodv::RoutingProtocol::SendRerrWhenNoRouteToForward(), ns3::Rip::SendTriggeredRouteUpdate(), ns3::RipNg::SendTriggeredRouteUpdate(), ns3::Rip::SendUnsolicitedRouteUpdate(), ns3::RipNg::SendUnsolicitedRouteUpdate(), ns3::UanHeaderRcData::Serialize(), ns3::UanHeaderRcRts::Serialize(), ns3::UanHeaderRcCtsGlobal::Serialize(), ns3::UanHeaderRcCts::Serialize(), ns3::dot11s::PeerLink::SetBeaconInformation(), ns3::ThreeGppHttpHeader::SetClientTs(), ns3::SimpleDeviceEnergyModel::SetCurrentA(), ns3::ThreeGppHttpVariables::SetEmbeddedObjectGenerationDelay(), ns3::olsr::MessageHeader::Hello::SetHTime(), ns3::PointToPointNetDevice::SetInterframeGap(), ns3::ThreeGppHttpVariables::SetMainObjectGenerationDelay(), ns3::ThreeGppHttpVariables::SetParsingTimeMean(), ns3::ThreeGppHttpVariables::SetReadingTimeMean(), ns3::ThreeGppHttpHeader::SetServerTs(), ns3::DhcpHeader::SetTime(), NodeStatistics::SetupPhy(), ns3::TimeProbe::SetValue(), ns3::TimeProbe::SetValueByPath(), ns3::olsr::MessageHeader::SetVTime(), showPosition(), SocketPrinter(), SocketSendTrace(), SsThreshTracer(), ns3::FlowMonitor::Start(), ns3::dsr::DsrRouting::Start(), ns3::UanMacRcGw::StartCycle(), ns3::BaseStationNetDevice::StartDlSubFrame(), Ns3TcpLossTestCase::StartFlow(), Ns3TcpStateTestCase::StartFlow(), ns3::BaseStationNetDevice::StartFrame(), ns3::BaseStationNetDevice::StartUlSubFrame(), NodeStatistics::StateCallback(), StateChangeNotification(), ns3::FlowMonitor::Stop(), ns3::UanPdp::SumTapsC(), ns3::UanPdp::SumTapsFromMaxC(), ns3::UanPdp::SumTapsFromMaxNc(), ns3::UanPdp::SumTapsNc(), TestDeterministicByTime(), Throughput(), ns3::TimeProbe::TraceSink(), ns3::CsmaNetDevice::TransmitCompleteEvent(), ns3::CsmaChannel::TransmitEnd(), ns3::PointToPointNetDevice::TransmitStart(), ns3::CsmaNetDevice::TransmitStart(), TcpZeroWindowTest::Tx(), LteHandoverDelayTestCase::UeHandoverEndOkCallback(), UeStateTransition(), ns3::ConstantVelocityHelper::Update(), ns3::TcpHtcp::UpdateAlpha(), ns3::TcpLedbat::UpdateBaseDelay(), ns3::BasicEnergyHarvester::UpdateHarvestedPower(), BatteryLifetimeTest::VariableLoadTest(), ns3::WriteAveragePowerSpectralDensityReport(), Ns3TcpStateTestCase::WriteUntilBufferFull(), and Ns3TcpLossTestCase::WriteUntilBufferFull().
|
inline |
Get the raw time value, in the current resolution unit.
Definition at line 397 of file nstime.h.
References m_data.
Referenced by ns3::LrWpanPhy::EndEd(), ns3::LrWpanPhy::EndRx(), ns3::WaveformGenerator::GenerateWaveform(), GetInteger(), ns3::Radvd::HandleRead(), ns3::Synchronizer::NanosecondToTimeStep(), ns3::DistributedSimulatorImpl::NextTs(), ns3::OmnetDataOutput::OmnetOutputCallback::OutputSingleton(), ns3::SqliteDataOutput::SqliteOutputCallback::OutputSingleton(), ns3::RealtimeSimulatorImpl::ProcessOneEvent(), ns3::NullMessageSimulatorImpl::Schedule(), ns3::DefaultSimulatorImpl::Schedule(), ns3::RealtimeSimulatorImpl::Schedule(), ns3::DistributedSimulatorImpl::Schedule(), ns3::RealtimeSimulatorImpl::ScheduleRealtimeWithContext(), ns3::NullMessageSimulatorImpl::ScheduleWithContext(), ns3::DefaultSimulatorImpl::ScheduleWithContext(), ns3::RealtimeSimulatorImpl::ScheduleWithContext(), ns3::DistributedSimulatorImpl::ScheduleWithContext(), ns3::NullMessageMpiInterface::SendNullMessage(), ns3::GrantedTimeWindowMpiInterface::SendPacket(), ns3::NullMessageMpiInterface::SendPacket(), AnnexC_TestCase::SendPacket(), ChannelAccessTestCase::SendX(), ns3::DelayJitterEstimationTimestampTag::Serialize(), ns3::AmpduTag::Serialize(), ns3::SeqTsEchoHeader::Serialize(), ns3::ThreeGppHttpHeader::SetClientTs(), ns3::ThreeGppHttpHeader::SetServerTs(), ns3::LrWpanPhy::StartRx(), ns3::NullMessageSimulatorImpl::Stop(), ns3::DefaultSimulatorImpl::Stop(), ns3::DistributedSimulatorImpl::Stop(), and ns3::DesMetrics::TraceWithContext().
|
inline |
Get an approximation of the time stored in this instance in the indicated unit.
Definition at line 345 of file nstime.h.
References ToDouble(), and Y.
|
inline |
true
if the time is negative or zero, false
otherwise. Definition at line 299 of file nstime.h.
References m_data.
Referenced by ns3::MacLow::IsWithinSizeAndTimeLimits().
|
inline |
true
if the time is positive or zero, false
otherwise. Definition at line 304 of file nstime.h.
References m_data.
Referenced by ns3::BasicEnergySource::CalculateRemainingEnergy(), ns3::WifiRadioEnergyModel::ChangeState(), ns3::MacLow::GetRemainingCfpDuration(), ns3::WifiRadioEnergyModel::GetTotalEnergyConsumption(), ns3::TcpLedbat::PktsAcked(), ns3::DefaultSimulatorImpl::Schedule(), ns3::RealtimeSimulatorImpl::Schedule(), ns3::MacLow::SendAckAfterData(), ns3::MacLow::SendBlockAckResponse(), ns3::MacLow::SendCtsAfterRts(), ns3::MacLow::SendDataAfterCts(), ns3::MacLow::StartTransmission(), and ThreeGppHttpObjectTestCase::ThreeGppHttpObjectTestCase().
|
inline |
true
if the time is strictly negative, false
otherwise. Definition at line 309 of file nstime.h.
References m_data.
Referenced by ns3::QosTxop::GetTxopRemaining().
|
inline |
true
if the time is strictly positive, false
otherwise. Definition at line 314 of file nstime.h.
References m_data.
Referenced by ns3::MacLow::IsCfPeriod(), ns3::MacLow::IsWithinSizeAndTimeLimits(), ns3::WifiPhyStateHelper::LogPreviousIdleAndCcaBusyStates(), ns3::QosTxop::NeedFragmentation(), ns3::QosTxop::NotifyAccessGranted(), ns3::MacLow::ReceiveOk(), ns3::Ipv4L3Protocol::RemoveDuplicates(), ns3::MacLow::RxStartIndication(), ns3::WifiPhy::Send(), ns3::MacLow::StartDataTxTimers(), ns3::MacLow::StartTransmission(), ns3::Ipv4L3Protocol::UpdateDuplicate(), and ns3::ConstantWifiAckPolicySelector::UpdateTxParams().
|
inline |
true
if the time is zero, false
otherwise. Definition at line 294 of file nstime.h.
References m_data.
Referenced by ns3::InterferenceHelper::CalculateChunkSuccessRate(), ns3::InterferenceHelper::CalculatePayloadChunkSuccessRate(), ns3::ThreeGppChannelModel::ChannelMatrixNeedsUpdate(), ns3::TcpWestwood::EstimateBW(), ns3::TcpSocketBase::EstimateRtt(), ns3::ThreeGppChannelConditionModel::GetChannelCondition(), ns3::QosTxop::GetTxopFragmentSize(), ns3::WifiPhy::MaybeCcaBusyDuration(), ns3::LrWpanMac::PdDataConfirm(), ns3::TcpLp::PktsAcked(), ns3::TcpVegas::PktsAcked(), ns3::TcpWestwood::PktsAcked(), ns3::TcpVeno::PktsAcked(), ns3::TcpYeah::PktsAcked(), ns3::TcpIllinois::PktsAcked(), ns3::ThreeGppHttpClient::ReceiveEmbeddedObject(), ns3::ThreeGppHttpClient::ReceiveMainObject(), ns3::UanPdp::SumTapsFromMaxC(), ns3::UanPdp::SumTapsFromMaxNc(), and ns3::WifiPhy::SwitchMaybeToCcaBusy().
|
staticprivate |
Record a Time instance with the MarkedTimes.
[in] | time | The Time instance to record. |
Definition at line 288 of file time.cc.
References g_markingTimes, GetMarkingMutex(), NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_LOGIC(), and NS_LOG_WARN.
Referenced by Time().
|
inlinestatic |
Maximum representable Time.
Definition at line 279 of file nstime.h.
Referenced by ns3::TcpVegas::EnableVegas(), ns3::TcpVeno::EnableVeno(), ns3::TcpYeah::EnableYeah(), ns3::TcpHtcp::GetSsThresh(), ns3::ArpCache::Entry::GetTimeout(), ns3::CoDelQueueDisc::GetTypeId(), ns3::FqCoDelQueueDisc::GetTypeId(), ns3::TcpVegas::IncreaseWindow(), ns3::TcpVeno::IncreaseWindow(), ns3::TcpYeah::IncreaseWindow(), ns3::MakeTimeChecker(), and ns3::TcpRateLinux::SkbDelivered().
|
inlinestatic |
Minimum representable Time.
Definition at line 271 of file nstime.h.
Referenced by ns3::TcpHtcp::GetSsThresh(), ns3::TcpBic::GetSsThresh(), ns3::MacLow::IsWithinSizeAndTimeLimits(), ns3::MakeTimeChecker(), ns3::QosTxop::NotifyAccessGranted(), ns3::MacLow::StartTransmission(), and ns3::TcpBic::Update().
|
inlinestaticprivate |
Get the Information record for timeUnit for the current Resolution.
[in] | timeUnit | The Unit to get Information for |
Definition at line 586 of file nstime.h.
References ns3::Time::Resolution::info, and PeekResolution().
Referenced by From(), FromInteger(), To(), and ToInteger().
|
inlinestaticprivate |
Get the current Resolution.
Definition at line 575 of file nstime.h.
References SetDefaultNsResolution().
Referenced by GetResolution(), PeekInformation(), and SetResolution().
|
staticprivate |
Set the default resolution.
Definition at line 170 of file time.cc.
References NS, NS_LOG_FUNCTION_NOARGS, and SetResolution().
Referenced by PeekResolution().
|
static |
[in] | resolution | The new resolution to use |
Change the global resolution used to convert all user-provided time values in Time objects and Time objects in user-expected time units.
Definition at line 180 of file time.cc.
References NS_LOG_FUNCTION, and PeekResolution().
Referenced by SetDefaultNsResolution().
|
staticprivate |
Set the current Resolution.
[in] | unit | The unit to use as the new resolution. |
[in,out] | resolution | The Resolution record to update. |
[in] | convert | Whether to convert existing Time objects to the new resolution. |
Definition at line 189 of file time.cc.
References ConvertTimes(), ns3::Time::Information::factor, ns3::Time::Information::fromMul, ns3::Time::Resolution::info, ns3::int64x64_t::Invert(), LAST, NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::Time::Information::timeFrom, ns3::Time::Information::timeTo, ns3::Time::Information::toMul, and ns3::Time::Resolution::unit.
|
static |
Function to force static initialization of Time.
true
on the first call Definition at line 63 of file time.cc.
References g_markingTimes, GetMarkingMutex(), and NS_LOG_ERROR.
|
inline |
Get the Time value expressed in a particular unit.
[in] | unit | The desired unit |
Definition at line 515 of file nstime.h.
References m_data, ns3::int64x64_t::MulByInvert(), PeekInformation(), ns3::Time::Information::timeTo, and ns3::Time::Information::toMul.
Referenced by ns3::OnOffApplication::CancelEvents(), ns3::operator<<(), and ToDouble().
|
inline |
Get the Time value expressed in a particular unit.
[in] | unit | The desired unit |
Definition at line 511 of file nstime.h.
References ns3::int64x64_t::GetDouble(), and To().
Referenced by ns3::RttMeanDeviation::FloatingPointUpdate(), GetDays(), GetHours(), GetMinutes(), GetSeconds(), GetYears(), Ipv4DeduplicationTest::MakeName(), ns3::CoDelQueueDisc::OkToDrop(), ns3::MacLow::RxStartIndication(), and SojournTimeTrace().
|
inline |
Get the Time value expressed in a particular unit.
[in] | unit | The desired unit |
Definition at line 497 of file nstime.h.
References ns3::Time::Information::factor, m_data, PeekInformation(), and ns3::Time::Information::toMul.
Referenced by ConvertTimes(), GetFemtoSeconds(), GetMicroSeconds(), GetMilliSeconds(), GetNanoSeconds(), and GetPicoSeconds().
|
related |
Definition at line 54 of file time.cc.
Referenced by Clear(), ClearMarkedTimes(), ConvertTimes(), Mark(), and StaticInit().
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
staticprivate |
Record of outstanding Time objects which will need conversion when the resolution is set.
Use a classic static variable so we can check in Time ctors without a function call.
We'd really like to initialize this here, but we don't want to require C++0x, so we init in time.cc. To ensure that happens before first use, we add a call to StaticInit (below) to every compilation unit which includes nstime.h.
Definition at line 641 of file nstime.h.
Referenced by Clear(), ClearMarkedTimes(), ConvertTimes(), Mark(), StaticInit(), Time(), and ~Time().
|
private |
Virtual time value, in the current unit.
Definition at line 731 of file nstime.h.
Referenced by ns3::Abs(), Compare(), ConvertTimes(), GetDouble(), GetTimeStep(), IsNegative(), IsPositive(), IsStrictlyNegative(), IsStrictlyPositive(), IsZero(), ns3::Max(), ns3::Min(), ns3::operator!=(), ns3::operator*(), ns3::operator+(), ns3::operator+=(), ns3::operator-(), ns3::operator-=(), ns3::operator/(), ns3::operator<(), ns3::operator<=(), operator=(), ns3::operator==(), ns3::operator>(), ns3::operator>=(), To(), and ToInteger().