- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sendaunicastpacket
How to send a unicast packet? Procedure Roughly takes the following path (when no errors or congestion): recv() - send() - sendDATA() and sendRTS() - start defer timer - deferHandler() - check_pktRTS() - transmit() - recv() - receive timer started - recv_timer() - recvCTS() - tx_resume() - start defer timer - rx_resume() - deferHandler() - check_pktTx() - transmit() - recv() - receive timer started - recv_timer() - recvACK() - tx_resume() - callback_ - rx_resume() - done! recv ( ) void Mac802_11::recv(Packet *p, Handler *h) { struct hdr_cmn *hdr = HDR_CMN(p); //获取packet的头部,句柄 assert(initialized()); if( hdr-direction() == hdr_cmn::DOWN ) { send(p, h); return; } if(tx_active_ hdr-error() == 0) { hdr-error() = 1; } if(rx_state_ == MAC_IDLE) { setRxState(MAC_RECV); pktRx_ = p; mhRecv_.start(txtime(p)); } else { ……………………………………………………………………………………… } } back to procedure send( ) void Mac802_11::send(Packet *p, Handler *h) { double rTime; struct hdr_mac802_11* dh = HDR_MAC802_11(p); EnergyModel *em = netif_-node()-energy_model(); if (em em-sleep()) { em-set_node_sleep(0); em-set_node_state(EnergyModel::INROUTE); } callback_ = h; sendDATA(p); sendRTS(ETHER_ADDR(dh-dh_ra)); dh-dh_scontrol = sta_seqno_++; if(mhBackoff_.busy() == 0) { if(is_idle()) { if (mhDefer_.busy() == 0) { rTime = (Random::random() % cw_) * (phymib_.getSlotTime()); mhDefer_.start(phymib_.getDIFS() + rTime); } } else { mhBackoff_.start(cw_, is_idle()); } } } back to procedure if((u_int32_t)ETHER_ADDR(dh-dh_ra) != MAC_BROADCAST) { /* store data tx time for unicast packets */ ch-txtime() = txtime(ch-size(), dataRate_); dh-dh_duration = usec(txtime(phymib_.getACKlen(), basicRate_) + phymib_.getSIFS()); } else { /* store data tx time for broadcast packets (see 9.6) */ ch-txtime() = txtime(ch-size(), basicRate_ ); dh-dh_duration = 0; } pktTx_ = p; } sendDATA( ) Mac802_11::sendDATA
您可能关注的文档
- ReviewofProbability,RandomProcess,RandomFieldforImageProcessing.ppt
- review新目标英语八年级上复习.ppt
- RespondingtoaContractDocument回应合同文件-Flextronics.ppt
- Rearloadlevelingsuspension.ppt
- RE到NFA的转换.ppt
- Rightherewaitingforyoutilldeath.ppt
- RetractableSeatingintheWTCMexicoCity墨西哥城世贸中心伸缩座位.pptx
- RevitAPIWuhanOnsite.pptx
- rightclothes.ppt
- roacleRAC学习文档service.ppt
- SegmentationUsingActiveContourModelandTomlab.ppt
- Semantics-SentenceMeaning(PredicationAnalysis(new).ppt
- sentencetranslationstudentsdo.ppt
- Session样本和样本分布.ppt
- Semiclassicallimitandlong-timeasymptoticsofthecentralspinproblem.ppt
- SHELXTL程序进行晶体结构分析的方法-.ppt
- ShanghaiPresentationContract.ppt
- SE结构化方法学.ppt
- sigmaBB的教材(ppt).ppt
- SE理论.ppt
最近下载
- 水污染控制工程(第4版)全套PPT课件.pptx
- 2025年,跨境电商数据合规性风险评估与合规体系建设指南报告.docx
- (2025秋新版)部编版二年级语文上册《 语文园地二》PPT课件.pptx VIP
- 2024年社会工作者中级《社会工作实务》真题及答案解析.pdf VIP
- JGT 366-2012-外墙保温用锚栓.pdf
- 基坑坍塌事故专项应急预案桌面演练脚本.docx VIP
- 小学阶段需要掌握的文学常识.docx VIP
- 课件mike新11hd so nam模型培训教程.pdf
- 《控制工程基础》教案.docx VIP
- Q∕GDW 11021-2013 变电站调控数据交互规范.docx VIP
文档评论(0)