#include <data-rate.h>
Public Member Functions | |
DataRate (uint64_t bps) | |
Integer constructor. | |
double | CalculateTxTime (uint32_t bytes) const |
Calculate transmission time. | |
uint64_t | GetBitRate () const |
Allows for natural and familiar use of data rates. Allows construction from strings, natural multiplication e.g.:
DataRate x("56kbps"); double nBits = x*ns3::Seconds(19.2); uint32_t nBytes = 20; double txtime = x.CalclulateTxTime(nBytes);
Conventions used: "b" stands for bits, "B" for bytes (8 bits)
"k" stands for 1000, "K" also stands for 1000, "Ki" stands for 1024
"M" stand for 1000000, "Mib" stands for 1024 kibibits, or 1048576 bits
"G" stand for 10^9, "Gib" stands for 1024 mebibits
whitespace is allowed but not required between the numeric value and units
Supported unit strings: bps, b/s, Bps, B/s
kbps, kb/s, Kbps, Kb/s, kBps, kB/s, KBps, KB/s, Kib/s, KiB/s
Mbps, Mb/s, MBps, MB/s, Mib/s, MiB/s
Gbps, Gb/s, GBps, GB/s, Gib/s, GiB/s
Examples: "56kbps" = 56,000 bits/s
"128 kb/s" = 128,000 bits/s
"8Kib/s" = 1 KiB/s = 8192 bits/s
"1kB/s" = 8000 bits/s
ns3::DataRate::DataRate | ( | uint64_t | bps | ) |
Integer constructor.
Construct a data rate from an integer. This class only supports positive integer data rates in units of bits/s, meaning 1bit/s is the smallest non-trivial bitrate availiable.
double ns3::DataRate::CalculateTxTime | ( | uint32_t | bytes | ) | const |
Calculate transmission time.
Calculates the transmission time at this data rate
bytes | The number of bytes (not bits) for which to calculate |
uint64_t ns3::DataRate::GetBitRate | ( | ) | const |
Get the underlying bitrate