A Discrete-Event Network Simulator
API
anonymous_namespace{sample-show-progress.cc}::Hold Class Reference

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. More...
 
 Hold (Time wait, Time interval)
 Create a Hold with mean inter-event time wait, changing workload every interval. More...
 
void Event ()
 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 () const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o[[maybe_unused]])
 Assignment operator. More...
 
void Ref () const
 Increment the reference count. More...
 
void Unref () const
 Decrement the reference count. More...
 

Private Attributes

Time m_interval
 Time between switching workloads. More...
 
Ptr< RandomVariableStreamm_rng
 The random number generator for the interval between events. More...
 
Time m_wait
 Mean inter-event time. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ Hold() [1/2]

anonymous_namespace{sample-show-progress.cc}::Hold::Hold ( Time  wait,
Time  interval 
)
inline

Create a Hold with mean inter-event time wait, changing workload every interval.

Parameters
waitThe mean inter-event time.
intervalHow 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.

◆ Hold() [2/2]

anonymous_namespace{sample-show-progress.cc}::Hold::Hold ( Ptr< RandomVariableStream rng)
inline

Create a hold with a specified random number generator for the wait time.

The RNG value will be interpreted as seconds.

Parameters
rngThe random variable generator to use for the inter-event time.

Definition at line 77 of file sample-show-progress.cc.

Member Function Documentation

◆ Event()

void anonymous_namespace{sample-show-progress.cc}::Hold::Event ( )
inline

Member Data Documentation

◆ m_interval

Time anonymous_namespace{sample-show-progress.cc}::Hold::m_interval
private

Time between switching workloads.

Definition at line 104 of file sample-show-progress.cc.

◆ m_rng

Ptr<RandomVariableStream> anonymous_namespace{sample-show-progress.cc}::Hold::m_rng
private

The random number generator for the interval between events.

Definition at line 100 of file sample-show-progress.cc.

◆ m_wait

Time anonymous_namespace{sample-show-progress.cc}::Hold::m_wait
private

Mean inter-event time.

Definition at line 102 of file sample-show-progress.cc.


The documentation for this class was generated from the following file: