LEFT | RIGHT |
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) 2007,2008,2009 INRIA, UDcast | 3 * Copyright (c) 2007,2008,2009 INRIA, UDcast |
4 * | 4 * |
5 * This program is free software; you can redistribute it and/or modify | 5 * 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 | 6 * it under the terms of the GNU General Public License version 2 as |
7 * published by the Free Software Foundation; | 7 * published by the Free Software Foundation; |
8 * | 8 * |
9 * This program is distributed in the hope that it will be useful, | 9 * This program is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 /** | 49 /** |
50 * Constructor | 50 * Constructor |
51 * | 51 * |
52 * \param ss subscriber station device | 52 * \param ss subscriber station device |
53 */ | 53 */ |
54 SSLinkManager (Ptr<SubscriberStationNetDevice> ss); | 54 SSLinkManager (Ptr<SubscriberStationNetDevice> ss); |
55 ~SSLinkManager (void); | 55 ~SSLinkManager (void); |
56 void DoDispose (void); | 56 void DoDispose (void); |
57 | 57 |
58 /** | 58 /** |
59 * Set BS EIRP function | 59 * Set BS EIRP |
60 * \param bs_eirp the BS EIRP | 60 * \param bs_eirp the BS EIRP |
61 */ | 61 */ |
62 void SetBsEirp (uint16_t bs_eirp); | 62 void SetBsEirp (uint16_t bs_eirp); |
63 /** | 63 /** |
64 * Set EIRX IR maximum function | 64 * Set EIRX IR maximum |
65 * \param eir_x_p_ir_max the EIRX IR maximum | 65 * \param eir_x_p_ir_max the EIRX IR maximum |
66 */ | 66 */ |
67 void SetEirXPIrMax (uint16_t eir_x_p_ir_max); | 67 void SetEirXPIrMax (uint16_t eir_x_p_ir_max); |
68 /** | 68 /** |
69 * Set ranging interval found function | 69 * Set ranging interval found |
70 * \param rangingIntervalFound the ranging interval found· | 70 * \param rangingIntervalFound the ranging interval found· |
71 */ | 71 */ |
72 void SetRangingIntervalFound (bool rangingIntervalFound); | 72 void SetRangingIntervalFound (bool rangingIntervalFound); |
73 /** | 73 /** |
74 * Get ranging interval found function | 74 * Get ranging interval found |
75 * \returns the ranging interval found | 75 * \returns the ranging interval found |
76 */ | 76 */ |
77 bool GetRangingIntervalFound (void) const; | 77 bool GetRangingIntervalFound (void) const; |
78 /** | 78 /** |
79 * Ser NR ranging trans opps function | 79 * Ser NR ranging trans opps |
80 * \param nrRangingTransOpps the NR ranging trans opps | 80 * \param nrRangingTransOpps the NR ranging trans opps |
81 */ | 81 */ |
82 void SetNrRangingTransOpps (uint8_t nrRangingTransOpps); | 82 void SetNrRangingTransOpps (uint8_t nrRangingTransOpps); |
83 /** | 83 /** |
84 * Set ranging CW function | 84 * Set ranging CW |
85 * \param rangingCW the ranging CW | 85 * \param rangingCW the ranging CW |
86 */ | 86 */ |
87 void SetRangingCW (uint8_t rangingCW); | 87 void SetRangingCW (uint8_t rangingCW); |
88 /// Increment NR invited polls received function | 88 /// Increment NR invited polls received |
89 void IncrementNrInvitedPollsRecvd (void); | 89 void IncrementNrInvitedPollsRecvd (void); |
90 /** | 90 /** |
91 * Get DL map sync timeput event function | 91 * Get DL map sync timeput event |
92 * \returns the event ID | 92 * \returns the event ID |
93 */ | 93 */ |
94 EventId GetDlMapSyncTimeoutEvent (void); | 94 EventId GetDlMapSyncTimeoutEvent (void); |
95 | 95 |
96 /** | 96 /** |
97 * Perform ranging function | 97 * Perform ranging |
98 * \param cid the CID | 98 * \param cid the CID |
99 * \param rngrsp the ranging response | 99 * \param rngrsp the ranging response |
100 */ | 100 */ |
101 void PerformRanging (Cid cid, RngRsp rngrsp); | 101 void PerformRanging (Cid cid, RngRsp rngrsp); |
102 /** | 102 /** |
103 * Start scanning function | 103 * Start scanning |
104 * \param type the event type | 104 * \param type the event type |
105 * \param deleteParameters the delete parameters | 105 * \param deleteParameters the delete parameters |
106 */ | 106 */ |
107 void StartScanning (SubscriberStationNetDevice::EventType type, | 107 void StartScanning (SubscriberStationNetDevice::EventType type, |
108 bool deleteParameters); | 108 bool deleteParameters); |
109 /** | 109 /** |
110 * Send ranging request function | 110 * Send ranging request |
111 * \param uiuc the UIUC | 111 * \param uiuc the UIUC |
112 * \param allocationSize the allocation size | 112 * \param allocationSize the allocation size |
113 */ | 113 */ |
114 void SendRangingRequest (uint8_t uiuc, uint16_t allocationSize); | 114 void SendRangingRequest (uint8_t uiuc, uint16_t allocationSize); |
115 /// Start contention resolution function | 115 /// Start contention resolution |
116 void StartContentionResolution (void); | 116 void StartContentionResolution (void); |
117 /// Perfrom backoff function | 117 /// Perfrom backoff |
118 void PerformBackoff (void); | 118 void PerformBackoff (void); |
119 /** | 119 /** |
120 * Is UL channel usable | 120 * Is UL channel usable |
121 * \returns the UL channel usable flag | 121 * \returns the UL channel usable flag |
122 */ | 122 */ |
123 bool IsUlChannelUsable (void); | 123 bool IsUlChannelUsable (void); |
124 /** | 124 /** |
125 * Schedule scanning request function | 125 * Schedule scanning request |
126 * \param interval the scanning request interval | 126 * \param interval the scanning request interval |
127 * \param eventType event type | 127 * \param eventType event type |
128 * \param deleteUlParameters the delete UL parameters | 128 * \param deleteUlParameters the delete UL parameters |
129 * \param eventId the event ID | 129 * \param eventId the event ID |
130 */ | 130 */ |
131 void ScheduleScanningRestart (Time interval, | 131 void ScheduleScanningRestart (Time interval, |
132 SubscriberStationNetDevice::EventType eventType, | 132 SubscriberStationNetDevice::EventType eventType, |
133 bool deleteUlParameters, EventId &eventId); | 133 bool deleteUlParameters, EventId &eventId); |
134 private: | 134 private: |
135 /// type conversion operator· | 135 /// type conversion operator· |
136 SSLinkManager (const SSLinkManager &); | 136 SSLinkManager (const SSLinkManager &); |
137 /// assignment operator | 137 /** |
| 138 * assignment operator |
| 139 * \returns SS link manager |
| 140 */ |
138 SSLinkManager & operator= (const SSLinkManager &); | 141 SSLinkManager & operator= (const SSLinkManager &); |
139 | 142 |
140 /** | 143 /** |
141 * End scanning function | 144 * End scanning |
142 * \param status the end status | 145 * \param status the end status |
143 * \param frequency the frequency | 146 * \param frequency the frequency |
144 */ | 147 */ |
145 void EndScanning (bool status, uint64_t frequency); | 148 void EndScanning (bool status, uint64_t frequency); |
146 /// Start synchronizing function | 149 /// Start synchronizing |
147 void StartSynchronizing (void); | 150 void StartSynchronizing (void); |
148 /** | 151 /** |
149 * Search for DL channel function | 152 * Search for DL channel |
150 * \param channel the DL channel | 153 * \param channel the DL channel |
151 * \returns true if found | 154 * \returns true if found |
152 */ | 155 */ |
153 bool SearchForDlChannel (uint8_t channel); | 156 bool SearchForDlChannel (uint8_t channel); |
154 /// Select random backoff function | 157 /// Select random backoff |
155 void SelectRandomBackoff (void); | 158 void SelectRandomBackoff (void); |
156 /// Increase rnaging request CW function | 159 /// Increase rnaging request CW |
157 void IncreaseRangingRequestCW (void); | 160 void IncreaseRangingRequestCW (void); |
158 /// Reset ranging request CW function | 161 /// Reset ranging request CW |
159 void ResetRangingRequestCW (void); | 162 void ResetRangingRequestCW (void); |
160 /// Delete uplink parameters function | 163 /// Delete uplink parameters |
161 void DeleteUplinkParameters (void); | 164 void DeleteUplinkParameters (void); |
162 /** | 165 /** |
163 * Adjust ranging parameters function | 166 * Adjust ranging parameters |
164 * \param rngrsp the ranging response | 167 * \param rngrsp the ranging response |
165 */ | 168 */ |
166 void AdjustRangingParameters (const RngRsp &rngrsp); | 169 void AdjustRangingParameters (const RngRsp &rngrsp); |
167 /// Negotiate basic capabilities function | 170 /// Negotiate basic capabilities |
168 void NegotiateBasicCapabilities (void); | 171 void NegotiateBasicCapabilities (void); |
169 /** | 172 /** |
170 * Calculate maximum IR signal strength function | 173 * Calculate maximum IR signal strength |
171 * \returns the maximum IR signal strength | 174 * \returns the maximum IR signal strength |
172 */· | 175 */· |
173 uint16_t CalculateMaxIRSignalStrength (void); | 176 uint16_t CalculateMaxIRSignalStrength (void); |
174 /** | 177 /** |
175 * Get minimum transmit power level function | 178 * Get minimum transmit power level |
176 * \returns the minimum transmit power level | 179 * \returns the minimum transmit power level |
177 */ | 180 */ |
178 uint16_t GetMinTransmitPowerLevel (void); | 181 uint16_t GetMinTransmitPowerLevel (void); |
179 | 182 |
180 Ptr<SubscriberStationNetDevice> m_ss; ///< subscriber station device | 183 Ptr<SubscriberStationNetDevice> m_ss; ///< subscriber station device |
181 | 184 |
182 WimaxNetDevice::RangingStatus m_rangingStatus; ///< ranging status | 185 WimaxNetDevice::RangingStatus m_rangingStatus; ///< ranging status |
183 // initial ranging parameters obtained from DCD (in channel encodings) | 186 // initial ranging parameters obtained from DCD (in channel encodings) |
184 uint16_t m_bsEirp; ///< BS EIRP | 187 uint16_t m_bsEirp; ///< BS EIRP |
185 uint16_t m_eirXPIrMax; ///< initial ranging maximum equivalent isotropic recei
ved power at BS | 188 uint16_t m_eirXPIrMax; ///< initial ranging maximum equivalent isotropic recei
ved power at BS |
(...skipping 19 matching lines...) Expand all Loading... |
205 bool m_isBackoffSet; ///< is backoff set· | 208 bool m_isBackoffSet; ///< is backoff set· |
206 uint8_t m_rangingAnomalies; ///< ranging anomalies | 209 uint8_t m_rangingAnomalies; ///< ranging anomalies |
207 | 210 |
208 EventId m_waitForRngRspEvent; ///< wait for rang response event | 211 EventId m_waitForRngRspEvent; ///< wait for rang response event |
209 EventId m_dlMapSyncTimeoutEvent; ///< DL map sync timeout event | 212 EventId m_dlMapSyncTimeoutEvent; ///< DL map sync timeout event |
210 }; | 213 }; |
211 | 214 |
212 } // namespace ns3 | 215 } // namespace ns3 |
213 | 216 |
214 #endif /* LINK_MANAGER_H */ | 217 #endif /* LINK_MANAGER_H */ |
LEFT | RIGHT |