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) 2009, 2010 MIRKO BANCHI | 3 * Copyright (c) 2009, 2010 MIRKO BANCHI |
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 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 */ | 177 */ |
178 bool HasPackets (void) const; | 178 bool HasPackets (void) const; |
179 /** | 179 /** |
180 * \param blockAck The received block ack frame. | 180 * \param blockAck The received block ack frame. |
181 * \param recipient Sender of block ack frame. | 181 * \param recipient Sender of block ack frame. |
182 * \param rxSnr received SNR of the block ack frame itself | 182 * \param rxSnr received SNR of the block ack frame itself |
183 * \param txMode mode of block ack frame. | 183 * \param txMode mode of block ack frame. |
184 * \param dataSnr data SNR reported by remote station | 184 * \param dataSnr data SNR reported by remote station |
185 * | 185 * |
186 * Invoked upon receipt of a block ack frame. Typically, this function, is cal
led | 186 * Invoked upon receipt of a block ack frame. Typically, this function, is cal
led |
187 * by ns3::EdcaTxopN object. Performs a check on which MPDUs, previously sent | 187 * by ns3::QosTxop object. Performs a check on which MPDUs, previously sent |
188 * with ack policy set to Block Ack, were correctly received by the recipient. | 188 * with ack policy set to Block Ack, were correctly received by the recipient. |
189 * An acknowledged MPDU is removed from the buffer, retransmitted otherwise. | 189 * An acknowledged MPDU is removed from the buffer, retransmitted otherwise. |
190 */ | 190 */ |
191 void NotifyGotBlockAck (const CtrlBAckResponseHeader *blockAck, Mac48Address r
ecipient, double rxSnr, WifiMode txMode, double dataSnr); | 191 void NotifyGotBlockAck (const CtrlBAckResponseHeader *blockAck, Mac48Address r
ecipient, double rxSnr, WifiMode txMode, double dataSnr); |
192 /** | 192 /** |
193 * \param recipient Address of peer station involved in block ack mechanism. | 193 * \param recipient Address of peer station involved in block ack mechanism. |
194 * \param tid Traffic ID. | 194 * \param tid Traffic ID. |
195 * | 195 * |
196 * \return the number of packets buffered for a specified agreement | 196 * \return the number of packets buffered for a specified agreement |
197 * | 197 * |
(...skipping 25 matching lines...) Expand all Loading... |
223 * \param tid Traffic ID of transmitted packet. | 223 * \param tid Traffic ID of transmitted packet. |
224 * | 224 * |
225 * Marks an agreement as unsuccessful. This happens if <i>recipient</i> statio
n reject block ack setup | 225 * Marks an agreement as unsuccessful. This happens if <i>recipient</i> statio
n reject block ack setup |
226 * by an ADDBA Response frame with a failure status code. For now we assume th
at every QoS station accepts | 226 * by an ADDBA Response frame with a failure status code. For now we assume th
at every QoS station accepts |
227 * a block ack setup. | 227 * a block ack setup. |
228 */ | 228 */ |
229 void NotifyAgreementUnsuccessful (Mac48Address recipient, uint8_t tid); | 229 void NotifyAgreementUnsuccessful (Mac48Address recipient, uint8_t tid); |
230 /** | 230 /** |
231 * \param recipient Address of peer station involved in block ack mechanism. | 231 * \param recipient Address of peer station involved in block ack mechanism. |
232 * \param tid Traffic ID of transmitted packet. | 232 * \param tid Traffic ID of transmitted packet. |
233 * \param nextSeqNumber Sequence number of the next packet that would be trasm
itted by EdcaTxopN. | 233 * \param nextSeqNumber Sequence number of the next packet that would be trasm
itted by QosTxop. |
234 * \param policy ack policy of the transmitted packet. | 234 * \param policy ack policy of the transmitted packet. |
235 * | 235 * |
236 * This method is typically invoked by ns3::EdcaTxopN object every time that a
MPDU | 236 * This method is typically invoked by ns3::QosTxop object every time that a M
PDU |
237 * with ack policy subfield in Qos Control field set to Block Ack is transmitt
ed. | 237 * with ack policy subfield in Qos Control field set to Block Ack is transmitt
ed. |
238 * The <i>nextSeqNumber</i> parameter is used to block transmission of packets
that are out of bitmap. | 238 * The <i>nextSeqNumber</i> parameter is used to block transmission of packets
that are out of bitmap. |
239 */ | 239 */ |
240 void NotifyMpduTransmission (Mac48Address recipient, uint8_t tid, uint16_t nex
tSeqNumber, WifiMacHeader::QosAckPolicy policy); | 240 void NotifyMpduTransmission (Mac48Address recipient, uint8_t tid, uint16_t nex
tSeqNumber, WifiMacHeader::QosAckPolicy policy); |
241 /** | 241 /** |
242 * \param recipient Address of peer station involved in block ack mechanism. | 242 * \param recipient Address of peer station involved in block ack mechanism. |
243 * \param tid Traffic ID of transmitted packet. | 243 * \param tid Traffic ID of transmitted packet. |
244 * | 244 * |
245 * This method to set the number of packets waitin for blockAck = 0 since the
receiver will send the blockAck right away | 245 * This method to set the number of packets waitin for blockAck = 0 since the
receiver will send the blockAck right away |
246 */ | 246 */ |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
500 Callback<void, Mac48Address, uint8_t> m_blockPackets; ///< block packets callb
ack | 500 Callback<void, Mac48Address, uint8_t> m_blockPackets; ///< block packets callb
ack |
501 Callback<void, Mac48Address, uint8_t> m_unblockPackets; ///< unblock packets c
allback | 501 Callback<void, Mac48Address, uint8_t> m_unblockPackets; ///< unblock packets c
allback |
502 TxOk m_txOkCallback; ///< transmit ok callback | 502 TxOk m_txOkCallback; ///< transmit ok callback |
503 TxFailed m_txFailedCallback; ///< transmit failed callback | 503 TxFailed m_txFailedCallback; ///< transmit failed callback |
504 Ptr<WifiRemoteStationManager> m_stationManager; ///< the station manager | 504 Ptr<WifiRemoteStationManager> m_stationManager; ///< the station manager |
505 }; | 505 }; |
506 | 506 |
507 } //namespace ns3 | 507 } //namespace ns3 |
508 | 508 |
509 #endif /* BLOCK_ACK_MANAGER_H */ | 509 #endif /* BLOCK_ACK_MANAGER_H */ |
OLD | NEW |