process (Packet *P)主要是針對從MAC所收到的封包,判斷此封包的種類後進行相對應的procedure,以下將敘述process(Packet *p)的流程---
Step1. 將所收到的packet利用accessdata()存至mac802_16_dl_map_frame *frame,接著判斷此frame的type為何.
Step2. 若是frame的type為MAC_DL_MAP,則會先設定Start time,然後執行process_dl_map (frame); 若type為MAC_DCD, 則執行process_dcd ((mac802_16_dcd_frame*)frame); 若type為MAC_UL_MAP, 則執行process_ul_map ((mac802_16_ul_map_frame*)frame); 若type為MAC_UCD, 則執行process_ucd ((mac802_16_ucd_frame*)frame); 若type為MAC_RNG_RSP, 則執行process_ranging_rsp ((mac802_16_rng_rsp_frame*) frame); 若type為MAC_REG_RSP, 則執行process_reg_rsp ((mac802_16_reg_rsp_frame*) frame); 若type為MAC_MOB_SCN_RSP, 則執行process_scan_rsp ((mac802_16_mob_scn_rsp_frame *) frame); 若type為MAC_MOB_BSHO_RSP, 則執行process_bsho_rsp ((mac802_16_mob_bsho_rsp_frame *) frame); 若type為MAC_MOB_NBR_ADV, 則執行process_nbr_adv ((mac802_16_mob_nbr_adv_frame *) frame);
後續有機會的話我將會描述各個sub procedure的作用為何!!
End~
沒有留言:
張貼留言