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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dm.tcl

?? ns gpsr路由協議 在ns2平臺下實現的 對大家很有好處
?? TCL
字號:
## tcl/mcast/DM.tcl## Copyright (C) 1997 by USC/ISI# All rights reserved.                                            #                                                                # Redistribution and use in source and binary forms are permitted# provided that the above copyright notice and this paragraph are# duplicated in all such forms and that any documentation, advertising# materials, and other materials related to such distribution and use# acknowledge that the software was developed by the University of# Southern California, Information Sciences Institute.  The name of the# University may not be used to endorse or promote products derived from# this software without specific prior written permission.# # THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.# # Ported/Modified by Polly Huang (USC/ISI), http://www-scf.usc.edu/~bhuang# Class DM -superclass McastProtocolDM set PruneTimeout  0.5DM set CacheMissMode pimdm ;#or dvmrp (lowercase)DM instproc init { sim node } {	$self instvar mctrl_	set mctrl_ [new Agent/Mcast/Control $self]	$node attach $mctrl_	Timer/Iface/Prune set timeout [[$self info class] set PruneTimeout]	$self next $sim $node}DM instproc join-group  { group } {	$self instvar node_	$self next $group	set listOfReps [$node_ getReps * $group]	foreach r $listOfReps {		if ![$r is-active] {			$self send-ctrl "graft" [$r set srcID_] $group			set nbr [$node_ rpf-nbr [$r set srcID_]]			set nbrs($nbr) 1		}	}	foreach nbr [array names nbrs] {		if [$nbr is-lan?] {			# for each LAN we maintain an array of  counters 			# of how many local receivers we have on the lan 			# for a given group			$nbr instvar receivers_			if [info exists receivers_($group)] {				incr receivers_($group)			} else {				set receivers_($group) 1			}		}	}}DM instproc leave-group { group } {        $self next $group	$self instvar node_	# lan: decrement counters	set listOfReps [$node_ getReps * $group]	foreach r $listOfReps {		set nbr [$node_ rpf-nbr [$r set srcID_]]		set nbrs($nbr) 1	}	foreach nbr [array names nbrs] {		if [$nbr is-lan?] {			$nbr instvar receivers_			if { [info exists receivers_($group)] && \					$receivers_($group) > 0 } {				incr receivers_($group) -1			}		}	}}DM instproc handle-wrong-iif { srcID group iface } {	$self instvar node_ ns_	set inlink  [$node_ iif2link $iface]	set from [$inlink src]	$self send-ctrl "prune" $srcID $group [$from id]	return 0 ;# don't call this method two times}DM instproc handle-cache-miss  { srcID group iface } {	DM instvar CacheMissMode	$self handle-cache-miss-$CacheMissMode $srcID $group $iface	return 1 ;#call again}DM instproc handle-cache-miss-pimdm { srcID group iface } {        $self instvar node_ ns_		if { $iface >= 0 } {		set rpf_nbr [$node_ rpf-nbr $srcID]		set inlink  [$node_ iif2link $iface]		set rpflink [$ns_ link $rpf_nbr $node_]		if { $inlink != $rpflink } {			set from [$inlink src]			$self send-ctrl "prune" $srcID $group [$from id]			return 0; #drop this packet		}		set rpfoif [$node_ iif2oif $iface]	} else {		set rpfoif ""	}	set alloifs [$node_ get-all-oifs]	set oiflist ""	foreach oif $alloifs {		if {$oif == $rpfoif} {			continue ;#exclude incoming iface		}		set dst [[$node_ oif2link $oif] dst]		if { [$dst is-lan?] && [$dst rpf-nbr $srcID] != $node_  } {			# exclude also lan oifs for which we are not forwarders			# this constitutes a form of "centralized" assert mechanism			continue 		}		lappend oiflist $oif	}	#set idx [lsearch $oiflist $rpfoif]	#set oiflist [lreplace $oiflist $idx $idx]	$node_ add-mfc $srcID $group $iface $oiflist}DM instproc handle-cache-miss-dvmrp { srcID group iface } {        $self instvar node_ ns_	set oiflist ""        foreach nbr [$node_ neighbors] {		# peek into other nodes' routing tables to simulate 		# child-parent relationship maintained by dvmrp		set rpfnbr [$nbr rpf-nbr $srcID]		if { $rpfnbr == $node_ } {			set link [$ns_ link $node_ $nbr]			lappend oiflist [$node_ link2oif $link]		}			}	$node_ add-mfc $srcID $group $iface $oiflist}DM instproc drop { replicator src dst iface} {	$self instvar node_ ns_        if { $iface < 0 } {                # optimization for sender: if no listeners, set the ignore bit, 		# so this function isn't called for every packet.		$replicator set ignore_ 1        } else {		set from [[$node_ iif2link $iface] src]		if [$from is-lan?] {			$self send-ctrl "prune" $src $dst		} else {			$self send-ctrl "prune" $src $dst [$from id]		}	}}DM instproc recv-prune { from src group iface} {        $self instvar node_ PruneTimer_ ns_	set r [$node_ getReps $src $group]	if { $r == "" } { 		return 0	}	set id [$node_ id]	set tmpoif [$node_ iif2oif $iface]	if { [$r is-active-target $tmpoif] } {		$r disable $tmpoif		if ![$r is-active] {			if { $src != $id } {				# propagate prune only if the disabled oif				# was the last one				$self send-ctrl prune $src $group			}		}	}	if ![info exists PruneTimer_($src:$group:$tmpoif)] {		set PruneTimer_($src:$group:$tmpoif) \				[new Timer/Iface/Prune $self $src $group $tmpoif $ns_]	}	$PruneTimer_($src:$group:$tmpoif) schedule}DM instproc recv-graft { from src group iface} {        $self instvar node_ PruneTimer_ ns_	set id [$node_ id]        set r [$node_ getReps $src $group]	if { $r == "" } {		if { $id == $src } {			set iif "?"		} else {			set rpfnbr [$node_ rpf_nbr $src]			set rpflnk [$ns_ link $src $id]			set iif [$node_ link2iif $rpflnk]		}		$node_ add-mfc $src $group $iif ""	        set r [$node_ getReps $src $group]	}         if { ![$r is-active] && $src != $id } {                # propagate the graft                $self send-ctrl graft $src $group        }	set tmpoif [$node_ iif2oif $iface]        $r enable $tmpoif	if [info exists PruneTimer_($src:$group:$tmpoif)] {		delete $PruneTimer_($src:$group:$tmpoif)		unset  PruneTimer_($src:$group:$tmpoif)	}}# send a graft/prune for src/group up to the source or towards $toDM instproc send-ctrl { which src group { to "" } } {        $self instvar mctrl_ ns_ node_	if { $to != "" } {		set n [$ns_ get-node-by-id $to]		# we don't want to send anything to a lanNode		if [$n is-lan?] return		set toid $to	} else {		set toid $src	}	set nbr [$node_ rpf-nbr $toid]	if [$nbr is-lan?] {		# we're requested to send via a lan: $nbr		$nbr instvar receivers_		# send a graft/prune only if there're no other receivers on the lan		if { [info exists receivers_($group)] && \				$receivers_($group) > 0 } return 		# need to send: find the next hope node		set nbr [$nbr rpf-nbr $toid]	}	$ns_ simplex-connect $mctrl_ \			[[[$nbr getArbiter] getType [$self info class]] set mctrl_]        if { $which == "prune" } {                $mctrl_ set class_ 30        } else {                $mctrl_ set class_ 31        }                $mctrl_ send $which [$node_ id] $src $group}DM instproc timeoutPrune { oif src grp } {	$self instvar node_ PruneTimer_ ns_	set r [$node_ getReps $src $grp]	$r insert $oif	if [info exists PruneTimer_($src:$grp:$oif)] {		delete $PruneTimer_($src:$grp:$oif)		unset PruneTimer_($src:$grp:$oif)	}	return}Class Timer/Iface/Prune -superclass Timer/IfaceTimer/Iface/Prune set timeout 0.5Timer/Iface/Prune instproc timeout {} {	$self instvar proto_ src_ grp_ oif_	$proto_ timeoutPrune $oif_ $src_ $grp_}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲福中文字幕伊人影院| 色综合久久88色综合天天免费| 国产乱妇无码大片在线观看| 色悠久久久久综合欧美99| 日韩精品一区二区三区在线播放| 亚洲日本va午夜在线影院| 精品一区二区三区视频| 在线精品视频免费观看| 国产亚洲va综合人人澡精品| 日韩不卡一区二区| 欧美三级三级三级爽爽爽| 国产精品激情偷乱一区二区∴| 秋霞国产午夜精品免费视频| 色94色欧美sute亚洲线路一久| 国产三级久久久| 激情伊人五月天久久综合| 欧美日韩aaa| 亚洲国产精品久久不卡毛片| 99久久国产综合精品色伊| 久久久精品欧美丰满| 久久精品国产77777蜜臀| 欧美日韩一区二区在线观看视频| 国产精品伦理一区二区| 国产成人免费视频精品含羞草妖精| 欧美欧美欧美欧美首页| 一区二区三区在线视频播放| 不卡视频在线看| 欧美国产成人精品| 成人国产视频在线观看| 日本一区二区在线不卡| 国产精品99久久久久久久女警| 日韩女优av电影| 蜜桃视频一区二区三区在线观看| 欧美人与性动xxxx| 亚洲第一主播视频| 欧美日本一道本在线视频| 亚洲一区二区五区| 欧美日韩一区二区欧美激情| 午夜精彩视频在线观看不卡| 在线视频观看一区| 亚洲国产欧美在线| 欧美日韩小视频| 奇米影视一区二区三区小说| 日韩欧美国产电影| 精品亚洲国产成人av制服丝袜| 日韩一区二区视频| 国产曰批免费观看久久久| 久久婷婷国产综合精品青草| 国产精品一区不卡| 国产精品水嫩水嫩| 色成年激情久久综合| 午夜精品视频在线观看| 日韩精品一区二区三区在线观看 | 国产免费观看久久| 成人激情开心网| 亚洲愉拍自拍另类高清精品| 欧美群妇大交群中文字幕| 日av在线不卡| 久久免费国产精品| 成人av免费在线播放| 亚洲一卡二卡三卡四卡无卡久久 | 激情欧美一区二区| 国产精品久久久久aaaa| 欧美系列亚洲系列| 捆绑调教一区二区三区| 久久久99免费| 欧日韩精品视频| 狂野欧美性猛交blacked| 国产视频亚洲色图| 91黄色激情网站| 精品一区二区三区日韩| 亚洲国产精品成人久久综合一区| 91福利国产精品| 玖玖九九国产精品| 亚洲欧美福利一区二区| 91麻豆精品91久久久久同性| 国产精品456露脸| 亚洲一区在线观看视频| 337p日本欧洲亚洲大胆精品| 99视频国产精品| 男女男精品视频| 亚洲啪啪综合av一区二区三区| 日韩一区二区中文字幕| 91亚洲永久精品| 久久精品国产亚洲aⅴ| 亚洲欧美色图小说| 久久久久久久久久美女| 欧美美女黄视频| 成人黄色国产精品网站大全在线免费观看| 亚洲国产精品天堂| 国产欧美精品区一区二区三区| 欧美另类高清zo欧美| 成人国产精品免费网站| 精品一区二区三区视频| 亚洲成人精品在线观看| 国产欧美精品一区二区三区四区 | 高清不卡一区二区在线| 日韩电影在线观看网站| 亚洲精品伦理在线| 欧美高清在线一区二区| 久久人人97超碰com| 91精品国产色综合久久ai换脸| 91免费观看视频| 成人免费电影视频| 亚洲激情网站免费观看| 欧美极品另类videosde| 日韩精品一区二区三区蜜臀| 欧美日韩美女一区二区| 色综合久久久网| av不卡免费在线观看| 国产激情视频一区二区三区欧美| 青青草伊人久久| 午夜精品一区在线观看| 亚洲高清免费在线| 爽好多水快深点欧美视频| 亚洲影院理伦片| 亚洲一区二区成人在线观看| 亚洲蜜桃精久久久久久久| 国产欧美在线观看一区| 中文字幕电影一区| 中文字幕在线观看不卡| 国产视频一区在线播放| 亚洲国产电影在线观看| 中文字幕欧美日本乱码一线二线| 精品卡一卡二卡三卡四在线| 日韩精品一区二区三区在线| 精品日韩在线一区| 国产亚洲女人久久久久毛片| 欧美精品一区二区三区蜜桃| 亚洲精品在线三区| 久久婷婷国产综合国色天香| 久久久久99精品一区| 国产精品你懂的| 亚洲女人****多毛耸耸8| 一二三四区精品视频| 亚洲第一久久影院| 麻豆精品国产传媒mv男同| 精品一区二区三区视频| 国产精品一区二区久激情瑜伽| 成人国产精品免费| 在线欧美小视频| 日韩女优电影在线观看| 国产日韩欧美综合一区| 亚洲欧美另类图片小说| 午夜欧美一区二区三区在线播放 | 欧美国产激情一区二区三区蜜月| 国产精品久久免费看| 亚洲高清在线精品| 国产精品一线二线三线| 成人午夜精品在线| 欧美系列亚洲系列| 欧美精品一区二区三区蜜桃| 亚洲三级久久久| 男男成人高潮片免费网站| 岛国av在线一区| 欧美欧美午夜aⅴ在线观看| 国产校园另类小说区| 亚洲影视资源网| 国产精品99久久久久久久vr| 91国产福利在线| 久久综合九色综合欧美亚洲| 亚洲免费在线观看视频| 九九**精品视频免费播放| 99久久99久久综合| 日韩午夜av一区| 亚洲人成影院在线观看| 久久99国内精品| 欧美在线观看一区| 久久先锋影音av鲁色资源| 亚洲一区二区三区中文字幕在线| 国产麻豆精品95视频| 欧洲一区在线电影| 国产喷白浆一区二区三区| 日本三级亚洲精品| 91色porny| 国产亚洲自拍一区| 秋霞影院一区二区| 欧美色男人天堂| 国产精品丝袜一区| 国产美女在线精品| 欧美一区二区三区在线视频| 伊人开心综合网| 成人免费高清视频在线观看| 精品少妇一区二区三区在线视频| 一区二区三区国产精华| 成人黄色a**站在线观看| 久久免费国产精品| 久久99国产精品免费| 91精品国产日韩91久久久久久| 亚洲激情一二三区| 91亚洲资源网| 国产精品国产成人国产三级 | 欧美电影免费提供在线观看| 亚洲午夜免费电影| 色婷婷综合久久| 亚洲精品视频在线| 欧美这里有精品| 亚洲一区二区三区四区五区黄| 91丨九色丨尤物| 亚洲免费观看视频|