OutputManager class
The OutputManager interface for storing the simulation data.
The class is born with the objective of providing an unified interface to an output device. The class is optimized for the need of the examples provided in the nr-u module, but it can be extended to support more traces.
The idea here is that the methods here should be connected to the right trace sources, so that every time it fires, a value is written in the output device. We support functions to write the SINR of a packet, the number of bytes which failed at MAC level, the occupancy rate, and the e2e statistics. Then, we also support the number of times that two technologies occupied the channel at the same time.
Please remember to correctly close the output manager by calling Close().
Derived classes
- class FileOutputManager
- Store the values in files.
- class SqliteOutputManager
- Output manager that stores data in a database.
Constructors, destructors, conversion operators
- ~OutputManager() virtual
- OutputManager destructor.
Public functions
- void Close() pure virtual
- Correctly close the output manager.
- void MacDataTxFailed(uint32_t nodeId, uint32_t bytes) pure virtual
- Store the transmission failed at MAC level.
- void SimultaneousTxOtherTechnology(uint32_t nodeId) pure virtual
- Indicates that there is a simultaneuous transmission with another technology.
- void SinrStore(uint32_t nodeId, double sinr) pure virtual
- Store a SINR value.
- void StoreChannelOccupancyRateFor(const std::string& technology, double value) pure virtual
- Store the Technology occupancy rate.
- void StoreE2EStatsFor(const std::string& technology, double throughput, uint32_t txBytes, uint32_t rxBytes, double meanDelay, double meanJitter, const std::string& addr) pure virtual
- Store the E2E stats.
Function documentation
void ns3:: OutputManager:: MacDataTxFailed(uint32_t nodeId,
uint32_t bytes) pure virtual
Store the transmission failed at MAC level.
| Parameters | |
|---|---|
| nodeId | Node id |
| bytes | Bytes that failed at MAC level |
void ns3:: OutputManager:: SimultaneousTxOtherTechnology(uint32_t nodeId) pure virtual
Indicates that there is a simultaneuous transmission with another technology.
| Parameters | |
|---|---|
| nodeId | ID of the node |
Each call to this method will be counted as one simultaneous transmission.
void ns3:: OutputManager:: SinrStore(uint32_t nodeId,
double sinr) pure virtual
Store a SINR value.
| Parameters | |
|---|---|
| nodeId | Node id |
| sinr | Value of SINR in dB |
void ns3:: OutputManager:: StoreChannelOccupancyRateFor(const std::string& technology,
double value) pure virtual
Store the Technology occupancy rate.
| Parameters | |
|---|---|
| technology | name of the technology |
| value | Channel occupancy rate (between 0 and 1) |
void ns3:: OutputManager:: StoreE2EStatsFor(const std::string& technology,
double throughput,
uint32_t txBytes,
uint32_t rxBytes,
double meanDelay,
double meanJitter,
const std::string& addr) pure virtual
Store the E2E stats.
| Parameters | |
|---|---|
| technology | Technology name |
| throughput | throughput |
| txBytes | Transmitted bytes |
| rxBytes | Received bytes |
| meanDelay | Average delay (per packet) |
| meanJitter | Average jitter (per packet) |
| addr | Destination address |