亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? mac-timers.cc

?? 在網(wǎng)絡(luò)仿真模擬工具下實(shí)現(xiàn)MAC層802.11DCF協(xié)議
?? CC
字號(hào):
/* -*-	Mode:C++; c-basic-offset:8; tab-width:8; indent-tabs-mode:t -*- *//* * Copyright (c) 1997 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *	This product includes software developed by the Computer Systems *	Engineering Group at Lawrence Berkeley Laboratory. * 4. Neither the name of the University nor of the Laboratory may be used *    to endorse or promote products derived from this software without *    specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *//* Ported from CMU/Monarch's code, nov'98 -Padma.*/#include <delay.h>#include <connector.h>#include <packet.h>#include <random.h> // #define DEBUG//#include <debug.h>#include <arp.h>#include <ll.h>#include <mac.h>#include <mac-timers.h>#include <mac-802_11.h> /* * Force timers to expire on slottime boundries. */// #define USE_SLOT_TIME// change wrt Mike's code #ifdef USE_SLOT_TIME #error "Incorrect slot time implementation - don't use USE_SLOT_TIME..." #endif#define ROUND_TIME()	\	{								\		assert(slottime);					\		double rmd = remainder(s.clock() + rtime, slottime);	\		if(rmd > 0.0)						\			rtime += (slottime - rmd);			\		else							\			rtime += (-rmd);				\	}/* ======================================================================   Timers   ====================================================================== */voidMacTimer::start(double time){	Scheduler &s = Scheduler::instance();	assert(busy_ == 0);	busy_ = 1;	paused_ = 0;	stime = s.clock();	rtime = time;	assert(rtime >= 0.0);	s.schedule(this, &intr, rtime);}voidMacTimer::stop(void){	Scheduler &s = Scheduler::instance();	assert(busy_);	if(paused_ == 0)		s.cancel(&intr);	busy_ = 0;	paused_ = 0;	stime = 0.0;	rtime = 0.0;}/* ======================================================================   Defer Timer   ====================================================================== */voidDeferTimer::start(double time){	Scheduler &s = Scheduler::instance();	assert(busy_ == 0);	busy_ = 1;	paused_ = 0;	stime = s.clock();	rtime = time;#ifdef USE_SLOT_TIME	ROUND_TIME();#endif	assert(rtime >= 0.0);	s.schedule(this, &intr, rtime);}void    DeferTimer::handle(Event *){       	busy_ = 0;	paused_ = 0;	stime = 0.0;	rtime = 0.0;	mac->deferHandler();}// change wrt Mike's code /* ======================================================================    Beacon Timer    ====================================================================== */ void BeaconTimer::handle(Event *) {       busy_ = 0;       paused_ = 0;       stime = 0.0;       rtime = 0.0;       mac->beaconHandler(); }/* ======================================================================   NAV Timer   ====================================================================== */void    NavTimer::handle(Event *){       	busy_ = 0;	paused_ = 0;	stime = 0.0;	rtime = 0.0;	mac->navHandler();}/* ======================================================================   Receive Timer   ====================================================================== */void    RxTimer::handle(Event *){       	busy_ = 0;	paused_ = 0;	stime = 0.0;	rtime = 0.0;	mac->recvHandler();}/* ======================================================================   Send Timer   ====================================================================== */void    TxTimer::handle(Event *){       	busy_ = 0;	paused_ = 0;	stime = 0.0;	rtime = 0.0;	mac->sendHandler();}/* ======================================================================   Interface Timer   ====================================================================== */voidIFTimer::handle(Event *){	busy_ = 0;	paused_ = 0;	stime = 0.0;	rtime = 0.0;	mac->txHandler();}/* ======================================================================   Backoff Timer   ====================================================================== */voidBackoffTimer::handle(Event *){	busy_ = 0;	paused_ = 0;	stime = 0.0;	rtime = 0.0;	difs_wait = 0.0;	mac->backoffHandler();}voidBackoffTimer::start(int cw, int idle){	Scheduler &s = Scheduler::instance();	assert(busy_ == 0);	busy_ = 1;	paused_ = 0;	stime = s.clock();		// change wrt Mike's code	//rtime = (Random::random() % cw) * mac->phymib_->SlotTime;	rtime = (Random::random() % cw) * mac->phymib_.getSlotTime();#ifdef USE_SLOT_TIME	ROUND_TIME();#endif	difs_wait = 0.0;	if(idle == 0)		paused_ = 1;	else {		assert(rtime >= 0.0);		s.schedule(this, &intr, rtime);	}}voidBackoffTimer::pause(){	Scheduler &s = Scheduler::instance();	//the caculation below make validation pass for linux though it	// looks dummy	double st = s.clock();	double rt = stime + difs_wait;	double sr = st - rt;        // change wrt Mike's code	//double mst = (mac->phymib_->SlotTime);	 double mst = (mac->phymib_.getSlotTime());        int slots = int (sr/mst);    //int slots = (int) ((s.clock() - (stime + difs_wait)) / mac->phymib_->SlotTime);	if(slots < 0)		slots = 0;	assert(busy_ && ! paused_);	paused_ = 1;// change wrt Mike's code//	rtime -= (slots * mac->phymib_->SlotTime);	rtime -= (slots * mac->phymib_.getSlotTime());	assert(rtime >= 0.0);	difs_wait = 0.0;	s.cancel(&intr);}voidBackoffTimer::resume(double difs){	Scheduler &s = Scheduler::instance();	assert(busy_ && paused_);	paused_ = 0;	stime = s.clock();	/*	 * The media should be idle for DIFS time before we start	 * decrementing the counter, so I add difs time in here.	 */	difs_wait = difs;	/*#ifdef USE_SLOT_TIME	ROUND_TIME();#endif	*/	assert(rtime + difs_wait >= 0.0);       	s.schedule(this, &intr, rtime + difs_wait);}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二| 亚洲精品国产第一综合99久久| 成人免费的视频| 亚洲大片在线观看| 国产精品午夜电影| 欧美成人bangbros| 欧美日韩mp4| 99久久精品国产一区| 久久91精品久久久久久秒播| 亚洲综合成人在线视频| 国产精品久久久久桃色tv| 欧美一区二区三区人| 色丁香久综合在线久综合在线观看| 精品一区二区在线看| 亚洲第一电影网| 一区二区三区在线免费视频| 欧美国产日韩亚洲一区| 精品少妇一区二区三区免费观看 | 亚洲精品中文在线观看| 久久久久高清精品| 欧美一二区视频| 欧美无人高清视频在线观看| 91在线观看下载| 懂色av一区二区夜夜嗨| 韩国女主播一区| 久久国产福利国产秒拍| 丝瓜av网站精品一区二区| 一区二区三区在线视频观看58| 中文字幕永久在线不卡| 亚洲国产成人私人影院tom| 久久亚洲私人国产精品va媚药| 91精品免费观看| 欧美一区二区三区色| 日韩一区二区三区av| 欧美一区二区黄| 日韩视频123| 欧美成人精品高清在线播放| 91精品国产高清一区二区三区蜜臀 | 久久在线观看免费| 精品国产一区二区三区四区四| 欧美一区二区高清| 精品国产露脸精彩对白| 亚洲精品在线观看网站| 国产人久久人人人人爽| 国产精品久久久久久久久晋中 | 91色视频在线| 2023国产一二三区日本精品2022| 日韩欧美国产一区在线观看| 欧美大片一区二区| 欧美精品一区二区三区蜜桃视频| 欧美sm美女调教| 国产欧美日韩亚州综合| 国产精品女人毛片| 亚洲一区二区三区四区在线免费观看 | 精品一区二区三区不卡| 国产在线不卡一区| 成人白浆超碰人人人人| 色婷婷国产精品综合在线观看| 色婷婷综合视频在线观看| 欧美亚洲综合久久| 欧美成人bangbros| 国产精品国产三级国产a| 亚洲日本一区二区| 亚洲成人一二三| 久久99国产精品成人| 高清国产一区二区| 色8久久精品久久久久久蜜| 欧美日韩综合不卡| 欧美大片在线观看一区| 国产精品第一页第二页第三页| 一卡二卡三卡日韩欧美| 久久国产精品无码网站| 9i看片成人免费高清| 欧美精品自拍偷拍动漫精品| 欧美精品一区在线观看| 亚洲欧洲成人自拍| 麻豆一区二区在线| 91视频一区二区| 日韩欧美国产三级| 亚洲视频每日更新| 久久66热偷产精品| 在线视频欧美精品| www欧美成人18+| 亚洲一区二区三区小说| 国产精品一区二区91| 欧美午夜精品免费| 国产精品丝袜一区| 美女免费视频一区二区| 91蜜桃视频在线| 欧美精品一区视频| 亚洲国产视频一区| 成人小视频免费观看| 337p亚洲精品色噜噜| 自拍偷拍亚洲欧美日韩| 精品一区二区在线观看| 欧洲精品一区二区| 中文字幕精品—区二区四季| 强制捆绑调教一区二区| 日本久久电影网| 国产精品欧美精品| 国内成人免费视频| 欧美精品乱码久久久久久按摩| 国产精品福利影院| 国产麻豆视频精品| 日韩亚洲欧美在线| 亚洲妇熟xx妇色黄| 色又黄又爽网站www久久| 国产色综合一区| 日本成人在线看| 欧美视频在线播放| 一区二区三区在线看| 国产a精品视频| 久久久久久久久蜜桃| 免费欧美在线视频| 欧美日韩亚洲国产综合| 亚洲欧美日韩久久精品| 成av人片一区二区| 欧美国产精品专区| 国产一本一道久久香蕉| www日韩大片| 国产一区视频导航| 337p粉嫩大胆噜噜噜噜噜91av| 日本中文一区二区三区| 欧美三级电影一区| 亚洲国产精品久久久久婷婷884 | 9191久久久久久久久久久| 亚洲免费观看高清完整| 99精品桃花视频在线观看| 欧美国产精品一区| 成年人国产精品| 日韩码欧中文字| 色综合视频一区二区三区高清| 亚洲国产岛国毛片在线| eeuss鲁片一区二区三区在线观看| 国产欧美视频在线观看| 国产.欧美.日韩| 国产精品色噜噜| 99精品1区2区| 亚洲一区二区三区小说| 欧美精品日韩一本| 麻豆精品视频在线观看免费| 精品入口麻豆88视频| 国产美女精品在线| 国产精品久久久久久久久免费相片| av亚洲精华国产精华精| 亚洲视频免费观看| 欧美日韩视频专区在线播放| 香蕉乱码成人久久天堂爱免费| 欧美一区二区三区婷婷月色| 久久国产欧美日韩精品| 久久久久久久久一| 91美女在线视频| 亚洲成人在线网站| 精品国产电影一区二区| 成人一级片网址| 一区二区国产盗摄色噜噜| 91精品国产欧美日韩| 国产福利精品导航| 亚洲欧美在线视频观看| 欧美日韩视频不卡| 狠狠网亚洲精品| 日韩毛片视频在线看| 日韩一区二区三区电影| 成人小视频免费在线观看| 亚洲一区二区成人在线观看| 欧美一区二区三区在线视频| 国产精品中文有码| 亚洲同性gay激情无套| 欧美乱熟臀69xxxxxx| 国产精品1区2区| 一区二区欧美国产| 久久这里只有精品6| 色婷婷av一区| 国产综合久久久久久鬼色| 最新热久久免费视频| 欧美一区二区三级| 99re视频精品| 蜜桃av噜噜一区| 亚洲精品水蜜桃| 国产日韩精品一区二区三区| 欧美日韩在线亚洲一区蜜芽| 国产成人免费在线观看| 午夜日韩在线电影| 欧美国产欧美综合| 欧美一卡2卡3卡4卡| 一本久久综合亚洲鲁鲁五月天| 美腿丝袜一区二区三区| 一区二区三区日韩| 久久精品人人爽人人爽| 欧美精品日韩综合在线| 99精品国产99久久久久久白柏| 麻豆国产欧美一区二区三区| 夜夜嗨av一区二区三区四季av| 精品国一区二区三区| 欧美在线观看视频一区二区| 成人激情图片网| 精品在线你懂的| 日韩不卡一区二区| 亚洲高清视频的网址| 中文字幕制服丝袜成人av|