OLD | NEW |
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
2 /* | 2 /* |
3 * Copyright (c) 2005 INRIA | 3 * Copyright (c) 2005, 2009 INRIA |
| 4 * Copyright (c) 2009 MIRKO BANCHI |
4 * | 5 * |
5 * This program is free software; you can redistribute it and/or modify | 6 * This program is free software; you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 2 as· | 7 * it under the terms of the GNU General Public License version 2 as· |
7 * published by the Free Software Foundation; | 8 * published by the Free Software Foundation; |
8 * | 9 * |
9 * This program is distributed in the hope that it will be useful, | 10 * This program is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 * GNU General Public License for more details. | 13 * GNU General Public License for more details. |
13 * | 14 * |
14 * You should have received a copy of the GNU General Public License | 15 * You should have received a copy of the GNU General Public License |
15 * along with this program; if not, write to the Free Software | 16 * along with this program; if not, write to the Free Software |
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
17 * | 18 * |
18 * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr> | 19 * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr> |
| 20 * Author: Mirko Banchi <mk.banchi@gmail.com> |
19 */ | 21 */ |
20 | 22 |
21 #ifndef MAC_TX_MIDDLE_H | 23 #ifndef MAC_TX_MIDDLE_H |
22 #define MAC_TX_MIDDLE_H | 24 #define MAC_TX_MIDDLE_H |
23 | 25 |
24 #include <stdint.h> | 26 #include <stdint.h> |
| 27 #include <map> |
| 28 #include "ns3/mac48-address.h" |
25 | 29 |
26 namespace ns3 { | 30 namespace ns3 { |
27 | 31 |
28 class WifiMacHeader; | 32 class WifiMacHeader; |
29 | 33 |
30 class MacTxMiddle { | 34 class MacTxMiddle { |
31 public: | 35 public: |
32 MacTxMiddle (); | 36 MacTxMiddle (); |
| 37 ~MacTxMiddle (); |
33 | 38 |
34 uint16_t GetNextSequenceNumberfor (const WifiMacHeader *hdr); | 39 uint16_t GetNextSequenceNumberfor (const WifiMacHeader *hdr); |
35 | 40 |
36 private: | 41 private: |
37 uint16_t m_qosSequences[16]; | 42 std::map <Mac48Address,uint16_t*> m_qosSequences; |
38 uint16_t m_sequence; | 43 uint16_t m_sequence; |
39 }; | 44 }; |
40 | 45 |
41 } // namespace ns3 | 46 } // namespace ns3 |
42 | 47 |
43 #endif /* MAC_TX_MIDDLE_H */ | 48 #endif /* MAC_TX_MIDDLE_H */ |
OLD | NEW |