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

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

?? dm.tcl

?? 跑leach需要的
?? 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一区二区三区免费野_久草精品视频
欧美成人a视频| 中文字幕一区二区在线观看| 欧美专区日韩专区| 成人免费毛片片v| 激情欧美一区二区三区在线观看| 欧美激情一区二区三区全黄| 欧美一三区三区四区免费在线看| 色视频一区二区| 99视频精品全部免费在线| 91小视频在线| 成人精品小蝌蚪| 久久91精品国产91久久小草| 午夜精品久久久久影视| 欧美疯狂做受xxxx富婆| 国内成+人亚洲+欧美+综合在线 | 中文字幕中文字幕一区二区| 日韩欧美国产高清| 日韩一区二区精品| 成人av在线电影| 亚洲欧美另类图片小说| 2023国产精华国产精品| 色婷婷综合在线| 在线视频一区二区免费| 成人黄色777网| 91在线视频免费观看| 粉嫩aⅴ一区二区三区四区五区| 美女视频第一区二区三区免费观看网站 | 成人精品免费视频| 国产麻豆成人精品| 成人性生交大片免费| 成人免费视频一区二区| 国产精品夜夜爽| 99视频在线精品| 在线免费亚洲电影| 777亚洲妇女| 欧美日韩卡一卡二| 亚洲第一电影网| 中文字幕中文字幕一区二区| 久久久国产午夜精品| 欧美大片日本大片免费观看| 精品国产91洋老外米糕| 精品福利一二区| 精品盗摄一区二区三区| 久久蜜臀中文字幕| 最新高清无码专区| 五月天中文字幕一区二区| 亚洲国产美国国产综合一区二区| 欧美国产日韩a欧美在线观看| 国产免费久久精品| 亚洲精品久久嫩草网站秘色| 粉嫩欧美一区二区三区高清影视| 国产精品一线二线三线精华| 成人av影视在线观看| 97久久超碰精品国产| 欧美久久一区二区| 国产亚洲美州欧州综合国| 亚洲人成精品久久久久久| 日韩精品亚洲一区二区三区免费| 国产久卡久卡久卡久卡视频精品| 粉嫩aⅴ一区二区三区四区| 91国偷自产一区二区使用方法| 日韩一级大片在线观看| 国产精品人成在线观看免费| 亚洲一区二区三区四区在线免费观看| 一区二区三区日韩欧美| 婷婷丁香久久五月婷婷| 粉嫩一区二区三区性色av| 欧美调教femdomvk| 久久一区二区视频| 亚洲成人av一区二区| 成人在线视频首页| 欧美一区二区三区四区高清| 日韩欧美激情一区| 欧美国产成人在线| 亚洲欧美日韩久久精品| 久久99精品一区二区三区三区| 91免费视频观看| 久久影视一区二区| 亚洲另类春色国产| 亚洲综合免费观看高清在线观看| 日本91福利区| 日本高清成人免费播放| 久久久久久久久久久久电影| 婷婷开心激情综合| 一本大道久久a久久综合| 精品99999| 亚洲高清视频在线| 99久久免费视频.com| 亚洲精品一区二区三区香蕉| 亚洲国产日韩在线一区模特| 波波电影院一区二区三区| 欧美日韩电影在线| 一区二区三区四区高清精品免费观看 | 9i看片成人免费高清| 欧美一区二区三区四区在线观看 | 91在线你懂得| 欧美精品一区二区三区高清aⅴ | 青青草97国产精品免费观看| 97久久久精品综合88久久| 久久人人97超碰com| 日本在线不卡视频一二三区| 色哟哟国产精品| 中文字幕一区二区在线观看| 国产伦精品一区二区三区在线观看| 正在播放一区二区| 香蕉成人伊视频在线观看| 在线视频观看一区| 亚洲精品综合在线| 91麻豆.com| 中文字幕免费不卡| 高清视频一区二区| 久久久亚洲午夜电影| 日韩电影免费在线看| 精品视频1区2区3区| 一区二区三区在线视频免费| 99精品久久免费看蜜臀剧情介绍| 欧美精彩视频一区二区三区| 国产毛片精品视频| www日韩大片| 国产精品夜夜嗨| 日本一二三不卡| 北条麻妃国产九九精品视频| 欧美一区二区三区四区久久| 一区二区三区四区不卡视频| 91官网在线免费观看| 香蕉成人啪国产精品视频综合网| 欧美日韩中文一区| 日韩av一二三| 精品久久久久99| 国产精品亚洲一区二区三区妖精 | 日韩写真欧美这视频| 国产精品乱人伦一区二区| 亚洲精品午夜久久久| 色94色欧美sute亚洲线路一ni| 亚洲自拍偷拍图区| 欧美日韩中文字幕一区二区| 爽好多水快深点欧美视频| 精品毛片乱码1区2区3区| 国产一区二区影院| 国产日韩影视精品| 国产馆精品极品| 中文字幕视频一区二区三区久| 93久久精品日日躁夜夜躁欧美| 成人免费一区二区三区视频| 国产精品主播直播| 欧美一级国产精品| 日韩高清在线不卡| 91.com视频| 国产99精品在线观看| 亚洲激情图片小说视频| 欧美日韩夫妻久久| 国产精品一级黄| 亚洲欧美日韩国产综合| 欧美日韩的一区二区| 狠狠久久亚洲欧美| 日韩理论片在线| 日韩一区二区三免费高清| 伦理电影国产精品| 中文字幕av在线一区二区三区| 日本道精品一区二区三区| 免费看日韩a级影片| 国产精品视频一二三| 欧美精品在线视频| 韩国中文字幕2020精品| 最新国产の精品合集bt伙计| 欧美高清激情brazzers| 国产乱码精品一区二区三| 亚洲综合一区二区精品导航| 精品国产凹凸成av人网站| 99视频在线观看一区三区| 男人的天堂亚洲一区| 亚洲欧美在线aaa| 欧美亚洲一区三区| 七七婷婷婷婷精品国产| 日韩午夜激情av| 色老头久久综合| 国产精品1区2区3区| 亚洲成av人影院| 国产精品私人自拍| 日韩欧美国产一区二区在线播放 | 高潮精品一区videoshd| 日韩精品91亚洲二区在线观看| 久久精品欧美日韩精品 | 久久国产视频网| 国产蜜臀av在线一区二区三区| 日韩午夜电影在线观看| 色综合久久中文综合久久牛| 国产91丝袜在线播放0| 男女激情视频一区| 亚洲成人动漫av| 亚洲精品福利视频网站| 亚洲视频精选在线| 久久久久久久久97黄色工厂| 精品美女在线观看| 欧美精选一区二区| 成人av资源下载| 国产在线精品视频| 亚洲一区二区三区四区五区黄| 亚洲色图.com| 精品福利在线导航|