📄 backoff enter execs
字号:
/** Processing Random Backoff **/
/** In this state following intrpts can occur: **/
/** 1. Data arrival from application layer **/
/** 2. Frame (DATA,ACK,RTS,CTS) rcvd from PHY layer **/
/** 3. Busy intrpt stating that frame is being rcvd **/
/** 4. Coll intrpt stating that more than one frame is rcvd **/
/** Queue the packet for Data Arrival from application **/
/** layer and do not change the state. **/
/** If the frame is destined for this station then prepare **/
/** appropriate frame to respond and set deference to SIFS **/
/** Update NAV value (if needed) and reschedule deference **/
/** Change state to "DEFER" **/
/** If it's a broadcast frame then check whether NAV needs **/
/** to be updated. Schedule self interrupt and change **/
/** state to Deference **/
/** If rcvr start receiving frame (busy stat intrpt) then **/
/** set a flag indicating rcvr is busy. **/
/** if rcvr start receiving more than one frame then flag **/
/** the rcvd frame as invalid and set deference **/
/** timer to EIFS **/
/* Change State to DEFER **/
//WSN
// assigns the unique state number and writes the sleep staus to the sleep statistic handeler for graphing purposes
state = WSN_BACKOFF;
#ifndef OPD_NO_DEBUG
if ((op_sim_time() > wsn_test_time) && (my_address == wsn_test_address || my_address == wsn_test_address_2) )
printf("Node <%d> in Backoff at time %e \n", my_address, op_sim_time());
#endif
if (wlan_trace_active)
{
/* Determine the current state name. */
strcpy (current_state_name, "backoff");
}
/* Unlock the mutex that serializes accessing the roaming */
/* related information of this MAC. */
op_prg_mt_mutex_unlock (roam_state_ptr->roam_info_mutex);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -