24 #include "ns3/nstime.h"
171 std::set<uint8_t>
GetTids (
void)
const;
224 std::vector<Ptr<WifiMacQueueItem>>::const_iterator
begin (
void)
const;
231 std::vector<Ptr<WifiMacQueueItem>>::iterator
begin (
void);
238 std::vector<Ptr<WifiMacQueueItem>>::const_iterator
end (
void)
const;
245 std::vector<Ptr<WifiMacQueueItem>>::iterator
end (
void);
251 void Print (std::ostream &os)
const;
A template-based reference counting class.
Simulation virtual time values and global simulation resolution.
WifiPsdu stores an MPDU, S-MPDU or A-MPDU, by keeping header(s) and payload(s) separate for each cons...
Time GetDuration(void) const
Get the duration from the Duration/ID field, which is common to all the MPDUs.
uint32_t GetSize(void) const
Return the size of the PSDU in bytes.
void SetAckPolicyForTid(uint8_t tid, WifiMacHeader::QosAckPolicy policy)
Set the QoS Ack Policy of the QoS Data frames included in the PSDU that have the given TID to the giv...
std::vector< Ptr< WifiMacQueueItem > >::const_iterator begin(void) const
Return a const iterator to the first MPDU.
const WifiMacHeader & GetHeader(std::size_t i) const
Get the header of the i-th MPDU.
std::size_t GetNMpdus(void) const
Return the number of MPDUs constituting the PSDU.
std::vector< Ptr< WifiMacQueueItem > > m_mpduList
list of constituent MPDUs
void Print(std::ostream &os) const
Print the PSDU contents.
Ptr< Packet > GetAmpduSubframe(std::size_t i) const
Get a copy of the i-th A-MPDU subframe (includes subframe header, MPDU, and possibly padding)
WifiPsdu(Ptr< const Packet > p, const WifiMacHeader &header)
Create a PSDU storing an MPDU.
std::vector< Ptr< WifiMacQueueItem > >::const_iterator end(void) const
Return a const iterator to past-the-last MPDU.
uint32_t m_size
the size of the PSDU in bytes
Ptr< const Packet > GetPayload(std::size_t i) const
Get the payload of the i-th MPDU.
std::size_t GetAmpduSubframeSize(std::size_t i) const
Return the size of the i-th A-MPDU subframe.
bool IsAggregate(void) const
Return true if the PSDU is an S-MPDU or A-MPDU.
bool m_isSingle
true for an S-MPDU
Mac48Address GetAddr2(void) const
Get the Transmitter Address (TA), which is common to all the MPDUs.
void SetDuration(Time duration)
Set the Duration/ID field on all the MPDUs.
bool IsSingle(void) const
Return true if the PSDU is an S-MPDU.
Mac48Address GetAddr1(void) const
Get the Receiver Address (RA), which is common to all the MPDUs.
uint16_t GetMaxDistFromStartingSeq(uint16_t startingSeq) const
Get the maximum distance between the sequence number of any QoS Data frame included in this PSDU that...
Time GetTimeStamp(std::size_t i) const
Get the timestamp of the i-th MPDU.
std::set< uint8_t > GetTids(void) const
Get the set of TIDs of the QoS Data frames included in the PSDU.
WifiPsdu(Ptr< const WifiMacQueueItem > mpdu, bool isSingle)
Create a PSDU storing an MPDU or S-MPDU.
WifiMacHeader::QosAckPolicy GetAckPolicyForTid(uint8_t tid) const
Get the QoS Ack Policy of the QoS Data frames included in the PSDU that have the given TID.
Ptr< const Packet > GetPacket(void) const
Get the PSDU as a single packet.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::ostream & operator<<(std::ostream &os, const Angles &a)