Fix formatting of some files before clang-format application

This commit is contained in:
Eduardo Almeida
2022-09-12 02:47:16 +01:00
parent fcb90b1ef6
commit 3e39cb0724
51 changed files with 505 additions and 496 deletions

View File

@@ -24,16 +24,16 @@
#define NS3_VERSION_DEFINES_H_
/**
* \file
* \ingroup buildversion
* Defines the macro values for printing the build version.
* These will be populated by the build system.
*/
* \file
* \ingroup buildversion
* Defines the macro values for printing the build version.
* These will be populated by the build system.
*/
/**
* \ingroup buildversion
* @{
*/
* \ingroup buildversion
* @{
*/
/**
* The first tag found which matches the pattern ns-3*.

View File

@@ -352,11 +352,11 @@ private:
/// Hop Count (number of hops needed to reach destination)
uint16_t m_hops;
/**
* \brief Expiration or deletion time of the route
* Lifetime field in the routing table plays dual role:
* for an active route it is the expiration time, and for an invalid route
* it is the deletion time.
*/
* \brief Expiration or deletion time of the route
* Lifetime field in the routing table plays dual role:
* for an active route it is the expiration time, and for an invalid route
* it is the deletion time.
*/
Time m_lifeTime;
/** Ip route, include
* - destination address

View File

@@ -55,7 +55,7 @@ class Packet;
class ThreeGppHttpHeader : public Header
{
public:
/// Creates an empty instance .
/// Creates an empty instance.
ThreeGppHttpHeader ();
/**

View File

@@ -67,12 +67,12 @@ void Conversions ()
Length moonDistance (3.84402e8, Length::Unit::Meter);
//Demonstrate conversion to various units
std::cout << "\nConversions: "
<< "\nDistance to moon = " << moonDistance
<< "\nIn Feet: " << moonDistance.As (Length::Unit::Foot)
<< "\nIn Miles: " << moonDistance.As (Length::Unit::Mile)
<< "\nIn Kilometers: " << moonDistance.As (Length::Unit::Kilometer)
<< std::endl;
std::cout << "\n"
<< "Conversions:\n"
<< "Distance to moon = " << moonDistance << "\n"
<< "In Feet: " << moonDistance.As (Length::Unit::Foot) << "\n"
<< "In Miles: " << moonDistance.As (Length::Unit::Mile) << "\n"
<< "In Kilometers: " << moonDistance.As (Length::Unit::Kilometer) << std::endl;
}
/**
@@ -88,19 +88,18 @@ void ArithmeticOperators ()
Length oneMeter = Meters (1);
Length twoMeter = Meters (2);
std::cout << "\nArithmetic Operations:"
<< "\nAddition: " << oneMeter << " + " << twoMeter << " = "
<< (oneMeter + twoMeter)
<< "\nSubtraction: " << twoMeter << " - " << oneMeter << " = "
<< (twoMeter - oneMeter)
<< "\nMultiplication By Scalar: " << oneMeter << " * " << scale << " = "
<< (oneMeter * scale)
<< "\nDivision: " << oneMeter << " / " << twoMeter << " = "
<< (oneMeter / twoMeter)
<< "\nDivision By Scalar: " << oneMeter << " / " << scale << " = "
<< (oneMeter / scale)
std::cout << "\n"
<< "Arithmetic Operations:\n"
<< "Addition: " << oneMeter << " + " << twoMeter << " = " << (oneMeter + twoMeter)
<< "\n"
<< "Subtraction: " << twoMeter << " - " << oneMeter << " = " << (twoMeter - oneMeter)
<< "\n"
<< "Multiplication By Scalar: " << oneMeter << " * " << scale << " = "
<< (oneMeter * scale) << "\n"
<< "Division: " << oneMeter << " / " << twoMeter << " = " << (oneMeter / twoMeter)
<< "\n"
<< "Division By Scalar: " << oneMeter << " / " << scale << " = " << (oneMeter / scale)
<< std::endl;
}
/**
@@ -114,28 +113,27 @@ void EqualityOperators ()
Length twoMeter = Meters (2);
Length threeMeter = Meters (3);
std::cout << "\nComparison Operations:" << std::boolalpha
<< "\nEquality: " << oneMeter << " == " << oneMeter << " is "
<< (oneMeter == oneMeter)
<< "\nEquality: " << oneMeter << " == " << twoMeter << " is "
<< (oneMeter == twoMeter)
<< "\nInequality: " << oneMeter << " != " << oneMeter << " is "
<< (oneMeter != oneMeter)
<< "\nInequality: " << oneMeter << " != " << twoMeter << " is "
<< (oneMeter != twoMeter)
<< "\nLesser: " << oneMeter << " < " << oneMeter << " is "
<< (oneMeter < oneMeter)
<< "\nLesser: " << oneMeter << " < " << twoMeter << " is "
<< (oneMeter < twoMeter)
<< "\nLesser: " << threeMeter << " < " << oneMeter << " is "
<< (threeMeter < oneMeter)
<< "\nGreater: " << oneMeter << " > " << oneMeter << " is "
<< (oneMeter > oneMeter)
<< "\nGreater: " << oneMeter << " > " << twoMeter << " is "
<< (oneMeter > twoMeter)
<< "\nGreater: " << threeMeter << " > " << oneMeter << " is "
<< (threeMeter > oneMeter)
<< std::endl;
std::cout << "\n"
<< "Comparison Operations:\n" << std::boolalpha
<< "Equality: " << oneMeter << " == " << oneMeter << " is " << (oneMeter == oneMeter)
<< "\n"
<< "Equality: " << oneMeter << " == " << twoMeter << " is " << (oneMeter == twoMeter)
<< "\n"
<< "Inequality: " << oneMeter << " != " << oneMeter << " is " << (oneMeter != oneMeter)
<< "\n"
<< "Inequality: " << oneMeter << " != " << twoMeter << " is " << (oneMeter != twoMeter)
<< "\n"
<< "Lesser: " << oneMeter << " < " << oneMeter << " is " << (oneMeter < oneMeter)
<< "\n"
<< "Lesser: " << oneMeter << " < " << twoMeter << " is " << (oneMeter < twoMeter)
<< "\n"
<< "Lesser: " << threeMeter << " < " << oneMeter << " is " << (threeMeter < oneMeter)
<< "\n"
<< "Greater: " << oneMeter << " > " << oneMeter << " is " << (oneMeter > oneMeter)
<< "\n"
<< "Greater: " << oneMeter << " > " << twoMeter << " is " << (oneMeter > twoMeter)
<< "\n"
<< "Greater: " << threeMeter << " > " << oneMeter << " is " << (threeMeter > oneMeter) << std::endl;
}
/**

View File

@@ -72,7 +72,7 @@ Encode (const std::string & source)
case '\'': buffer.append ("&apos;"); break;
// case '>': buffer.append ("&gt;"); break;
case '<': {
case '<':
// Special case:
// "...blah <file..." is not allowed
// "...foo<bar..." is allowed
@@ -86,7 +86,6 @@ Encode (const std::string & source)
}
break;
}
default: buffer.append (&source[pos], 1); break;
}

View File

@@ -82,7 +82,7 @@ int64x64_t::Umul (const uint128_t a, const uint128_t b)
uint128_t res1, res2;
// Multiplying (a.h 2^64 + a.l) x (b.h 2^64 + b.l) =
// 2^128 a.h b.h + 2^64*(a.h b.l+b.h a.l) + a.l b.l
// 2^128 a.h b.h + 2^64*(a.h b.l+b.h a.l) + a.l b.l
// get the low part a.l b.l
// multiply the fractional part
loPart = aL * bL;

View File

@@ -87,7 +87,7 @@ int64x64_t::Umul (const cairo_uint128_t a, const cairo_uint128_t b)
cairo_uint128_t res1, res2;
// Multiplying (a.h 2^64 + a.l) x (b.h 2^64 + b.l) =
// 2^128 a.h b.h + 2^64*(a.h b.l+b.h a.l) + a.l b.l
// 2^128 a.h b.h + 2^64*(a.h b.l+b.h a.l) + a.l b.l
// get the low part a.l b.l
// multiply the fractional part
loPart = _cairo_uint64x64_128_mul (a.lo, b.lo);

View File

@@ -813,66 +813,66 @@ Int64x64Bug1786TestCase::DoRun (void)
// instead of rounding.
// clang-format off
Check ( 1ULL, "+0.0000000000000000000542");
Check ( 2ULL, "+0.0000000000000000001084");
Check ( 3ULL, "+0.0000000000000000001626");
Check ( 4ULL, "+0.0000000000000000002168");
Check ( 5ULL, "+0.0000000000000000002710");
Check ( 6ULL, "+0.0000000000000000003253");
Check ( 7ULL, "+0.0000000000000000003795");
Check ( 8ULL, "+0.0000000000000000004337");
Check ( 9ULL, "+0.0000000000000000004879");
Check ( 0xAULL, "+0.0000000000000000005421");
Check ( 0xFULL, "+0.0000000000000000008132");
Check ( 0xF0ULL, "+0.0000000000000000130104");
Check ( 0xF00ULL, "+0.0000000000000002081668");
Check ( 0xF000ULL, "+0.0000000000000033306691");
Check ( 0xF0000ULL, "+0.0000000000000532907052");
Check ( 0xF00000ULL, "+0.0000000000008526512829");
Check ( 0xF000000ULL, "+0.0000000000136424205266");
Check ( 0xF0000000ULL, "+0.0000000002182787284255");
Check ( 0xF00000000ULL, "+0.0000000034924596548080");
Check ( 0xF000000000ULL, "+0.0000000558793544769287");
Check ( 0xF0000000000ULL, "+0.0000008940696716308594");
Check ( 0xF00000000000ULL, "+0.0000143051147460937500");
Check ( 0xF000000000000ULL, "+0.0002288818359375000000");
Check ( 0xF0000000000000ULL, "+0.0036621093750000000000");
Check ( 0xF00000000000000ULL, "+0.0585937500000000000000");
Check( 1ULL, "+0.0000000000000000000542");
Check( 2ULL, "+0.0000000000000000001084");
Check( 3ULL, "+0.0000000000000000001626");
Check( 4ULL, "+0.0000000000000000002168");
Check( 5ULL, "+0.0000000000000000002710");
Check( 6ULL, "+0.0000000000000000003253");
Check( 7ULL, "+0.0000000000000000003795");
Check( 8ULL, "+0.0000000000000000004337");
Check( 9ULL, "+0.0000000000000000004879");
Check( 0xAULL, "+0.0000000000000000005421");
Check( 0xFULL, "+0.0000000000000000008132");
Check( 0xF0ULL, "+0.0000000000000000130104");
Check( 0xF00ULL, "+0.0000000000000002081668");
Check( 0xF000ULL, "+0.0000000000000033306691");
Check( 0xF0000ULL, "+0.0000000000000532907052");
Check( 0xF00000ULL, "+0.0000000000008526512829");
Check( 0xF000000ULL, "+0.0000000000136424205266");
Check( 0xF0000000ULL, "+0.0000000002182787284255");
Check( 0xF00000000ULL, "+0.0000000034924596548080");
Check( 0xF000000000ULL, "+0.0000000558793544769287");
Check( 0xF0000000000ULL, "+0.0000008940696716308594");
Check( 0xF00000000000ULL, "+0.0000143051147460937500");
Check( 0xF000000000000ULL, "+0.0002288818359375000000");
Check( 0xF0000000000000ULL, "+0.0036621093750000000000");
Check( 0xF00000000000000ULL, "+0.0585937500000000000000");
std::cout << std::endl;
Check (0x7FFFFFFFFFFFFFFDULL, "+0.4999999999999999998374", tolerance);
Check (0x7FFFFFFFFFFFFFFEULL, "+0.4999999999999999998916", tolerance);
Check (0x7FFFFFFFFFFFFFFFULL, "+0.4999999999999999999458", tolerance);
Check (0x8000000000000000ULL, "+0.5000000000000000000000");
Check (0x8000000000000001ULL, "+0.5000000000000000000542", tolerance);
Check (0x8000000000000002ULL, "+0.5000000000000000001084", tolerance);
Check (0x8000000000000003ULL, "+0.5000000000000000001626", tolerance);
Check(0x7FFFFFFFFFFFFFFDULL, "+0.4999999999999999998374", tolerance);
Check(0x7FFFFFFFFFFFFFFEULL, "+0.4999999999999999998916", tolerance);
Check(0x7FFFFFFFFFFFFFFFULL, "+0.4999999999999999999458", tolerance);
Check(0x8000000000000000ULL, "+0.5000000000000000000000");
Check(0x8000000000000001ULL, "+0.5000000000000000000542", tolerance);
Check(0x8000000000000002ULL, "+0.5000000000000000001084", tolerance);
Check(0x8000000000000003ULL, "+0.5000000000000000001626", tolerance);
std::cout << std::endl;
Check (0xF000000000000000ULL, "+0.9375000000000000000000");
Check (0xFF00000000000000ULL, "+0.9960937500000000000000");
Check (0xFFF0000000000000ULL, "+0.9997558593750000000000");
Check (0xFFFF000000000000ULL, "+0.9999847412109375000000");
Check (0xFFFFF00000000000ULL, "+0.9999990463256835937500");
Check (0xFFFFFF0000000000ULL, "+0.9999999403953552246094");
Check (0xFFFFFFF000000000ULL, "+0.9999999962747097015381");
Check (0xFFFFFFFF00000000ULL, "+0.9999999997671693563461");
Check (0xFFFFFFFFF0000000ULL, "+0.9999999999854480847716");
Check (0xFFFFFFFFFF000000ULL, "+0.9999999999990905052982");
Check (0xFFFFFFFFFFF00000ULL, "+0.9999999999999431565811");
Check (0xFFFFFFFFFFFF0000ULL, "+0.9999999999999964472863");
Check (0xFFFFFFFFFFFFF000ULL, "+0.9999999999999997779554");
Check (0xFFFFFFFFFFFFFF00ULL, "+0.9999999999999999861222");
Check (0xFFFFFFFFFFFFFFF0ULL, "+0.9999999999999999991326");
Check (0xFFFFFFFFFFFFFFF5ULL, "+0.9999999999999999994037", tolerance);
Check (0xFFFFFFFFFFFFFFF6ULL, "+0.9999999999999999994579", tolerance);
Check (0xFFFFFFFFFFFFFFF7ULL, "+0.9999999999999999995121", tolerance);
Check (0xFFFFFFFFFFFFFFF8ULL, "+0.9999999999999999995663", tolerance);
Check (0xFFFFFFFFFFFFFFF9ULL, "+0.9999999999999999996205", tolerance);
Check (0xFFFFFFFFFFFFFFFAULL, "+0.9999999999999999996747", tolerance);
Check (0xFFFFFFFFFFFFFFFBULL, "+0.9999999999999999997289", tolerance);
Check (0xFFFFFFFFFFFFFFFCULL, "+0.9999999999999999997832", tolerance);
Check (0xFFFFFFFFFFFFFFFDULL, "+0.9999999999999999998374", tolerance);
Check (0xFFFFFFFFFFFFFFFEULL, "+0.9999999999999999998916", tolerance);
Check (0xFFFFFFFFFFFFFFFFULL, "+0.9999999999999999999458", tolerance);
Check(0xF000000000000000ULL, "+0.9375000000000000000000");
Check(0xFF00000000000000ULL, "+0.9960937500000000000000");
Check(0xFFF0000000000000ULL, "+0.9997558593750000000000");
Check(0xFFFF000000000000ULL, "+0.9999847412109375000000");
Check(0xFFFFF00000000000ULL, "+0.9999990463256835937500");
Check(0xFFFFFF0000000000ULL, "+0.9999999403953552246094");
Check(0xFFFFFFF000000000ULL, "+0.9999999962747097015381");
Check(0xFFFFFFFF00000000ULL, "+0.9999999997671693563461");
Check(0xFFFFFFFFF0000000ULL, "+0.9999999999854480847716");
Check(0xFFFFFFFFFF000000ULL, "+0.9999999999990905052982");
Check(0xFFFFFFFFFFF00000ULL, "+0.9999999999999431565811");
Check(0xFFFFFFFFFFFF0000ULL, "+0.9999999999999964472863");
Check(0xFFFFFFFFFFFFF000ULL, "+0.9999999999999997779554");
Check(0xFFFFFFFFFFFFFF00ULL, "+0.9999999999999999861222");
Check(0xFFFFFFFFFFFFFFF0ULL, "+0.9999999999999999991326");
Check(0xFFFFFFFFFFFFFFF5ULL, "+0.9999999999999999994037", tolerance);
Check(0xFFFFFFFFFFFFFFF6ULL, "+0.9999999999999999994579", tolerance);
Check(0xFFFFFFFFFFFFFFF7ULL, "+0.9999999999999999995121", tolerance);
Check(0xFFFFFFFFFFFFFFF8ULL, "+0.9999999999999999995663", tolerance);
Check(0xFFFFFFFFFFFFFFF9ULL, "+0.9999999999999999996205", tolerance);
Check(0xFFFFFFFFFFFFFFFAULL, "+0.9999999999999999996747", tolerance);
Check(0xFFFFFFFFFFFFFFFBULL, "+0.9999999999999999997289", tolerance);
Check(0xFFFFFFFFFFFFFFFCULL, "+0.9999999999999999997832", tolerance);
Check(0xFFFFFFFFFFFFFFFDULL, "+0.9999999999999999998374", tolerance);
Check(0xFFFFFFFFFFFFFFFEULL, "+0.9999999999999999998916", tolerance);
Check(0xFFFFFFFFFFFFFFFFULL, "+0.9999999999999999999458", tolerance);
// clang-format on
}

View File

@@ -289,9 +289,9 @@ private:
uint32_t m_hops;
/**
* \brief Expiration or deletion time of the route
* Lifetime field in the routing table plays dual role --
* for an active route it is the expiration time, and for an invalid route
* it is the deletion time.
* Lifetime field in the routing table plays dual role --
* for an active route it is the expiration time, and for an invalid route
* it is the deletion time.
*/
Time m_lifeTime;
/** Ip route, include

View File

@@ -89,19 +89,19 @@ NS_LOG_COMPONENT_DEFINE ("InternetStackHelper");
// destroyed at static object destruction time; i.e., the simulator does
// not explicitly clear these maps before the program ends.
//
typedef std::pair<uint32_t, uint32_t> InterfacePairIpv4; /**< Ipv4/interface pair */
typedef std::map<InterfacePairIpv4, Ptr<PcapFileWrapper> > InterfaceFileMapIpv4; /**< Ipv4/interface and Pcap file wrapper container */
typedef std::map<InterfacePairIpv4, Ptr<OutputStreamWrapper> > InterfaceStreamMapIpv4; /**< Ipv4/interface and output stream container */
typedef std::pair<uint32_t, uint32_t> InterfacePairIpv4; //!< Ipv4/interface pair
typedef std::map<InterfacePairIpv4, Ptr<PcapFileWrapper> > InterfaceFileMapIpv4; //!< Ipv4/interface and Pcap file wrapper container
typedef std::map<InterfacePairIpv4, Ptr<OutputStreamWrapper> > InterfaceStreamMapIpv4; //!< Ipv4/interface and output stream container
static InterfaceFileMapIpv4 g_interfaceFileMapIpv4; /**< A mapping of Ipv4/interface pairs to pcap files */
static InterfaceStreamMapIpv4 g_interfaceStreamMapIpv4; /**< A mapping of Ipv4/interface pairs to ascii streams */
static InterfaceFileMapIpv4 g_interfaceFileMapIpv4; //!< A mapping of Ipv4/interface pairs to pcap files
static InterfaceStreamMapIpv4 g_interfaceStreamMapIpv4; //!< A mapping of Ipv4/interface pairs to ascii streams
typedef std::pair<uint32_t, uint32_t> InterfacePairIpv6; /**< Ipv6/interface pair */
typedef std::map<InterfacePairIpv6, Ptr<PcapFileWrapper> > InterfaceFileMapIpv6; /**< Ipv6/interface and Pcap file wrapper container */
typedef std::map<InterfacePairIpv6, Ptr<OutputStreamWrapper> > InterfaceStreamMapIpv6; /**< Ipv6/interface and output stream container */
typedef std::pair<uint32_t, uint32_t> InterfacePairIpv6; //!< Ipv6/interface pair
typedef std::map<InterfacePairIpv6, Ptr<PcapFileWrapper> > InterfaceFileMapIpv6; //!< Ipv6/interface and Pcap file wrapper container
typedef std::map<InterfacePairIpv6, Ptr<OutputStreamWrapper> > InterfaceStreamMapIpv6; //!< Ipv6/interface and output stream container
static InterfaceFileMapIpv6 g_interfaceFileMapIpv6; /**< A mapping of Ipv6/interface pairs to pcap files */
static InterfaceStreamMapIpv6 g_interfaceStreamMapIpv6; /**< A mapping of Ipv6/interface pairs to pcap files */
static InterfaceFileMapIpv6 g_interfaceFileMapIpv6; //!< A mapping of Ipv6/interface pairs to pcap files
static InterfaceStreamMapIpv6 g_interfaceStreamMapIpv6; //!< A mapping of Ipv6/interface pairs to pcap files
InternetStackHelper::InternetStackHelper ()
: m_routing (0),

View File

@@ -32,7 +32,7 @@ namespace ns3 {
* In this data structure, basic information that should be passed between
* socket and the congestion control algorithm are saved. Through the code,
* it will be referred as Transmission Control Block (TCB), but there are some
* differencies. In the RFCs, the TCB contains all the variables that defines
* differences. In the RFCs, the TCB contains all the variables that defines
* a connection, while we preferred to maintain in this class only the values
* that should be exchanged between socket and other parts, like congestion
* control algorithms.
@@ -75,16 +75,15 @@ public:
*/
typedef enum
{
CA_OPEN, /**< Normal state, no dubious events */
CA_DISORDER, /**< In all the respects it is "Open",
* but requires a bit more attention. It is entered when
* we see some SACKs or dupacks. It is split of "Open" */
CA_CWR, /**< cWnd was reduced due to some congestion notification
* event, such as ECN, ICMP source quench, local device
* congestion. */
CA_RECOVERY, /**< CWND was reduced, we are fast-retransmitting. */
CA_LOSS, /**< CWND was reduced due to RTO timeout or SACK reneging. */
CA_LAST_STATE /**< Used only in debug messages */
CA_OPEN, //!< Normal state, no dubious events
CA_DISORDER, //!< In all the respects it is "Open",
//!< but requires a bit more attention. It is entered when we see some SACKs or
//!< dupacks. It is split of "Open".
CA_CWR, //!< cWnd was reduced due to some congestion notification event, such as ECN,
//!< ICMP source quench, local device congestion.
CA_RECOVERY, //!< CWND was reduced, we are fast-retransmitting.
CA_LOSS, //!< CWND was reduced due to RTO timeout or SACK reneging.
CA_LAST_STATE //!< Used only in debug messages
} TcpCongState_t;
// Note: "not triggered" events are currently not triggered by the code.
@@ -93,14 +92,14 @@ public:
*/
typedef enum
{
CA_EVENT_TX_START, /**< first transmit when no packets in flight */
CA_EVENT_CWND_RESTART, /**< congestion window restart. Not triggered */
CA_EVENT_COMPLETE_CWR, /**< end of congestion recovery */
CA_EVENT_LOSS, /**< loss timeout */
CA_EVENT_ECN_NO_CE, /**< ECT set, but not CE marked. Not triggered */
CA_EVENT_ECN_IS_CE, /**< received CE marked IP packet. Not triggered */
CA_EVENT_DELAYED_ACK, /**< Delayed ack is sent */
CA_EVENT_NON_DELAYED_ACK, /**< Non-delayed ack is sent */
CA_EVENT_TX_START, //!< first transmit when no packets in flight
CA_EVENT_CWND_RESTART, //!< congestion window restart. Not triggered
CA_EVENT_COMPLETE_CWR, //!< end of congestion recovery
CA_EVENT_LOSS, //!< loss timeout
CA_EVENT_ECN_NO_CE, //!< ECT set, but not CE marked. Not triggered
CA_EVENT_ECN_IS_CE, //!< received CE marked IP packet. Not triggered
CA_EVENT_DELAYED_ACK, //!< Delayed ack is sent
CA_EVENT_NON_DELAYED_ACK, //!< Non-delayed ack is sent
} TcpCAEvent_t;
/**
@@ -142,13 +141,12 @@ public:
*/
typedef enum
{
ECN_DISABLED = 0, /**< ECN disabled traffic */
ECN_IDLE, /**< ECN is enabled but currently there is no action pertaining to ECE or CWR to be taken */
ECN_CE_RCVD, /**< Last packet received had CE bit set in IP header */
ECN_SENDING_ECE, /**< Receiver sends an ACK with ECE bit set in TCP header */
ECN_ECE_RCVD, /**< Last ACK received had ECE bit set in TCP header */
ECN_CWR_SENT /**< Sender has reduced the congestion window, and sent a packet with CWR bit set in TCP header.
* This state is used for tracing. */
ECN_DISABLED = 0, //!< ECN disabled traffic
ECN_IDLE, //!< ECN is enabled but currently there is no action pertaining to ECE or CWR to be taken
ECN_CE_RCVD, //!< Last packet received had CE bit set in IP header
ECN_SENDING_ECE, //!< Receiver sends an ACK with ECE bit set in TCP header
ECN_ECE_RCVD, //!< Last ACK received had ECE bit set in TCP header
ECN_CWR_SENT //!< Sender has reduced the congestion window, and sent a packet with CWR bit set in TCP header. This state is used for tracing.
} EcnState_t;
/**

View File

@@ -94,11 +94,12 @@ public:
* Constructor
* \param wpanMacType the header MAC type
* \param seqNum the sequence number
*
* \internal
* Data, ACK, Control MAC Header must have frame control and sequence number.
* Beacon MAC Header must have frame control, sequence number, source PAN Id, source address.
*/
LrWpanMacHeader (enum LrWpanMacType wpanMacType, // Data, ACK, Control MAC Header must have
uint8_t seqNum); // frame control and sequence number.
// Beacon MAC Header must have frame control,
// sequence number, source PAN Id, source address.
LrWpanMacHeader (enum LrWpanMacType wpanMacType, uint8_t seqNum);
~LrWpanMacHeader (void);

View File

@@ -25,7 +25,7 @@
#include "ns3/lte-module.h"
#include "ns3/config-store.h"
#include <ns3/buildings-helper.h>
//#include "ns3/gtk-config-store.h"
// #include "ns3/gtk-config-store.h"
using namespace ns3;

View File

@@ -29,7 +29,7 @@
#include "ns3/applications-module.h"
#include "ns3/point-to-point-helper.h"
#include "ns3/config-store.h"
//#include "ns3/gtk-config-store.h"
// #include "ns3/gtk-config-store.h"
using namespace ns3;

View File

@@ -27,7 +27,7 @@
#include <ns3/string.h>
#include <fstream>
#include <ns3/buildings-helper.h>
//#include "ns3/gtk-config-store.h"
// #include "ns3/gtk-config-store.h"
using namespace ns3;

View File

@@ -344,10 +344,10 @@ int main (int argc, char *argv[])
if (generateSpectrumTrace)
{
Ptr<ListPositionAllocator> positionAlloc = CreateObject<ListPositionAllocator> ();
//position of Spectrum Analyzer
// positionAlloc->Add (Vector (0.0, 0.0, 0.0)); // eNB1
// positionAlloc->Add (Vector (distance, 0.0, 0.0)); // eNB2
positionAlloc->Add (Vector (distance * 0.5, distance * 0.866, 0.0)); // eNB3
// position of Spectrum Analyzer
// positionAlloc->Add (Vector (0.0, 0.0, 0.0)); // eNB1
// positionAlloc->Add (Vector (distance, 0.0, 0.0)); // eNB2
positionAlloc->Add (Vector (distance * 0.5, distance * 0.866, 0.0)); // eNB3
MobilityHelper mobility;
mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");

View File

@@ -27,7 +27,7 @@
#include <iomanip>
#include <string>
#include <vector>
//#include "ns3/gtk-config-store.h"
// #include "ns3/gtk-config-store.h"
using namespace ns3;

View File

@@ -29,7 +29,7 @@
#include <iomanip>
#include <string>
#include <vector>
//#include "ns3/gtk-config-store.h"
// #include "ns3/gtk-config-store.h"
using namespace ns3;
using std::vector;

View File

@@ -27,7 +27,7 @@
#include "ns3/config-store.h"
#include "ns3/spectrum-module.h"
#include <ns3/buildings-helper.h>
//#include "ns3/gtk-config-store.h"
// #include "ns3/gtk-config-store.h"
using namespace ns3;

View File

@@ -26,7 +26,7 @@
#include "ns3/mobility-module.h"
#include "ns3/config-store-module.h"
#include "ns3/lte-module.h"
//#include "ns3/gtk-config-store.h"
// #include "ns3/gtk-config-store.h"
using namespace ns3;

View File

@@ -24,7 +24,7 @@
#include "ns3/lte-module.h"
#include "ns3/config-store.h"
#include <ns3/buildings-helper.h>
//#include "ns3/gtk-config-store.h"
// #include "ns3/gtk-config-store.h"
using namespace ns3;

View File

@@ -115,32 +115,30 @@ public:
uint8_t precedence; /**< used to specify the precedence for the
* packet filter among all packet filters in
* the TFT; higher values will be evaluated
* last.
*/
/// Used to specify the precedence for the packet filter among all packet filters in the TFT;
/// higher values will be evaluated last.
uint8_t precedence;
Direction direction; /**< whether the filter needs to be applied
to uplink / downlink only, or in both cases*/
/// Whether the filter needs to be applied to uplink / downlink only, or in both cases
Direction direction;
Ipv4Address remoteAddress; /**< IPv4 address of the remote host */
Ipv4Mask remoteMask; /**< IPv4 address mask of the remote host */
Ipv4Address localAddress; /**< IPv4 address of the UE */
Ipv4Mask localMask; /**< IPv4 address mask of the UE */
Ipv4Address remoteAddress; //!< IPv4 address of the remote host
Ipv4Mask remoteMask; //!< IPv4 address mask of the remote host
Ipv4Address localAddress; //!< IPv4 address of the UE
Ipv4Mask localMask; //!< IPv4 address mask of the UE
Ipv6Address remoteIpv6Address; /**< IPv6 address of the remote host */
Ipv6Prefix remoteIpv6Prefix; /**< IPv6 address prefix of the remote host */
Ipv6Address localIpv6Address; /**< IPv6 address of the UE */
Ipv6Prefix localIpv6Prefix; /**< IPv6 address prefix of the UE */
Ipv6Address remoteIpv6Address; //!< IPv6 address of the remote host
Ipv6Prefix remoteIpv6Prefix; //!< IPv6 address prefix of the remote host
Ipv6Address localIpv6Address; //!< IPv6 address of the UE
Ipv6Prefix localIpv6Prefix; //!< IPv6 address prefix of the UE
uint16_t remotePortStart; /**< start of the port number range of the remote host */
uint16_t remotePortEnd; /**< end of the port number range of the remote host */
uint16_t localPortStart; /**< start of the port number range of the UE */
uint16_t localPortEnd; /**< end of the port number range of the UE */
uint16_t remotePortStart; //!< start of the port number range of the remote host
uint16_t remotePortEnd; //!< end of the port number range of the remote host
uint16_t localPortStart; //!< start of the port number range of the UE
uint16_t localPortEnd; //!< end of the port number range of the UE
uint8_t typeOfService; /**< type of service field */
uint8_t typeOfServiceMask; /**< type of service field mask */
uint8_t typeOfService; //!< type of service field
uint8_t typeOfServiceMask; //!< type of service field mask
};
EpcTft ();
@@ -196,7 +194,7 @@ public:
/**
* Get the packet filters
* \return a containter of packet filters
* \return a container of packet filters
*/
std::list<PacketFilter> GetPacketFilters () const;

File diff suppressed because one or more lines are too long

View File

@@ -331,8 +331,8 @@ LteEnbRrcProtocolIdeal::DoSetupUe (uint16_t rnti, LteEnbRrcSapUser::SetupUeParam
// ueRrc = ueDev->GetRrc ();
// if ((ueRrc->GetRnti () == rnti) && (ueRrc->GetCellId () == m_cellId))
// {
// found = true;
// break;
// found = true;
// break;
// }
// }
// }

View File

@@ -1062,9 +1062,14 @@ PssFfMacScheduler::DoSchedDlTriggerReq (const struct FfMacSchedSapProvider::Sche
{
// select half number of UE
if (ueSet1.size() + ueSet2.size() <=2 )
nMux = 1;
{
nMux = 1;
}
else
nMux = (int)((ueSet1.size() + ueSet2.size()) / 2) ; // TD scheduler only transfers half selected UE per RTT to TD scheduler
{
// TD scheduler only transfers half selected UE per RTT to TD scheduler
nMux = (int)((ueSet1.size() + ueSet2.size()) / 2);
}
}
for (it = m_flowStatsDl.begin (); it != m_flowStatsDl.end (); it--)
{

View File

@@ -126,7 +126,8 @@ LteCqiGenerationTestCase::DlScheduling (DlSchedulingCallbackInfo dlInfo)
// need to allow for RRC connection establishment + CQI feedback reception
if (Simulator::Now () > MilliSeconds (35))
{
// NS_LOG_UNCOND("DL MSC: " << (uint32_t)mcsTb1 << " expected DL MCS: " << (uint32_t)m_dlMcs);
// NS_LOG_UNCOND("DL MSC: " << (uint32_t)mcsTb1 << " expected DL MCS: " <<
// (uint32_t)m_dlMcs);
NS_TEST_ASSERT_MSG_EQ ((uint32_t)dlInfo.mcsTb1, (uint32_t)m_dlMcs, "Wrong DL MCS ");
}
}
@@ -138,7 +139,8 @@ LteCqiGenerationTestCase::UlScheduling (uint32_t frameNo, uint32_t subframeNo, u
// need to allow for RRC connection establishment + SRS transmission
if (Simulator::Now () > MilliSeconds (50))
{
// NS_LOG_UNCOND("UL MSC: " << (uint32_t)mcs << " expected UL MCS: " << (uint32_t)m_ulMcs);
// NS_LOG_UNCOND("UL MSC: " << (uint32_t)mcs << " expected UL MCS: " <<
// (uint32_t)m_ulMcs);
NS_TEST_ASSERT_MSG_EQ ((uint32_t)mcs, (uint32_t)m_ulMcs, "Wrong UL MCS");
}
}
@@ -259,7 +261,8 @@ LteCqiGenerationDlPowerControlTestCase::DlScheduling (DlSchedulingCallbackInfo d
// need to allow for RRC connection establishment + CQI feedback reception
if (Simulator::Now () > MilliSeconds (500))
{
// NS_LOG_UNCOND("DL MSC: " << (uint32_t)mcsTb1 << " expected DL MCS: " << (uint32_t)m_dlMcs);
// NS_LOG_UNCOND("DL MSC: " << (uint32_t)mcsTb1 << " expected DL MCS: " <<
// (uint32_t)m_dlMcs);
NS_TEST_ASSERT_MSG_EQ ((uint32_t)dlInfo.mcsTb1, (uint32_t)m_dlMcs, "Wrong DL MCS ");
}
}
@@ -271,7 +274,8 @@ LteCqiGenerationDlPowerControlTestCase::UlScheduling (uint32_t frameNo, uint32_t
// need to allow for RRC connection establishment + SRS transmission
if (Simulator::Now () > MilliSeconds (500))
{
// NS_LOG_UNCOND("UL MSC: " << (uint32_t)mcs << " expected UL MCS: " << (uint32_t)m_ulMcs);
// NS_LOG_UNCOND("UL MSC: " << (uint32_t)mcs << " expected UL MCS: " <<
// (uint32_t)m_ulMcs);
NS_TEST_ASSERT_MSG_EQ ((uint32_t)mcs, (uint32_t)m_ulMcs, "Wrong UL MCS");
}
}

View File

@@ -295,13 +295,13 @@ public:
*/
enum PacketType
{
PACKET_HOST = 1, /**< Packet addressed oo us */
PACKET_HOST = 1, //!< Packet addressed to us
NS3_PACKET_HOST = PACKET_HOST,
PACKET_BROADCAST, /**< Packet addressed to all */
PACKET_BROADCAST, //!< Packet addressed to all
NS3_PACKET_BROADCAST = PACKET_BROADCAST,
PACKET_MULTICAST, /**< Packet addressed to multicast group */
PACKET_MULTICAST, //!< Packet addressed to multicast group
NS3_PACKET_MULTICAST = PACKET_MULTICAST,
PACKET_OTHERHOST, /**< Packet addressed to someone else */
PACKET_OTHERHOST, //!< Packet addressed to someone else
NS3_PACKET_OTHERHOST = PACKET_OTHERHOST,
};

View File

@@ -140,12 +140,12 @@ public:
*/
struct TagData
{
struct TagData * next; /**< Pointer to next in list */
uint32_t count; /**< Number of incoming links */
TypeId tid; /**< Type of the tag serialized into #data */
uint32_t size; /**< Size of the \c data buffer */
uint8_t data[1]; /**< Serialization buffer */
}; /* struct TagData */
struct TagData * next; //!< Pointer to next in list
uint32_t count; //!< Number of incoming links
TypeId tid; //!< Type of the tag serialized into #data
uint32_t size; //!< Size of the \c data buffer
uint8_t data[1]; //!< Serialization buffer
};
/**
* Create a new PacketTagList.

View File

@@ -42,8 +42,8 @@ class Header;
class PcapFile
{
public:
static const int32_t ZONE_DEFAULT = 0; /**< Time zone offset for current location */
static const uint32_t SNAPLEN_DEFAULT = 65535; /**< Default value for maximum octets to save per packet */
static const int32_t ZONE_DEFAULT = 0; //!< Time zone offset for current location
static const uint32_t SNAPLEN_DEFAULT = 65535; //!< Default value for maximum octets to save per packet
public:
PcapFile ();
@@ -292,23 +292,23 @@ private:
* \brief Pcap file header
*/
typedef struct {
uint32_t m_magicNumber; /**< Magic number identifying this as a pcap file */
uint16_t m_versionMajor; /**< Major version identifying the version of pcap used in this file */
uint16_t m_versionMinor; /**< Minor version identifying the version of pcap used in this file */
int32_t m_zone; /**< Time zone correction to be applied to timestamps of packets */
uint32_t m_sigFigs; /**< Unused by pretty much everybody */
uint32_t m_snapLen; /**< Maximum length of packet data stored in records */
uint32_t m_type; /**< Data link type of packet data */
uint32_t m_magicNumber; //!< Magic number identifying this as a pcap file
uint16_t m_versionMajor; //!< Major version identifying the version of pcap used in this file
uint16_t m_versionMinor; //!< Minor version identifying the version of pcap used in this file
int32_t m_zone; //!< Time zone correction to be applied to timestamps of packets
uint32_t m_sigFigs; //!< Unused by pretty much everybody
uint32_t m_snapLen; //!< Maximum length of packet data stored in records
uint32_t m_type; //!< Data link type of packet data
} PcapFileHeader;
/**
* \brief Pcap record header
*/
typedef struct {
uint32_t m_tsSec; /**< seconds part of timestamp */
uint32_t m_tsUsec; /**< microseconds part of timestamp (nsecs for PCAP_NSEC_MAGIC) */
uint32_t m_inclLen; /**< number of octets of packet saved in file */
uint32_t m_origLen; /**< actual length of original packet */
uint32_t m_tsSec; //!< seconds part of timestamp
uint32_t m_tsUsec; //!< microseconds part of timestamp (nsecs for PCAP_NSEC_MAGIC)
uint32_t m_inclLen; //!< number of octets of packet saved in file
uint32_t m_origLen; //!< actual length of original packet
} PcapRecordHeader;
/**

View File

@@ -369,17 +369,17 @@ public:
*/
enum HeMuFlags1
{
HE_MU_FLAGS1_SIGB_MCS = 0x000f, /**< SIG-B MCS (from SIG-A) */
HE_MU_FLAGS1_SIGB_MCS_KNOWN = 0x0010, /**< SIG-B MCS known */
HE_MU_FLAGS1_SIGB_DCM = 0x0020, /**< SIG-B DCM (from SIG-A) */
HE_MU_FLAGS1_SIGB_DCM_KNOWN = 0x0040, /**< SIG-B DCM known */
HE_MU_FLAGS1_CH2_CENTER_26T_RU_KNOWN = 0x0080, /**< (Channel 2) Center 26-tone RU bit known */
HE_MU_FLAGS1_CH1_RUS_KNOWN = 0x0100, /**< Channel 1 RUs known (which depends on BW) */
HE_MU_FLAGS1_CH2_RUS_KNOWN = 0x0200, /**< Channel 2 RUs known (which depends on BW) */
HE_MU_FLAGS1_CH1_CENTER_26T_RU_KNOWN = 0x1000, /**< (Channel 1) Center 26-tone RU bit known */
HE_MU_FLAGS1_CH1_CENTER_26T_RU = 0x2000, /**< (Channel 1) Center 26-tone RU value */
HE_MU_FLAGS1_SIGB_COMPRESSION_KNOWN = 0x4000, /**< SIG-B Compression known */
HE_MU_FLAGS1_NUM_SIGB_SYMBOLS_KNOWN = 0x8000, /**< # of HE-SIG-B Symbols/MU-MIMO Users known */
HE_MU_FLAGS1_SIGB_MCS = 0x000f, //!< SIG-B MCS (from SIG-A)
HE_MU_FLAGS1_SIGB_MCS_KNOWN = 0x0010, //!< SIG-B MCS known
HE_MU_FLAGS1_SIGB_DCM = 0x0020, //!< SIG-B DCM (from SIG-A)
HE_MU_FLAGS1_SIGB_DCM_KNOWN = 0x0040, //!< SIG-B DCM known
HE_MU_FLAGS1_CH2_CENTER_26T_RU_KNOWN = 0x0080, //!< (Channel 2) Center 26-tone RU bit known
HE_MU_FLAGS1_CH1_RUS_KNOWN = 0x0100, //!< Channel 1 RUs known (which depends on BW)
HE_MU_FLAGS1_CH2_RUS_KNOWN = 0x0200, //!< Channel 2 RUs known (which depends on BW)
HE_MU_FLAGS1_CH1_CENTER_26T_RU_KNOWN = 0x1000, //!< (Channel 1) Center 26-tone RU bit known
HE_MU_FLAGS1_CH1_CENTER_26T_RU = 0x2000, //!< (Channel 1) Center 26-tone RU value
HE_MU_FLAGS1_SIGB_COMPRESSION_KNOWN = 0x4000, //!< SIG-B Compression known
HE_MU_FLAGS1_NUM_SIGB_SYMBOLS_KNOWN = 0x8000, //!< # of HE-SIG-B Symbols/MU-MIMO Users known
};
/**
@@ -411,14 +411,14 @@ public:
*/
enum HeMuPerUserKnown
{
HE_MU_PER_USER_POSITION_KNOWN = 0x01, /**< User field position known */
HE_MU_PER_USER_STA_ID_KNOWN = 0x02, /**< STA-ID known */
HE_MU_PER_USER_NSTS_KNOWN = 0x04, /**< NSTS known */
HE_MU_PER_USER_TX_BF_KNOWN = 0x08, /**< Tx Beamforming known */
HE_MU_PER_USER_SPATIAL_CONFIGURATION_KNOWN = 0x10, /**< Spatial Configuration known */
HE_MU_PER_USER_MCS_KNOWN = 0x20, /**< MCS known */
HE_MU_PER_USER_DCM_KNOWN = 0x40, /**< DCM known */
HE_MU_PER_USER_CODING_KNOWN = 0x80, /**< Coding known */
HE_MU_PER_USER_POSITION_KNOWN = 0x01, //!< User field position known
HE_MU_PER_USER_STA_ID_KNOWN = 0x02, //!< STA-ID known
HE_MU_PER_USER_NSTS_KNOWN = 0x04, //!< NSTS known
HE_MU_PER_USER_TX_BF_KNOWN = 0x08, //!< Tx Beamforming known
HE_MU_PER_USER_SPATIAL_CONFIGURATION_KNOWN = 0x10, //!< Spatial Configuration known
HE_MU_PER_USER_MCS_KNOWN = 0x20, //!< MCS known
HE_MU_PER_USER_DCM_KNOWN = 0x40, //!< DCM known
HE_MU_PER_USER_CODING_KNOWN = 0x80, //!< Coding known
};
/**

View File

@@ -21,9 +21,9 @@
*/
///
/// \file olsr-state.cc
/// \brief Implementation of all functions needed for manipulating the internal
/// state of an OLSR node.
/// \file olsr-state.cc
/// \brief Implementation of all functions needed for manipulating the internal
/// state of an OLSR node.
///
#include "olsr-state.h"

View File

@@ -44,7 +44,7 @@ protected:
MprSelectorSet m_mprSelectorSet; //!< MPR Selector Set (\RFC{3626}, section 4.3.4).
DuplicateSet m_duplicateSet; //!< Duplicate Set (\RFC{3626}, section 3.4).
IfaceAssocSet m_ifaceAssocSet; //!< Interface Association Set (\RFC{3626}, section 4.1).
AssociationSet m_associationSet; //!< Association Set (\RFC{3626}, section12.2). Associations obtained from HNA messages generated by other nodes.
AssociationSet m_associationSet; //!< Association Set (\RFC{3626}, section12.2). Associations obtained from HNA messages generated by other nodes.
Associations m_associations; //!< The node's local Host Network Associations that will be advertised using HNA messages.
public:

View File

@@ -30,7 +30,7 @@
// - Tracing of queues and packet receptions to file "openflow-switch.tr"
// - If order of adding nodes and netdevices is kept:
// n0 = 00:00:00;00:00:01, n1 = 00:00:00:00:00:03, n3 = 00:00:00:00:00:07
// and port number corresponds to node number, so port 0 is connected to n0, for example.
// and port number corresponds to node number, so port 0 is connected to n0, for example.
#include <iostream>
#include <fstream>

View File

@@ -76,11 +76,11 @@ public:
*/
enum DropReason
{
DROP_FRAGMENT_TIMEOUT = 1, /**< Fragment timeout exceeded */
DROP_FRAGMENT_BUFFER_FULL, /**< Fragment buffer size exceeded */
DROP_UNKNOWN_EXTENSION, /**< Unsupported compression kind */
DROP_DISALLOWED_COMPRESSION, /**< HC1 while in IPHC mode or viceversa */
DROP_SATETFUL_DECOMPRESSION_PROBLEM, /**< Decompression failed due to missing or expired context */
DROP_FRAGMENT_TIMEOUT = 1, //!< Fragment timeout exceeded
DROP_FRAGMENT_BUFFER_FULL, //!< Fragment buffer size exceeded
DROP_UNKNOWN_EXTENSION, //!< Unsupported compression kind
DROP_DISALLOWED_COMPRESSION, //!< HC1 while in IPHC mode or viceversa
DROP_SATETFUL_DECOMPRESSION_PROBLEM, //!< Decompression failed due to missing or expired context
};
/**

View File

@@ -49,7 +49,7 @@ public:
* Add new sample
* \param x The sample
*/
void Update (T const & x)
void Update (const T& x)
{
// Give the variance calculator the next value.
m_varianceCalculator.Update (x);

View File

@@ -24,8 +24,8 @@
#include "ns3/simulator.h"
#include "ns3/log.h"
#define DEFAULT_BIN_WIDTH 1
// #define RESERVED_BINS_INC 10
#define DEFAULT_BIN_WIDTH 1
// #define RESERVED_BINS_INC 10
namespace ns3 {

View File

@@ -118,10 +118,10 @@ public:
*
*/
enum Mode {
ILLEGAL, /**< mode not set */
CONFIGURE_LOCAL, /**< ns-3 creates and configures tap device */
USE_LOCAL, /**< ns-3 uses a pre-created tap, without configuring it */
USE_BRIDGE, /**< ns-3 uses a pre-created tap, and bridges to a bridging net device */
ILLEGAL, //!< mode not set
CONFIGURE_LOCAL, //!< ns-3 creates and configures tap device
USE_LOCAL, //!< ns-3 uses a pre-created tap, without configuring it
USE_BRIDGE, //!< ns-3 uses a pre-created tap, and bridges to a bridging net device
};
TapBridge ();

View File

@@ -19,8 +19,8 @@
* Based on ns2 simulation code presented by Kathie Nichols
*
* This port based on linux kernel code by
* Authors: Dave Täht <d@taht.net>
* Eric Dumazet <edumazet@google.com>
* Authors: Dave Täht <d@taht.net>
* Eric Dumazet <edumazet@google.com>
*
* Ported to ns-3 by: Andrew McGregor <andrewmcgr@gmail.com>
*/

View File

@@ -19,8 +19,8 @@
* Based on ns2 simulation code presented by Kathie Nichols
*
* This port based on linux kernel code by
* Authors: Dave Täht <d@taht.net>
* Eric Dumazet <edumazet@google.com>
* Authors: Dave Täht <d@taht.net>
* Eric Dumazet <edumazet@google.com>
*
* Ported to ns-3 by: Andrew McGregor <andrewmcgr@gmail.com>
*/

View File

@@ -102,10 +102,10 @@ private:
*/
enum QueueDiscSizePolicy
{
SINGLE_INTERNAL_QUEUE, /**< Used by queue discs with single internal queue */
SINGLE_CHILD_QUEUE_DISC, /**< Used by queue discs with single child queue disc */
MULTIPLE_QUEUES, /**< Used by queue discs with multiple internal queues/child queue discs */
NO_LIMITS /**< Used by queue discs with unlimited size */
SINGLE_INTERNAL_QUEUE, //!< Used by queue discs with single internal queue
SINGLE_CHILD_QUEUE_DISC, //!< Used by queue discs with single child queue disc
MULTIPLE_QUEUES, //!< Used by queue discs with multiple internal queues/child queue discs
NO_LIMITS //!< Used by queue discs with unlimited size
};

View File

@@ -569,9 +569,12 @@ UanModesList
UanPhyGen::GetDefaultModes (void)
{
UanModesList l;
l.AppendMode (UanTxModeFactory::CreateMode (UanTxMode::FSK, 80, 80, 22000, 4000, 13, "FH-FSK")); // micromodem only
l.AppendMode (UanTxModeFactory::CreateMode (UanTxMode::PSK, 200, 200, 22000, 4000, 4, "QPSK"));
l.AppendMode (UanTxModeFactory::CreateMode (UanTxMode::PSK, 5000, 5000, 25000, 5000, 4, "QPSK")); // micromodem2
// micromodem only
l.AppendMode (UanTxModeFactory::CreateMode (UanTxMode::FSK, 80, 80, 22000, 4000, 13, "FH-FSK"));
l.AppendMode (UanTxModeFactory::CreateMode (UanTxMode::PSK, 200, 200, 22000, 4000, 4, "QPSK"));
// micromodem2
l.AppendMode (UanTxModeFactory::CreateMode (UanTxMode::PSK, 5000, 5000, 25000, 5000, 4, "QPSK"));
return l;
}

View File

@@ -36,17 +36,17 @@ NS_LOG_COMPONENT_DEFINE ("EhtPhy");
// clang-format off
const PhyEntity::PpduFormats EhtPhy::m_ehtPpduFormats {
{ WIFI_PREAMBLE_EHT_MU, { WIFI_PPDU_FIELD_PREAMBLE, //L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, //L-SIG + RL-SIG
WIFI_PPDU_FIELD_U_SIG, //U-SIG
WIFI_PPDU_FIELD_EHT_SIG, //EHT-SIG
WIFI_PPDU_FIELD_TRAINING, //EHT-STF + EHT-LTFs
WIFI_PPDU_FIELD_DATA } },
{ WIFI_PREAMBLE_EHT_TB, { WIFI_PPDU_FIELD_PREAMBLE, //L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, //L-SIG + RL-SIG
WIFI_PPDU_FIELD_U_SIG, //U-SIG
WIFI_PPDU_FIELD_TRAINING, //EHT-STF + EHT-LTFs
WIFI_PPDU_FIELD_DATA } }
{ WIFI_PREAMBLE_EHT_MU, { WIFI_PPDU_FIELD_PREAMBLE, // L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, // L-SIG + RL-SIG
WIFI_PPDU_FIELD_U_SIG, // U-SIG
WIFI_PPDU_FIELD_EHT_SIG, // EHT-SIG
WIFI_PPDU_FIELD_TRAINING, // EHT-STF + EHT-LTFs
WIFI_PPDU_FIELD_DATA } },
{ WIFI_PREAMBLE_EHT_TB, { WIFI_PPDU_FIELD_PREAMBLE, // L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, // L-SIG + RL-SIG
WIFI_PPDU_FIELD_U_SIG, // U-SIG
WIFI_PPDU_FIELD_TRAINING, // EHT-STF + EHT-LTFs
WIFI_PPDU_FIELD_DATA } }
};
// clang-format on

View File

@@ -46,28 +46,28 @@ NS_LOG_COMPONENT_DEFINE ("HePhy");
// clang-format off
const PhyEntity::PpduFormats HePhy::m_hePpduFormats { //Ignoring PE (Packet Extension)
{ WIFI_PREAMBLE_HE_SU, { WIFI_PPDU_FIELD_PREAMBLE, //L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, //L-SIG + RL-SIG
WIFI_PPDU_FIELD_SIG_A, //HE-SIG-A
WIFI_PPDU_FIELD_TRAINING, //HE-STF + HE-LTFs
WIFI_PPDU_FIELD_DATA } },
{ WIFI_PREAMBLE_HE_MU, { WIFI_PPDU_FIELD_PREAMBLE, //L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, //L-SIG + RL-SIG
WIFI_PPDU_FIELD_SIG_A, //HE-SIG-A
WIFI_PPDU_FIELD_SIG_B, //HE-SIG-B
WIFI_PPDU_FIELD_TRAINING, //HE-STF + HE-LTFs
WIFI_PPDU_FIELD_DATA } },
{ WIFI_PREAMBLE_HE_TB, { WIFI_PPDU_FIELD_PREAMBLE, //L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, //L-SIG + RL-SIG
WIFI_PPDU_FIELD_SIG_A, //HE-SIG-A
WIFI_PPDU_FIELD_TRAINING, //HE-STF + HE-LTFs
WIFI_PPDU_FIELD_DATA } },
{ WIFI_PREAMBLE_HE_ER_SU, { WIFI_PPDU_FIELD_PREAMBLE, //L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, //L-SIG + RL-SIG
WIFI_PPDU_FIELD_SIG_A, //HE-SIG-A
WIFI_PPDU_FIELD_TRAINING, //HE-STF + HE-LTFs
WIFI_PPDU_FIELD_DATA } }
const PhyEntity::PpduFormats HePhy::m_hePpduFormats { // Ignoring PE (Packet Extension)
{ WIFI_PREAMBLE_HE_SU, { WIFI_PPDU_FIELD_PREAMBLE, // L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, // L-SIG + RL-SIG
WIFI_PPDU_FIELD_SIG_A, // HE-SIG-A
WIFI_PPDU_FIELD_TRAINING, // HE-STF + HE-LTFs
WIFI_PPDU_FIELD_DATA } },
{ WIFI_PREAMBLE_HE_MU, { WIFI_PPDU_FIELD_PREAMBLE, // L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, // L-SIG + RL-SIG
WIFI_PPDU_FIELD_SIG_A, // HE-SIG-A
WIFI_PPDU_FIELD_SIG_B, // HE-SIG-B
WIFI_PPDU_FIELD_TRAINING, // HE-STF + HE-LTFs
WIFI_PPDU_FIELD_DATA } },
{ WIFI_PREAMBLE_HE_TB, { WIFI_PPDU_FIELD_PREAMBLE, // L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, // L-SIG + RL-SIG
WIFI_PPDU_FIELD_SIG_A, // HE-SIG-A
WIFI_PPDU_FIELD_TRAINING, // HE-STF + HE-LTFs
WIFI_PPDU_FIELD_DATA } },
{ WIFI_PREAMBLE_HE_ER_SU, { WIFI_PPDU_FIELD_PREAMBLE, // L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, // L-SIG + RL-SIG
WIFI_PPDU_FIELD_SIG_A, // HE-SIG-A
WIFI_PPDU_FIELD_TRAINING, // HE-STF + HE-LTFs
WIFI_PPDU_FIELD_DATA } }
};
// clang-format on

View File

@@ -39,11 +39,11 @@ NS_LOG_COMPONENT_DEFINE ("HtPhy");
// clang-format off
const PhyEntity::PpduFormats HtPhy::m_htPpduFormats {
{ WIFI_PREAMBLE_HT_MF, { WIFI_PPDU_FIELD_PREAMBLE, //L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, //L-SIG
WIFI_PPDU_FIELD_HT_SIG, //HT-SIG
WIFI_PPDU_FIELD_TRAINING, //HT-STF + HT-LTFs
WIFI_PPDU_FIELD_DATA } }
{ WIFI_PREAMBLE_HT_MF, { WIFI_PPDU_FIELD_PREAMBLE, // L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, // L-SIG
WIFI_PPDU_FIELD_HT_SIG, // HT-SIG
WIFI_PPDU_FIELD_TRAINING, // HT-STF + HT-LTFs
WIFI_PPDU_FIELD_DATA } }
};
// clang-format on

View File

@@ -41,12 +41,12 @@ NS_LOG_COMPONENT_DEFINE ("DsssPhy");
// clang-format off
const PhyEntity::PpduFormats DsssPhy::m_dsssPpduFormats {
{ WIFI_PREAMBLE_LONG, { WIFI_PPDU_FIELD_PREAMBLE, //PHY preamble
WIFI_PPDU_FIELD_NON_HT_HEADER, //PHY header
WIFI_PPDU_FIELD_DATA } },
{ WIFI_PREAMBLE_SHORT, { WIFI_PPDU_FIELD_PREAMBLE, //Short PHY preamble
WIFI_PPDU_FIELD_NON_HT_HEADER, //Short PHY header
WIFI_PPDU_FIELD_DATA } }
{ WIFI_PREAMBLE_LONG, { WIFI_PPDU_FIELD_PREAMBLE, // PHY preamble
WIFI_PPDU_FIELD_NON_HT_HEADER, // PHY header
WIFI_PPDU_FIELD_DATA } },
{ WIFI_PREAMBLE_SHORT, { WIFI_PPDU_FIELD_PREAMBLE, // Short PHY preamble
WIFI_PPDU_FIELD_NON_HT_HEADER, // Short PHY header
WIFI_PPDU_FIELD_DATA } }
};
const PhyEntity::ModulationLookupTable DsssPhy::m_dsssModulationLookupTable {

View File

@@ -39,15 +39,15 @@ NS_LOG_COMPONENT_DEFINE ("ErpOfdmPhy");
// clang-format off
const PhyEntity::ModulationLookupTable ErpOfdmPhy::m_erpOfdmModulationLookupTable {
// Unique name Code rate Constellation size
{ "ErpOfdmRate6Mbps", { WIFI_CODE_RATE_1_2, 2 } },
{ "ErpOfdmRate9Mbps", { WIFI_CODE_RATE_3_4, 2 } },
{ "ErpOfdmRate12Mbps", { WIFI_CODE_RATE_1_2, 4 } },
{ "ErpOfdmRate18Mbps", { WIFI_CODE_RATE_3_4, 4 } },
{ "ErpOfdmRate24Mbps", { WIFI_CODE_RATE_1_2, 16 } },
{ "ErpOfdmRate36Mbps", { WIFI_CODE_RATE_3_4, 16 } },
{ "ErpOfdmRate48Mbps", { WIFI_CODE_RATE_2_3, 64 } },
{ "ErpOfdmRate54Mbps", { WIFI_CODE_RATE_3_4, 64 } }
// Unique name Code rate Constellation size
{ "ErpOfdmRate6Mbps", { WIFI_CODE_RATE_1_2, 2 } },
{ "ErpOfdmRate9Mbps", { WIFI_CODE_RATE_3_4, 2 } },
{ "ErpOfdmRate12Mbps", { WIFI_CODE_RATE_1_2, 4 } },
{ "ErpOfdmRate18Mbps", { WIFI_CODE_RATE_3_4, 4 } },
{ "ErpOfdmRate24Mbps", { WIFI_CODE_RATE_1_2, 16 } },
{ "ErpOfdmRate36Mbps", { WIFI_CODE_RATE_3_4, 16 } },
{ "ErpOfdmRate48Mbps", { WIFI_CODE_RATE_2_3, 64 } },
{ "ErpOfdmRate54Mbps", { WIFI_CODE_RATE_3_4, 64 } }
};
/// ERP OFDM rates in bits per second

View File

@@ -41,37 +41,37 @@ NS_LOG_COMPONENT_DEFINE ("OfdmPhy");
// clang-format off
const PhyEntity::PpduFormats OfdmPhy::m_ofdmPpduFormats {
{ WIFI_PREAMBLE_LONG, { WIFI_PPDU_FIELD_PREAMBLE, //STF + LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, //SIG
WIFI_PPDU_FIELD_DATA } }
{ WIFI_PREAMBLE_LONG, { WIFI_PPDU_FIELD_PREAMBLE, // STF + LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, // SIG
WIFI_PPDU_FIELD_DATA } }
};
const PhyEntity::ModulationLookupTable OfdmPhy::m_ofdmModulationLookupTable {
// Unique name Code rate Constellation size
{ "OfdmRate6Mbps", { WIFI_CODE_RATE_1_2, 2 } }, // 20 MHz
{ "OfdmRate9Mbps", { WIFI_CODE_RATE_3_4, 2 } }, // |
{ "OfdmRate12Mbps", { WIFI_CODE_RATE_1_2, 4 } }, // V
{ "OfdmRate18Mbps", { WIFI_CODE_RATE_3_4, 4 } },
{ "OfdmRate24Mbps", { WIFI_CODE_RATE_1_2, 16 } },
{ "OfdmRate36Mbps", { WIFI_CODE_RATE_3_4, 16 } },
{ "OfdmRate48Mbps", { WIFI_CODE_RATE_2_3, 64 } },
{ "OfdmRate54Mbps", { WIFI_CODE_RATE_3_4, 64 } },
{ "OfdmRate3MbpsBW10MHz", { WIFI_CODE_RATE_1_2, 2 } }, // 10 MHz
{ "OfdmRate4_5MbpsBW10MHz", { WIFI_CODE_RATE_3_4, 2 } }, // |
{ "OfdmRate6MbpsBW10MHz", { WIFI_CODE_RATE_1_2, 4 } }, // V
{ "OfdmRate9MbpsBW10MHz", { WIFI_CODE_RATE_3_4, 4 } },
{ "OfdmRate12MbpsBW10MHz", { WIFI_CODE_RATE_1_2, 16 } },
{ "OfdmRate18MbpsBW10MHz", { WIFI_CODE_RATE_3_4, 16 } },
{ "OfdmRate24MbpsBW10MHz", { WIFI_CODE_RATE_2_3, 64 } },
{ "OfdmRate27MbpsBW10MHz", { WIFI_CODE_RATE_3_4, 64 } },
{ "OfdmRate1_5MbpsBW5MHz", { WIFI_CODE_RATE_1_2, 2 } }, // 5 MHz
{ "OfdmRate2_25MbpsBW5MHz", { WIFI_CODE_RATE_3_4, 2 } }, // |
{ "OfdmRate3MbpsBW5MHz", { WIFI_CODE_RATE_1_2, 4 } }, // V
{ "OfdmRate4_5MbpsBW5MHz", { WIFI_CODE_RATE_3_4, 4 } },
{ "OfdmRate6MbpsBW5MHz", { WIFI_CODE_RATE_1_2, 16 } },
{ "OfdmRate9MbpsBW5MHz", { WIFI_CODE_RATE_3_4, 16 } },
{ "OfdmRate12MbpsBW5MHz", { WIFI_CODE_RATE_2_3, 64 } },
{ "OfdmRate13_5MbpsBW5MHz", { WIFI_CODE_RATE_3_4, 64 } }
// Unique name Code rate Constellation size
{ "OfdmRate6Mbps", { WIFI_CODE_RATE_1_2, 2 } }, // 20 MHz
{ "OfdmRate9Mbps", { WIFI_CODE_RATE_3_4, 2 } }, // |
{ "OfdmRate12Mbps", { WIFI_CODE_RATE_1_2, 4 } }, // V
{ "OfdmRate18Mbps", { WIFI_CODE_RATE_3_4, 4 } },
{ "OfdmRate24Mbps", { WIFI_CODE_RATE_1_2, 16 } },
{ "OfdmRate36Mbps", { WIFI_CODE_RATE_3_4, 16 } },
{ "OfdmRate48Mbps", { WIFI_CODE_RATE_2_3, 64 } },
{ "OfdmRate54Mbps", { WIFI_CODE_RATE_3_4, 64 } },
{ "OfdmRate3MbpsBW10MHz", { WIFI_CODE_RATE_1_2, 2 } }, // 10 MHz
{ "OfdmRate4_5MbpsBW10MHz", { WIFI_CODE_RATE_3_4, 2 } }, // |
{ "OfdmRate6MbpsBW10MHz", { WIFI_CODE_RATE_1_2, 4 } }, // V
{ "OfdmRate9MbpsBW10MHz", { WIFI_CODE_RATE_3_4, 4 } },
{ "OfdmRate12MbpsBW10MHz", { WIFI_CODE_RATE_1_2, 16 } },
{ "OfdmRate18MbpsBW10MHz", { WIFI_CODE_RATE_3_4, 16 } },
{ "OfdmRate24MbpsBW10MHz", { WIFI_CODE_RATE_2_3, 64 } },
{ "OfdmRate27MbpsBW10MHz", { WIFI_CODE_RATE_3_4, 64 } },
{ "OfdmRate1_5MbpsBW5MHz", { WIFI_CODE_RATE_1_2, 2 } }, // 5 MHz
{ "OfdmRate2_25MbpsBW5MHz", { WIFI_CODE_RATE_3_4, 2 } }, // |
{ "OfdmRate3MbpsBW5MHz", { WIFI_CODE_RATE_1_2, 4 } }, // V
{ "OfdmRate4_5MbpsBW5MHz", { WIFI_CODE_RATE_3_4, 4 } },
{ "OfdmRate6MbpsBW5MHz", { WIFI_CODE_RATE_1_2, 16 } },
{ "OfdmRate9MbpsBW5MHz", { WIFI_CODE_RATE_3_4, 16 } },
{ "OfdmRate12MbpsBW5MHz", { WIFI_CODE_RATE_2_3, 64 } },
{ "OfdmRate13_5MbpsBW5MHz", { WIFI_CODE_RATE_3_4, 64 } }
};
/// OFDM rates in bits per second for each bandwidth (MHz)

View File

@@ -1257,7 +1257,7 @@ MinstrelHtWifiManager::FindRate (MinstrelHtWifiRemoteStation *station)
station->m_sampleWait--;
}
/// Continue using the best rate.
/// Continue using the best rate.
NS_LOG_DEBUG ("FindRate " << "maxTpRrate=" << station->m_maxTpRate);
return station->m_maxTpRate;

View File

@@ -41,53 +41,53 @@ NS_LOG_COMPONENT_DEFINE ("VhtPhy");
// clang-format off
const PhyEntity::PpduFormats VhtPhy::m_vhtPpduFormats {
{ WIFI_PREAMBLE_VHT_SU, { WIFI_PPDU_FIELD_PREAMBLE, //L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, //L-SIG
WIFI_PPDU_FIELD_SIG_A, //VHT-SIG-A
WIFI_PPDU_FIELD_TRAINING, //VHT-STF + VHT-LTFs
WIFI_PPDU_FIELD_DATA } },
{ WIFI_PREAMBLE_VHT_MU, { WIFI_PPDU_FIELD_PREAMBLE, //L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, //L-SIG
WIFI_PPDU_FIELD_SIG_A, //VHT-SIG-A
WIFI_PPDU_FIELD_TRAINING, //VHT-STF + VHT-LTFs
WIFI_PPDU_FIELD_SIG_B, //VHT-SIG-B
WIFI_PPDU_FIELD_DATA } }
{ WIFI_PREAMBLE_VHT_SU, { WIFI_PPDU_FIELD_PREAMBLE, // L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, // L-SIG
WIFI_PPDU_FIELD_SIG_A, // VHT-SIG-A
WIFI_PPDU_FIELD_TRAINING, // VHT-STF + VHT-LTFs
WIFI_PPDU_FIELD_DATA } },
{ WIFI_PREAMBLE_VHT_MU, { WIFI_PPDU_FIELD_PREAMBLE, // L-STF + L-LTF
WIFI_PPDU_FIELD_NON_HT_HEADER, // L-SIG
WIFI_PPDU_FIELD_SIG_A, // VHT-SIG-A
WIFI_PPDU_FIELD_TRAINING, // VHT-STF + VHT-LTFs
WIFI_PPDU_FIELD_SIG_B, // VHT-SIG-B
WIFI_PPDU_FIELD_DATA } }
};
const VhtPhy::NesExceptionMap VhtPhy::m_exceptionsMap {
/* {BW,Nss,MCS} Nes */
{ std::make_tuple ( 80, 7, 2), 3 }, //instead of 2
{ std::make_tuple ( 80, 7, 7), 6 }, //instead of 4
{ std::make_tuple ( 80, 7, 8), 6 }, //instead of 5
{ std::make_tuple ( 80, 8, 7), 6 }, //instead of 5
{ std::make_tuple (160, 4, 7), 6 }, //instead of 5
{ std::make_tuple (160, 5, 8), 8 }, //instead of 7
{ std::make_tuple (160, 6, 7), 8 }, //instead of 7
{ std::make_tuple (160, 7, 3), 4 }, //instead of 3
{ std::make_tuple (160, 7, 4), 6 }, //instead of 5
{ std::make_tuple (160, 7, 5), 7 }, //instead of 6
{ std::make_tuple (160, 7, 7), 9 }, //instead of 8
{ std::make_tuple (160, 7, 8), 12 }, //instead of 9
{ std::make_tuple (160, 7, 9), 12 } //instead of 10
/* {BW,Nss,MCS} Nes */
{ std::make_tuple ( 80, 7, 2), 3 }, // instead of 2
{ std::make_tuple ( 80, 7, 7), 6 }, // instead of 4
{ std::make_tuple ( 80, 7, 8), 6 }, // instead of 5
{ std::make_tuple ( 80, 8, 7), 6 }, // instead of 5
{ std::make_tuple (160, 4, 7), 6 }, // instead of 5
{ std::make_tuple (160, 5, 8), 8 }, // instead of 7
{ std::make_tuple (160, 6, 7), 8 }, // instead of 7
{ std::make_tuple (160, 7, 3), 4 }, // instead of 3
{ std::make_tuple (160, 7, 4), 6 }, // instead of 5
{ std::make_tuple (160, 7, 5), 7 }, // instead of 6
{ std::make_tuple (160, 7, 7), 9 }, // instead of 8
{ std::make_tuple (160, 7, 8), 12 }, // instead of 9
{ std::make_tuple (160, 7, 9), 12 }, // instead of 10
};
/**
* \brief map a given channel list type to the corresponding scaling factor in dBm
*/
const std::map<WifiChannelListType, double> channelTypeToScalingFactorDbm {
{WIFI_CHANLIST_PRIMARY, 0.0},
{WIFI_CHANLIST_SECONDARY, 0.0},
{WIFI_CHANLIST_SECONDARY40, 3.0},
{WIFI_CHANLIST_SECONDARY80, 6.0}
{WIFI_CHANLIST_PRIMARY, 0.0},
{WIFI_CHANLIST_SECONDARY, 0.0},
{WIFI_CHANLIST_SECONDARY40, 3.0},
{WIFI_CHANLIST_SECONDARY80, 6.0},
};
/**
* \brief map a given secondary channel width to its channel list type
*/
const std::map<uint16_t, WifiChannelListType> secondaryChannels {
{20, WIFI_CHANLIST_SECONDARY},
{40, WIFI_CHANLIST_SECONDARY40},
{80, WIFI_CHANLIST_SECONDARY80}
{20, WIFI_CHANLIST_SECONDARY},
{40, WIFI_CHANLIST_SECONDARY40},
{80, WIFI_CHANLIST_SECONDARY80},
};
// clang-format on

View File

@@ -619,12 +619,9 @@ protected:
Ptr<WifiPhy> phy; //!< Wifi PHY object
Ptr<ChannelAccessManager> channelAccessManager; //!< channel access manager object
Ptr<FrameExchangeManager> feManager; //!< Frame Exchange Manager object
Ptr<WifiRemoteStationManager> stationManager; /**< Remote station manager (rate control, RTS/CTS/
fragmentation thresholds etc.) */
bool erpSupported {false}; /**< set to \c true iff this WifiMac is
to model 802.11g */
bool dsssSupported {false}; /**< set to \c true iff this WifiMac is
to model 802.11b */
Ptr<WifiRemoteStationManager> stationManager; //!< Remote station manager (rate control, RTS/CTS/fragmentation thresholds etc.)
bool erpSupported {false}; //!< set to \c true iff this WifiMac is to model 802.11g
bool dsssSupported {false}; //!< set to \c true iff this WifiMac is to model 802.11b
};
/**

View File

@@ -645,7 +645,7 @@ PowerRateAdaptationTest::TestRrpaa ()
* Rate Decrease or Power Increase limits (RD-PI)
* Power Decrease limits (PD)
*
* Mode EWND MTL ORI RI-PD RD-PI PD
* Mode EWND MTL ORI RI-PD RD-PI PD
* succ fails succ fails
* OfdmRate6Mbps 8 1 0.19861 7 8 2
* OfdmRate9Mbps 11 0.397219 0.14556 10 5 7 2