| 111 | '''P3:''' |
| 112 | |
| 113 | The {{{frame_receive()}}} function, when called from the context of the above frame_transmit function ({{{P2}}} block), should perform two tasks: |
| 114 | |
| 115 | * If the received frame is a good FCS ACK that is addressed to this node, it should raise a flag in its return value stating this |
| 116 | * If the received frame is a good FCS CTS that is addressed to this node, it should raise a flag in its return value stating this. It should also start the transmission of the MPDU a SIFS interval after the reception is complete. |
| 117 | |
| 118 | The [wiki:802.11/MAC/Support_HW MAC Support Core] is capable of transmitting a frame an arbitrary interval after the completion of a reception, so we can use this for sending the MPDU after receiving a CTS. |
| 119 | |
| 120 | Pseudocode: |
| 121 | {{{ |
| 122 | |
| 123 | }}} |
| 124 | |