22 #include "ns3/socket.h" 23 #include "ns3/queue-item.h" 76 uint16_t numberSeq = (seqControl >> 4) & 0x0fff;
77 integer = (4096 - (endSequence + 1) + numberSeq) % 4096;
79 integer += (seqControl & 0x000f);
88 uint16_t distance = ((seqNumber - startingSeq) + 4096) % 4096;
89 return (distance >= 2048);
148 NS_FATAL_ERROR (
"Cannot extract Traffic ID from this BA action frame");
154 NS_FATAL_ERROR (
"Cannot extract Traffic ID from this action frame");
166 uint8_t dscp, priority = 0;
172 priority = dscp >> 5;
uint32_t RemoveHeader(Header &header)
Deserialize and remove the header from the internal buffer.
NS_ASSERT_MSG(false, "Ipv4AddressGenerator::MaskToIndex(): Impossible")
uint8_t GetPriority(void) const
Get the tag's priority.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
bool QosUtilsIsOldPacket(uint16_t startingSeq, uint16_t seqNumber)
This function checks if packet with sequence number seqNumber is an "old" packet. ...
Ptr< Packet > GetPacket(void) const
uint8_t QosUtilsGetTidForPacket(Ptr< const Packet > packet)
If a qos tag is attached to the packet, returns a value < 8.
bool ReplacePacketTag(Tag &tag)
Replace the value of a packet tag.
indicates whether the socket has a priority set.
AcIndex QosUtilsMapTidToAc(uint8_t tid)
Maps TID (Traffic ID) to Access classes.
uint32_t PeekHeader(Header &header) const
Deserialize but does not remove the header from the internal buffer.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uint8_t SelectQueueByDSField(Ptr< QueueItem > item)
Determine the tx queue for a given packet.
Ptr< Packet > Copy(void) const
performs a COW copy of the packet.
uint8_t GetTid(Ptr< const Packet > packet, const WifiMacHeader hdr)
Extraction operator for TypeId.
virtual bool GetUint8Value(Uint8Values field, uint8_t &value) const
Retrieve the value of a given field from the packet, if present.
uint32_t QosUtilsMapSeqControlToUniqueInteger(uint16_t seqControl, uint16_t endSequence)
Next function is useful to correctly sort buffered packets under block ack.
bool PeekPacketTag(Tag &tag) const
Search a matching tag and call Tag::Deserialize if it is found.
void SetPriority(uint8_t priority)
Set the tag's priority.
AcIndex
This enumeration defines the Access Categories as an enumeration with values corresponding to the AC ...