equal
deleted
inserted
replaced
33 namespace ns3 { |
33 namespace ns3 { |
34 |
34 |
35 class WifiMacHeader; |
35 class WifiMacHeader; |
36 class WifiNetDevice; |
36 class WifiNetDevice; |
37 class DcaTxop; |
37 class DcaTxop; |
38 class Watchdog; |
38 class WifiPhy; |
|
39 class MacStations; |
39 |
40 |
40 class MacHighNqsta { |
41 class MacHighNqsta { |
41 public: |
42 public: |
42 typedef Callback<void, Packet, const Mac48Address &> ForwardCallback; |
43 typedef Callback<void, Packet, const Mac48Address &> ForwardCallback; |
43 typedef Callback<void> AssociatedCallback; |
44 typedef Callback<void> AssociatedCallback; |
49 void SetDcaTxop (DcaTxop *dca); |
50 void SetDcaTxop (DcaTxop *dca); |
50 void SetDevice (WifiNetDevice *device); |
51 void SetDevice (WifiNetDevice *device); |
51 void SetForwardCallback (ForwardCallback callback); |
52 void SetForwardCallback (ForwardCallback callback); |
52 void SetAssociatedCallback (AssociatedCallback callback); |
53 void SetAssociatedCallback (AssociatedCallback callback); |
53 void SetDisAssociatedCallback (DisAssociatedCallback callback); |
54 void SetDisAssociatedCallback (DisAssociatedCallback callback); |
54 void SetSupportedRates (SupportedRates rates); |
55 void SetPhy (WifiPhy *phy); |
|
56 void SetStations (MacStations *stations); |
55 |
57 |
56 void SetMaxMissedBeacons (uint32_t missed); |
58 void SetMaxMissedBeacons (uint32_t missed); |
57 void SetProbeRequestTimeout (Time timeout); |
59 void SetProbeRequestTimeout (Time timeout); |
58 void SetAssocRequestTimeout (Time timeout); |
60 void SetAssocRequestTimeout (Time timeout); |
59 |
61 |
66 void Receive (Packet packet, WifiMacHeader const *hdr); |
68 void Receive (Packet packet, WifiMacHeader const *hdr); |
67 private: |
69 private: |
68 void SetBssid (Mac48Address bssid); |
70 void SetBssid (Mac48Address bssid); |
69 Mac48Address GetBroadcastBssid (void); |
71 Mac48Address GetBroadcastBssid (void); |
70 void SendProbeRequest (void); |
72 void SendProbeRequest (void); |
71 void SendAssociationRequest (); |
73 void SendAssociationRequest (void); |
72 void TryToEnsureAssociated (void); |
74 void TryToEnsureAssociated (void); |
73 void AssocRequestTimeout (void); |
75 void AssocRequestTimeout (void); |
74 void ProbeRequestTimeout (void); |
76 void ProbeRequestTimeout (void); |
75 bool IsAssociated (void); |
77 bool IsAssociated (void); |
76 SupportedRates GetSupportedRates (void); |
|
77 void MissedBeacons (void); |
78 void MissedBeacons (void); |
78 void RestartBeaconWatchdog (Time delay); |
79 void RestartBeaconWatchdog (Time delay); |
|
80 SupportedRates GetSupportedRates (void) const; |
79 enum { |
81 enum { |
80 ASSOCIATED, |
82 ASSOCIATED, |
81 WAIT_PROBE_RESP, |
83 WAIT_PROBE_RESP, |
82 WAIT_ASSOC_RESP, |
84 WAIT_ASSOC_RESP, |
83 BEACON_MISSED, |
85 BEACON_MISSED, |
89 EventId m_assocRequestEvent; |
91 EventId m_assocRequestEvent; |
90 WifiNetDevice *m_device; |
92 WifiNetDevice *m_device; |
91 ForwardCallback m_forward; |
93 ForwardCallback m_forward; |
92 AssociatedCallback m_associatedCallback; |
94 AssociatedCallback m_associatedCallback; |
93 DisAssociatedCallback m_disAssociatedCallback; |
95 DisAssociatedCallback m_disAssociatedCallback; |
94 SupportedRates m_rates; |
|
95 DcaTxop *m_dca; |
96 DcaTxop *m_dca; |
96 EventId m_beaconWatchdog; |
97 EventId m_beaconWatchdog; |
97 Time m_beaconWatchdogEnd; |
98 Time m_beaconWatchdogEnd; |
98 Mac48Address m_bssid; |
99 Mac48Address m_bssid; |
99 uint32_t m_maxMissedBeacons; |
100 uint32_t m_maxMissedBeacons; |
|
101 WifiPhy *m_phy; |
|
102 MacStations *m_stations; |
100 }; |
103 }; |
101 |
104 |
102 } // namespace ns3 |
105 } // namespace ns3 |
103 |
106 |
104 |
107 |