65 #include "ns3/packet.h"
66 #include "ns3/queue.h"
67 #include "ns3/nstime.h"
68 #include "ns3/boolean.h"
69 #include "ns3/data-rate.h"
70 #include "ns3/nstime.h"
75 class UniformRandomVariable;
158 void SetTh (
double minTh,
double maxTh);
185 double Estimator (uint32_t nQueued, uint32_t m,
double qAvg,
double qW);
189 double CalculatePNew (
double qAvg,
double maxTh,
bool gentle,
double vA,
190 double vB,
double vC,
double vD,
double maxP);
192 double ModifyP (
double p, uint32_t count, uint32_t countBytes,
193 uint32_t meanPktSize,
bool wait, uint32_t size);
270 #endif // RED_QUEUE_H
uint32_t qLimDrop
Forced drops, qavg > max threshold.
Ptr< UniformRandomVariable > m_uv
keep track of time values and allow control of global simulation resolution
uint32_t DropEarly(Ptr< Packet > p, uint32_t qSize)
virtual ~RedQueue()
Destructor.
void SetMode(RedQueue::QueueMode mode)
Set the operating mode of this queue.
void SetQueueLimit(uint32_t lim)
Set the limit of the queue.
virtual Ptr< Packet > DoDequeue(void)
virtual bool DoEnqueue(Ptr< Packet > p)
Abstract base class for packet Queues.
Class for representing data rates.
uint32_t GetQueueSize(void)
Get the current value of the queue in bytes or packets.
int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
std::list< Ptr< Packet > > m_packets
RedQueue::QueueMode GetMode(void)
Get the encapsulation mode of this queue.
Stats GetStats()
Get the RED statistics after running.
virtual Ptr< const Packet > DoPeek(void) const
RedQueue()
RedQueue Constructor.
static TypeId GetTypeId(void)
double Estimator(uint32_t nQueued, uint32_t m, double qAvg, double qW)
void SetTh(double minTh, double maxTh)
Set the thresh limits of RED.
double ModifyP(double p, uint32_t count, uint32_t countBytes, uint32_t meanPktSize, bool wait, uint32_t size)
void InitializeParams(void)
double CalculatePNew(double qAvg, double maxTh, bool gentle, double vA, double vB, double vC, double vD, double maxP)
QueueMode
Enumeration of the modes supported in the class.
uint32_t forcedDrop
Early probability drops.
a unique identifier for an interface.
A "forced" drop.