33 class OriginatorRxStatus; |
33 class OriginatorRxStatus; |
34 |
34 |
35 class MacRxMiddle |
35 class MacRxMiddle |
36 { |
36 { |
37 public: |
37 public: |
38 typedef Callback<void, Packet , WifiMacHeader const *> ForwardUpCallback; |
38 typedef Callback<void, Ptr<Packet> , WifiMacHeader const *> 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 (Packet packet, WifiMacHeader const *hdr); |
45 void Receive (Ptr<Packet> packet, WifiMacHeader const *hdr); |
46 private: |
46 private: |
47 OriginatorRxStatus *Lookup (WifiMacHeader const*hdr); |
47 OriginatorRxStatus *Lookup (WifiMacHeader const*hdr); |
48 bool IsDuplicate (WifiMacHeader const *hdr, OriginatorRxStatus *originator) const; |
48 bool IsDuplicate (WifiMacHeader const *hdr, OriginatorRxStatus *originator) const; |
49 Packet HandleFragments (Packet packet, WifiMacHeader const*hdr, |
49 Ptr<Packet> HandleFragments (Ptr<Packet> packet, WifiMacHeader const*hdr, |
50 OriginatorRxStatus *originator, bool *complete); |
50 OriginatorRxStatus *originator); |
51 bool SequenceControlSmaller (int seqa, int seqb); |
51 bool SequenceControlSmaller (int seqa, int seqb); |
52 |
52 |
53 typedef std::map <Mac48Address, OriginatorRxStatus *, std::less<Mac48Address> > Originators; |
53 typedef std::map <Mac48Address, OriginatorRxStatus *, std::less<Mac48Address> > Originators; |
54 typedef std::map <std::pair<Mac48Address, uint8_t>, OriginatorRxStatus *, std::less<std::pair<Mac48Address,uint8_t> > > QosOriginators; |
54 typedef std::map <std::pair<Mac48Address, uint8_t>, OriginatorRxStatus *, std::less<std::pair<Mac48Address,uint8_t> > > QosOriginators; |
55 typedef std::map <Mac48Address, OriginatorRxStatus *, std::less<Mac48Address> >::iterator OriginatorsI; |
55 typedef std::map <Mac48Address, OriginatorRxStatus *, std::less<Mac48Address> >::iterator OriginatorsI; |