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. | |
Hold (Time wait, Time interval) | |
Create a Hold with mean inter-event time wait , changing workload every interval . | |
void | Event () |
The Hold event. | |
Public Member Functions inherited from ns3::SimpleRefCount< Hold > | |
SimpleRefCount () | |
Default constructor. | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. | |
void | Ref () const |
Increment the reference count. | |
void | Unref () const |
Decrement the reference count. | |
Private Attributes | |
Time | m_interval |
Time between switching workloads. | |
Ptr< RandomVariableStream > | m_rng |
The random number generator for the interval between events. | |
Time | m_wait |
Mean inter-event time. | |
Execute a function periodically, which takes more or less time to run.
Inspired by PHOLD.
Definition at line 42 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 52 of file sample-show-progress.cc.
References ns3::CreateObject().
|
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 66 of file sample-show-progress.cc.
|
inline |
The Hold event.
Definition at line 72 of file sample-show-progress.cc.
References Event(), ns3::int64x64_t::GetHigh(), ns3::Time::GetNanoSeconds(), ns3::Simulator::Now(), NS_LOG_LOGIC, ns3::Simulator::Schedule(), and ns3::Seconds().
Referenced by Event().
|
private |
Time between switching workloads.
Definition at line 93 of file sample-show-progress.cc.
|
private |
The random number generator for the interval between events.
Definition at line 89 of file sample-show-progress.cc.
|
private |
Mean inter-event time.
Definition at line 91 of file sample-show-progress.cc.