src/devices/wifi/mac-rx-middle.h
changeset 5819 514ec98954ab
parent 4602 36adfa546b04
child 6600 e438f9b17c66
equal deleted inserted replaced
5818:57d0c9adbf8f 5819:514ec98954ab
    33 class OriginatorRxStatus;
    33 class OriginatorRxStatus;
    34 
    34 
    35 class MacRxMiddle
    35 class MacRxMiddle
    36 {
    36 {
    37 public:
    37 public:
    38   typedef Callback<void, Ptr<Packet> , WifiMacHeader const *> ForwardUpCallback;
    38   typedef Callback<void, Ptr<Packet>, const WifiMacHeader*> ForwardUpCallback;
    39 
    39 
    40   MacRxMiddle ();
    40   MacRxMiddle ();
    41   ~MacRxMiddle ();
    41   ~MacRxMiddle ();
    42 
    42 
    43   void SetForwardCallback (ForwardUpCallback callback);
    43   void SetForwardCallback (ForwardUpCallback callback);
    44 
    44 
    45   void Receive (Ptr<Packet> packet, WifiMacHeader const *hdr);
    45   void Receive (Ptr<Packet> packet, const WifiMacHeader *hdr);
    46 private:
    46 private:
    47   friend class MacRxMiddleTest;
    47   friend class MacRxMiddleTest;
    48   OriginatorRxStatus *Lookup (WifiMacHeader const*hdr);
    48   OriginatorRxStatus *Lookup (const WifiMacHeader* hdr);
    49   bool IsDuplicate (WifiMacHeader const *hdr, OriginatorRxStatus *originator) const;
    49   bool IsDuplicate (const WifiMacHeader* hdr, OriginatorRxStatus *originator) const;
    50   Ptr<Packet> HandleFragments (Ptr<Packet> packet, WifiMacHeader const*hdr,
    50   Ptr<Packet> HandleFragments (Ptr<Packet> packet, const WifiMacHeader* hdr,
    51                                OriginatorRxStatus *originator);
    51                                OriginatorRxStatus *originator);
    52   bool SequenceControlSmaller (uint16_t seqa, uint16_t seqb);
    52   bool SequenceControlSmaller (uint16_t seqa, uint16_t seqb);
    53 
    53 
    54   typedef std::map <Mac48Address, OriginatorRxStatus *, std::less<Mac48Address> > Originators;
    54   typedef std::map <Mac48Address, OriginatorRxStatus *, std::less<Mac48Address> > Originators;
    55   typedef std::map <std::pair<Mac48Address, uint8_t>, OriginatorRxStatus *, std::less<std::pair<Mac48Address,uint8_t> > > QosOriginators;
    55   typedef std::map <std::pair<Mac48Address, uint8_t>, OriginatorRxStatus *, std::less<std::pair<Mac48Address,uint8_t> > > QosOriginators;