author | Andrey Mazo <mazo@iitp.ru> |
Fri, 23 Apr 2010 15:09:31 +0400 | |
changeset 6273 | 8d70de29d514 |
parent 5970 | 3e7938bf28b9 |
child 6592 | 6ef5141e7bcf |
permissions | -rw-r--r-- |
5951
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
1 |
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
2 |
/* |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
3 |
* Copyright (c) 2009 MIRKO BANCHI |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
4 |
* |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
5 |
* This program is free software; you can redistribute it and/or modify |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
6 |
* it under the terms of the GNU General Public License version 2 as |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
7 |
* published by the Free Software Foundation; |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
8 |
* |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
9 |
* This program is distributed in the hope that it will be useful, |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
12 |
* GNU General Public License for more details. |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
13 |
* |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
14 |
* You should have received a copy of the GNU General Public License |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
15 |
* along with this program; if not, write to the Free Software |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
16 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
17 |
* |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
18 |
* Author: Mirko Banchi <mk.banchi@gmail.com> |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
19 |
*/ |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
20 |
#ifndef ORIGINATOR_BLOCK_ACK_AGREEMENT_H |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
21 |
#define ORIGINATOR_BLOCK_ACK_AGREEMENT_H |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
22 |
|
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
23 |
#include "block-ack-agreement.h" |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
24 |
|
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
25 |
namespace ns3 { |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
26 |
|
6273
8d70de29d514
spell check, mostly in comments.
Andrey Mazo <mazo@iitp.ru>
parents:
5970
diff
changeset
|
27 |
/* \brief Maintains the state and information about transmitted MPDUs with ack policy block ack |
5951
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
28 |
* for an originator station. |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
29 |
*/ |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
30 |
class OriginatorBlockAckAgreement : public BlockAckAgreement |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
31 |
{ |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
32 |
friend class BlockAckManager; |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
33 |
public: |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
34 |
OriginatorBlockAckAgreement (); |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
35 |
OriginatorBlockAckAgreement (Mac48Address recipient, uint8_t tid); |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
36 |
~OriginatorBlockAckAgreement (); |
5970
3e7938bf28b9
remove useless comment for doxygen
Mirko Banchi <mk.banchi@gmail.com>
parents:
5951
diff
changeset
|
37 |
/* receive ADDBAResponse |
5951
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
38 |
* send ADDBARequest --------------- status code = success --------------- |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
39 |
* ----------------->| PENDING |------------------------>| ESTABLISHED |----- |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
40 |
* --------------- --------------- | |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
41 |
* | / ^ ^ | |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
42 |
* receive ADDBAResponse | receive BlockAck / | | | receive BlockAck |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
43 |
* status code = failure | retryPkts + queuePkts / | | | retryPkts + queuePkts |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
44 |
* v < / | | | >= |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
45 |
* --------------- blockAckThreshold / | | | blockAckThreshold |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
46 |
* | UNSUCCESSFUL | / | | | |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
47 |
* --------------- v | ----------| |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
48 |
* -------------- | |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
49 |
* | INACTIVE | | |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
50 |
* -------------- | |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
51 |
* send a MPDU (Normal Ack) | | |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
52 |
* retryPkts + queuePkts | | |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
53 |
* >= | | |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
54 |
* blockAckThreshold |---------------- |
5970
3e7938bf28b9
remove useless comment for doxygen
Mirko Banchi <mk.banchi@gmail.com>
parents:
5951
diff
changeset
|
55 |
*/ |
3e7938bf28b9
remove useless comment for doxygen
Mirko Banchi <mk.banchi@gmail.com>
parents:
5951
diff
changeset
|
56 |
/** |
3e7938bf28b9
remove useless comment for doxygen
Mirko Banchi <mk.banchi@gmail.com>
parents:
5951
diff
changeset
|
57 |
* Represents the state for this agreement. |
5951
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
58 |
* |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
59 |
* PENDING: |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
60 |
* If an agreement is in PENDING state it means that an ADDBARequest frame was sent to |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
61 |
* recipient in order to setup the block ack and the originator is waiting for the relative |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
62 |
* ADDBAResponse frame. |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
63 |
* |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
64 |
* ESTABLISHED: |
6273
8d70de29d514
spell check, mostly in comments.
Andrey Mazo <mazo@iitp.ru>
parents:
5970
diff
changeset
|
65 |
* The block ack is active and all packets relative to this agreement are transmitted |
5951
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
66 |
* with ack policy set to block ack. |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
67 |
* |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
68 |
* INACTIVE: |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
69 |
* In our implementation, block ack tear-down happens only if an inactivity timeout occurs |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
70 |
* so we could have an active block ack but a number of packets that doesn't reach the value of |
6273
8d70de29d514
spell check, mostly in comments.
Andrey Mazo <mazo@iitp.ru>
parents:
5970
diff
changeset
|
71 |
* m_blockAckThreshold (see ns3::BlockAckManager). In these conditions the agreement becomes |
5951
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
72 |
* INACTIVE until that the number of packets reaches the value of m_blockAckThreshold again. |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
73 |
* |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
74 |
* UNSUCCESSFUL (not used for now): |
6273
8d70de29d514
spell check, mostly in comments.
Andrey Mazo <mazo@iitp.ru>
parents:
5970
diff
changeset
|
75 |
* The agreement's state becomes UNSUCCESSFUL if: |
5951
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
76 |
* |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
77 |
* - its previous state was PENDING and an ADDBAResponse frame wasn't received from |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
78 |
* recipient station within an interval of time defined by m_bAckSetupTimeout attribute |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
79 |
* in ns3::WifiMac. |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
80 |
* - an ADDBAResponse frame is received from recipient and the Status Code field is set |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
81 |
* to failure. |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
82 |
* |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
83 |
* In both cases for station addressed by BlockAckAgreement::m_peer and for |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
84 |
* TID BlockAckAgreement::m_tid block ack mechanism won't be used. |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
85 |
*/ |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
86 |
enum State { |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
87 |
PENDING, |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
88 |
ESTABLISHED, |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
89 |
INACTIVE, |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
90 |
UNSUCCESSFUL |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
91 |
}; |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
92 |
void SetState (enum State state); |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
93 |
bool IsPending (void) const; |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
94 |
bool IsEstablished (void) const; |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
95 |
bool IsInactive (void) const; |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
96 |
bool IsUnsuccessful (void) const; |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
97 |
/** |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
98 |
* Notifies a packet's transmission with ack policy Block Ack. |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
99 |
*/ |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
100 |
void NotifyMpduTransmission (void); |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
101 |
/** |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
102 |
* Returns true if all packets for which a block ack was negotiated have been transmitted so |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
103 |
* a block ack request is needed in order to acknowledge them. |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
104 |
*/ |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
105 |
bool NeedBlockAckRequest (void) const; |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
106 |
void CompleteExchange (void); |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
107 |
|
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
108 |
private: |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
109 |
enum State m_state; |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
110 |
uint8_t m_sentMpdus; |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
111 |
}; |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
112 |
|
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
113 |
} //namespace ns3 |
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
114 |
|
083b4c1ec98d
add BlockAckAgreement and OriginatorBlockAckAgreement objects
Mirko Banchi <mk.banchi@gmail.com>
parents:
diff
changeset
|
115 |
#endif /* ORIGINATOR_BLOCK_ACK_AGREEMENT_H */ |