Class for representing queue sizes. More...
#include "queue-size.h"
 Collaboration diagram for ns3::QueueSize:
 Collaboration diagram for ns3::QueueSize:| Public Member Functions | |
| QueueSize () | |
| QueueSize (QueueSizeUnit unit, uint32_t value) | |
| Integer constructor. | |
| QueueSize (std::string size) | |
| String constructor. | |
| QueueSizeUnit | GetUnit () const | 
| Get the underlying unit. | |
| uint32_t | GetValue () const | 
| Get the underlying value. | |
| bool | operator!= (const QueueSize &rhs) const | 
| bool | operator< (const QueueSize &rhs) const | 
| bool | operator<= (const QueueSize &rhs) const | 
| bool | operator== (const QueueSize &rhs) const | 
| bool | operator> (const QueueSize &rhs) const | 
| bool | operator>= (const QueueSize &rhs) const | 
| Static Private Member Functions | |
| static bool | DoParse (const std::string s, QueueSizeUnit *unit, uint32_t *value) | 
| Parse a string representing a QueueSize. | |
| Private Attributes | |
| QueueSizeUnit | m_unit | 
| unit | |
| uint32_t | m_value | 
| queue size [bytes or packets] | |
| Friends | |
| std::istream & | operator>> (std::istream &is, QueueSize &size) | 
| Stream extraction operator. | |
Class for representing queue sizes.
Allows for natural and familiar use of queue sizes. Allows construction from strings, natural sum e.g.:
 This class also supports the regular comparison operators <, >, <=, >=, ==, and != 
Queue size specifiers consist of
Whitespace is allowed but not required between the numeric value and multiplier or unit.
Supported multiplier prefixes:
| Prefix | Value | 
|---|---|
| "k", "K" | 1000 | 
| "Ki" | 1024 | 
| "M" | 1000000 | 
| "Mi" | 1024 Ki | 
Supported unit strings:
| Symbol | Meaning | 
|---|---|
| "B" | 8-bit bytes | 
| "p" | packets | 
Examples:
Definition at line 84 of file queue-size.h.
| ns3::QueueSize::QueueSize | ( | ) | 
Definition at line 102 of file queue-size.cc.
References NS_LOG_FUNCTION.
| ns3::QueueSize::QueueSize | ( | QueueSizeUnit | unit, | 
| uint32_t | value ) | 
Integer constructor.
Construct a queue size from a mode and a value.
| unit | whether the value is expressed in terms of packets or bytes | 
| value | the value | 
Definition at line 109 of file queue-size.cc.
References NS_LOG_FUNCTION.
| ns3::QueueSize::QueueSize | ( | std::string | size | ) | 
String constructor.
Construct a queue size from a string. Many different unit strings are supported Supported unit strings: B, p 
kB, KB, KiB, kp, Kp, Kip 
MB, MiB, Mp, Mip 
 Examples: "56kB" = 56,000 bytes "128 kB" = 128,000 bytes "8KiB" = 8,192 bytes "1000p" = 1,000 packets
| size | string representing the size | 
Definition at line 178 of file queue-size.cc.
References DoParse(), m_unit, m_value, NS_ABORT_MSG_IF, and NS_LOG_FUNCTION.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | staticprivate | 
Parse a string representing a QueueSize.
Allowed unit representations include all combinations of
| [in] | s | The string representation, including unit | 
| [in,out] | unit | The location to put the unit. | 
| [in,out] | value | The location to put the value, in bytes or packets. | 
Definition at line 22 of file queue-size.cc.
References ns3::BYTES, NS_LOG_FUNCTION, and ns3::PACKETS.
Referenced by QueueSize().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| QueueSizeUnit ns3::QueueSize::GetUnit | ( | ) | const | 
Get the underlying unit.
Definition at line 165 of file queue-size.cc.
References m_unit, and NS_LOG_FUNCTION.
Referenced by ns3::QueueBase::GetCurrentSize(), ns3::RedQueueDisc::InitializeParams(), ns3::RedQueueDisc::ModifyP(), operator!=(), ns3::operator+(), ns3::operator+(), ns3::operator-(), ns3::operator-(), operator<(), ns3::operator<<(), operator<=(), operator==(), operator>(), operator>=(), ns3::QueueDisc::SetMaxSize(), and ns3::QueueBase::WouldOverflow().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| uint32_t ns3::QueueSize::GetValue | ( | ) | const | 
Get the underlying value.
Definition at line 172 of file queue-size.cc.
References m_value, and NS_LOG_FUNCTION.
Referenced by ns3::PieQueueDisc::DoEnqueue(), ns3::operator+(), ns3::operator+(), ns3::operator-(), ns3::operator-(), ns3::operator<<(), ns3::QueueBase::SetMaxSize(), ns3::QueueDisc::SetMaxSize(), and ns3::QueueBase::WouldOverflow().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| bool ns3::QueueSize::operator!= | ( | const QueueSize & | rhs | ) | const | 
| rhs | the queue size to compare to this queue size | 
Definition at line 157 of file queue-size.cc.
References GetUnit(), m_unit, m_value, and NS_ABORT_MSG_IF.
 Here is the call graph for this function:
 Here is the call graph for this function:| bool ns3::QueueSize::operator< | ( | const QueueSize & | rhs | ) | const | 
| rhs | the queue size to compare to this queue size | 
Definition at line 116 of file queue-size.cc.
References GetUnit(), m_unit, m_value, and NS_ABORT_MSG_IF.
 Here is the call graph for this function:
 Here is the call graph for this function:| bool ns3::QueueSize::operator<= | ( | const QueueSize & | rhs | ) | const | 
| rhs | the queue size to compare to this queue size | 
Definition at line 124 of file queue-size.cc.
References GetUnit(), m_unit, m_value, and NS_ABORT_MSG_IF.
 Here is the call graph for this function:
 Here is the call graph for this function:| bool ns3::QueueSize::operator== | ( | const QueueSize & | rhs | ) | const | 
| rhs | the queue size to compare to this queue size | 
Definition at line 149 of file queue-size.cc.
References GetUnit(), m_unit, m_value, and NS_ABORT_MSG_IF.
 Here is the call graph for this function:
 Here is the call graph for this function:| bool ns3::QueueSize::operator> | ( | const QueueSize & | rhs | ) | const | 
| rhs | the queue size to compare to this queue size | 
Definition at line 133 of file queue-size.cc.
References GetUnit(), m_unit, m_value, and NS_ABORT_MSG_IF.
 Here is the call graph for this function:
 Here is the call graph for this function:| bool ns3::QueueSize::operator>= | ( | const QueueSize & | rhs | ) | const | 
| rhs | the queue size to compare to this queue size | 
Definition at line 141 of file queue-size.cc.
References GetUnit(), m_unit, m_value, and NS_ABORT_MSG_IF.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | friend | 
Stream extraction operator.
| is | the stream | 
| size | the queue size | 
Definition at line 195 of file queue-size.cc.
| 
 | private | 
unit
Definition at line 188 of file queue-size.h.
Referenced by QueueSize(), GetUnit(), operator!=(), operator<(), operator<=(), operator==(), operator>(), and operator>=().
| 
 | private | 
queue size [bytes or packets]
Definition at line 189 of file queue-size.h.
Referenced by QueueSize(), GetValue(), operator!=(), operator<(), operator<=(), operator==(), operator>(), and operator>=().