21 #ifndef MAC_RX_MIDDLE_H 22 #define MAC_RX_MIDDLE_H 25 #include "ns3/simple-ref-count.h" 26 #include "ns3/callback.h" 31 class OriginatorRxStatus;
119 typedef std::map <Mac48Address, OriginatorRxStatus *, std::less<Mac48Address> >
Originators;
127 typedef std::map <Mac48Address, OriginatorRxStatus *, std::less<Mac48Address> >::iterator
OriginatorsI;
std::map< std::pair< Mac48Address, uint8_t >, OriginatorRxStatus *, std::less< std::pair< Mac48Address, uint8_t > > > QosOriginators
typedef for a map between address, OriginatorRxStatus, and Traffic ID
void SetForwardCallback(ForwardUpCallback callback)
Set a callback to forward the packet up.
std::map< std::pair< Mac48Address, uint8_t >, OriginatorRxStatus *, std::less< std::pair< Mac48Address, uint8_t > > >::iterator QosOriginatorsI
typedef for an iterator for QosOriginators
This class handles duplicate detection and recomposition of fragments.
void Receive(Ptr< Packet > packet, const WifiMacHeader *hdr)
Receive a packet.
Ptr< Packet > HandleFragments(Ptr< Packet > packet, const WifiMacHeader *hdr, OriginatorRxStatus *originator)
Check if the received packet is a fragment and handle it appropriately.
std::map< Mac48Address, OriginatorRxStatus *, std::less< Mac48Address > >::iterator OriginatorsI
typedef for an iterator for Originators
OriginatorRxStatus * Lookup(const WifiMacHeader *hdr)
Look up for OriginatorRxStatus associated with the sender address (by looking at ADDR2 field in the h...
Originators m_originatorStatus
originator status
void SetPcfCallback(Callback< void > callback)
Set a callback to trigger the next PCF frame.
bool IsDuplicate(const WifiMacHeader *hdr, OriginatorRxStatus *originator) const
Check if we have already received the packet from the sender before (by looking at the sequence contr...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Callback< void > m_pcfCallback
PCF callback.
std::map< Mac48Address, OriginatorRxStatus *, std::less< Mac48Address > > Originators
typedef for a map between address and OriginatorRxStatus
Callback< void, Ptr< Packet >, const WifiMacHeader * > ForwardUpCallback
typedef for callback
friend class MacRxMiddleTest
allow MacRxMiddleTest associated class access
ForwardUpCallback m_callback
forward up callback
A class to keep track of the packet originator status.
A template-based reference counting class.
QosOriginators m_qosOriginatorStatus
QOS originator status.