Execute a function periodically, which takes more or less time to run. More...
Public Member Functions | |
Hold (Ptr< RandomVariableStream > rng) | |
Create a hold with a specified random number generator for the wait time. More... | |
Hold (Time wait, Time interval) | |
Create a Hold with mean inter-event time wait, changing workload every interval. More... | |
void | Event (void) |
The Hold event. More... | |
Public Member Functions inherited from ns3::SimpleRefCount< Hold > | |
SimpleRefCount () | |
Default constructor. More... | |
SimpleRefCount (const SimpleRefCount &o[[maybe_unused]]) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= ([[maybe_unused]] const SimpleRefCount &o) |
Assignment operator. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
Private Attributes | |
Time | m_interval |
Time between switching workloads. More... | |
Ptr< RandomVariableStream > | m_rng |
The random number generator for the interval between events. More... | |
Time | m_wait |
Mean inter-event time. More... | |
Execute a function periodically, which takes more or less time to run.
Inspired by PHOLD.
Definition at line 54 of file sample-show-progress.cc.
Create a Hold with mean inter-event time wait, changing workload every interval.
wait | The mean inter-event time. |
interval | How often to change work load. This should be an order of magnitude larger than wait. |
Definition at line 65 of file sample-show-progress.cc.
|
inline |
Create a hold with a specified random number generator for the wait time.
The RNG value will be interpreted as seconds.
rng | The random variable generator to use for the inter-event time. |
Definition at line 79 of file sample-show-progress.cc.
|
inline |
The Hold event.
Definition at line 84 of file sample-show-progress.cc.
References ns3::int64x64_t::GetHigh(), ns3::Time::GetNanoSeconds(), ns3::Simulator::Now(), NS_LOG_LOGIC, ns3::Simulator::Schedule(), and ns3::Seconds().
|
private |
Time between switching workloads.
Definition at line 105 of file sample-show-progress.cc.
|
private |
The random number generator for the interval between events.
Definition at line 101 of file sample-show-progress.cc.
|
private |
Mean inter-event time.
Definition at line 103 of file sample-show-progress.cc.