author | Mathieu Lacage <mathieu.lacage@sophia.inria.fr> |
Mon, 19 Nov 2007 16:20:30 +0100 | |
changeset 2145 | 8f3c8ef34b0a |
parent 2138 | 0e57bc8e2f94 |
child 2282 | 6320b3a7f382 |
permissions | -rw-r--r-- |
2095
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
1 |
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
2 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
3 |
#include "ns3/nstime.h" |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
4 |
#include "ns3/event-id.h" |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
5 |
#include <vector> |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
6 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
7 |
namespace ns3 { |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
8 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
9 |
class MacParameters; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
10 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
11 |
class DcfState |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
12 |
{ |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
13 |
public: |
2100
1b8cc486edd9
initialize more state variables
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2099
diff
changeset
|
14 |
DcfState (); |
1b8cc486edd9
initialize more state variables
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2099
diff
changeset
|
15 |
|
2095
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
16 |
virtual ~DcfState (); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
17 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
18 |
void SetAifsn (uint32_t aifsn); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
19 |
void SetCwBounds (uint32_t minCw, uint32_t maxCw); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
20 |
void ResetCw (void); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
21 |
void UpdateFailedCw (void); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
22 |
void StartBackoffNow (uint32_t nSlots); |
2138
0e57bc8e2f94
make the GetCw method public to allow DcaTxop to pick a random backoff duration
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2123
diff
changeset
|
23 |
uint32_t GetCw (void) const; |
2145
8f3c8ef34b0a
use a simple request/grant scheme for dcf accesses
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2138
diff
changeset
|
24 |
bool IsAccessRequested (void) const; |
2095
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
25 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
26 |
private: |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
27 |
friend class DcfManager; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
28 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
29 |
uint32_t GetAifsn (void) const; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
30 |
uint32_t GetBackoffSlots (void) const; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
31 |
Time GetBackoffStart (void) const; |
2122
ee136bc4f214
keep track of the last time a backoff was updated.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2107
diff
changeset
|
32 |
void UpdateBackoffSlotsNow (uint32_t nSlots, Time backoffUpdateBound); |
2145
8f3c8ef34b0a
use a simple request/grant scheme for dcf accesses
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2138
diff
changeset
|
33 |
void NotifyAccessRequested (void); |
8f3c8ef34b0a
use a simple request/grant scheme for dcf accesses
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2138
diff
changeset
|
34 |
void NotifyAccessGranted (void); |
8f3c8ef34b0a
use a simple request/grant scheme for dcf accesses
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2138
diff
changeset
|
35 |
void NotifyCollision (void); |
8f3c8ef34b0a
use a simple request/grant scheme for dcf accesses
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2138
diff
changeset
|
36 |
void NotifyInternalCollision (void); |
2095
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
37 |
|
2145
8f3c8ef34b0a
use a simple request/grant scheme for dcf accesses
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2138
diff
changeset
|
38 |
|
8f3c8ef34b0a
use a simple request/grant scheme for dcf accesses
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2138
diff
changeset
|
39 |
virtual void DoNotifyAccessGranted (void) = 0; |
8f3c8ef34b0a
use a simple request/grant scheme for dcf accesses
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2138
diff
changeset
|
40 |
virtual void DoNotifyInternalCollision (void) = 0; |
8f3c8ef34b0a
use a simple request/grant scheme for dcf accesses
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2138
diff
changeset
|
41 |
virtual void DoNotifyCollision (void) = 0; |
2095
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
42 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
43 |
uint32_t m_aifsn; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
44 |
uint32_t m_backoffSlots; |
2123
af94e972806a
add a small comment
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2122
diff
changeset
|
45 |
// the backoffStart variable is used to keep track of the |
af94e972806a
add a small comment
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2122
diff
changeset
|
46 |
// time at which a backoff was started or the time at which |
af94e972806a
add a small comment
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2122
diff
changeset
|
47 |
// the backoff counter was last updated. |
2095
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
48 |
Time m_backoffStart; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
49 |
uint32_t m_cwMin; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
50 |
uint32_t m_cwMax; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
51 |
uint32_t m_cw; |
2145
8f3c8ef34b0a
use a simple request/grant scheme for dcf accesses
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2138
diff
changeset
|
52 |
bool m_accessRequested; |
2095
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
53 |
}; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
54 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
55 |
class DcfManager |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
56 |
{ |
2096 | 57 |
public: |
2099
de25c6d81572
initialize state variables
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2096
diff
changeset
|
58 |
DcfManager (); |
de25c6d81572
initialize state variables
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2096
diff
changeset
|
59 |
|
2105
e883a100109a
get rid of MacParameters from DcfManager
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2100
diff
changeset
|
60 |
void SetSlotTime (Time slotTime); |
e883a100109a
get rid of MacParameters from DcfManager
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2100
diff
changeset
|
61 |
void SetSifs (Time sifs); |
2095
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
62 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
63 |
// at the lowest mandatory rate. |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
64 |
// used for EIFS calculation. |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
65 |
void SetAckTxDuration (Time ackTxDuration); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
66 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
67 |
void Add (DcfState *dcf); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
68 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
69 |
void RequestAccess (DcfState *state); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
70 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
71 |
/** |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
72 |
* \param duration expected duration of reception |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
73 |
* |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
74 |
* Notify the DCF that a packet reception started |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
75 |
* for the expected duration. |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
76 |
*/ |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
77 |
void NotifyRxStartNow (Time duration); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
78 |
/** |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
79 |
* Notify the DCF that a packet reception was just |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
80 |
* completed successfully. |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
81 |
*/ |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
82 |
void NotifyRxEndOkNow (void); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
83 |
/** |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
84 |
* Notify the DCF that a packet reception was just |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
85 |
* completed unsuccessfully. |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
86 |
*/ |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
87 |
void NotifyRxEndErrorNow (void); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
88 |
/** |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
89 |
* \param duration expected duration of transmission |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
90 |
* |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
91 |
* Notify the DCF that a packet transmission was |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
92 |
* just started and is expected to last for the specified |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
93 |
* duration. |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
94 |
*/ |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
95 |
void NotifyTxStartNow (Time duration); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
96 |
/** |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
97 |
* \param duration expected duration of cca busy period |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
98 |
* |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
99 |
* Notify the DCF that a CCA busy period has just started. |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
100 |
*/ |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
101 |
void NotifyCcaBusyStartNow (Time duration); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
102 |
/** |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
103 |
* \param duration the value of the received NAV. |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
104 |
* |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
105 |
* Called at end of rx |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
106 |
*/ |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
107 |
void NotifyNavResetNow (Time duration); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
108 |
/** |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
109 |
* \param duration the value of the received NAV. |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
110 |
* |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
111 |
* Called at end of rx |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
112 |
*/ |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
113 |
void NotifyNavStartNow (Time duration); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
114 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
115 |
private: |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
116 |
void UpdateBackoff (void); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
117 |
Time MostRecent (Time a, Time b) const; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
118 |
Time MostRecent (Time a, Time b, Time c) const; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
119 |
Time MostRecent (Time a, Time b, Time c, Time d) const; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
120 |
/** |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
121 |
* Access will never be granted to the medium _before_ |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
122 |
* the time returned by this method. |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
123 |
* |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
124 |
* \returns the absolute time at which access could start to |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
125 |
* be granted |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
126 |
*/ |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
127 |
Time GetAccessGrantStart (void) const; |
2107
9adb9e6d7bc7
improve debugging output. introduce GetBackoffStartFor and GetBackoffEndFor
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2105
diff
changeset
|
128 |
Time GetBackoffStartFor (DcfState *state); |
9adb9e6d7bc7
improve debugging output. introduce GetBackoffStartFor and GetBackoffEndFor
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2105
diff
changeset
|
129 |
Time GetBackoffEndFor (DcfState *state); |
2095
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
130 |
void DoRestartAccessTimeoutIfNeeded (void); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
131 |
void AccessTimeout (void); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
132 |
void DoGrantAccess (void); |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
133 |
bool IsBusy (void) const; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
134 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
135 |
typedef std::vector<DcfState *> States; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
136 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
137 |
States m_states; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
138 |
Time m_lastNavStart; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
139 |
Time m_lastNavDuration; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
140 |
Time m_lastRxStart; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
141 |
Time m_lastRxDuration; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
142 |
bool m_lastRxReceivedOk; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
143 |
Time m_lastRxEnd; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
144 |
Time m_lastTxStart; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
145 |
Time m_lastTxDuration; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
146 |
Time m_lastBusyStart; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
147 |
Time m_lastBusyDuration; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
148 |
bool m_rxing; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
149 |
bool m_sleeping; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
150 |
Time m_ackTxTime; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
151 |
EventId m_accessTimeout; |
2105
e883a100109a
get rid of MacParameters from DcfManager
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2100
diff
changeset
|
152 |
Time m_slotTime; |
e883a100109a
get rid of MacParameters from DcfManager
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2100
diff
changeset
|
153 |
Time m_sifs; |
2095
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
154 |
}; |
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
155 |
|
f6ec39e97e4b
a new (wholy untested) Dcf implementation
mlacage@thira.inria.fr
parents:
diff
changeset
|
156 |
} // namespace ns3 |