Execute a function periodically, which takes more or less time to run. More...
Inheritance diagram for anonymous_namespace{sample-show-progress.cc}::Hold:
Collaboration diagram for anonymous_namespace{sample-show-progress.cc}::Hold: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 53 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 63 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 77 of file sample-show-progress.cc.
|
inline |
The Hold event.
Definition at line 83 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().
Here is the call graph for this function:
|
private |
Time between switching workloads.
Definition at line 104 of file sample-show-progress.cc.
|
private |
The random number generator for the interval between events.
Definition at line 100 of file sample-show-progress.cc.
|
private |
Mean inter-event time.
Definition at line 102 of file sample-show-progress.cc.