ns-rca-flooding.tcl

来自「可以在ns-2中进行仿真的SPIN路由协议的源码」· TCL 代码 · 共 66 行

TCL
66
字号
Class Application/RCApp/Flooding -superclass Application/RCApp# RcApp::start## This function will start data exchanges between the nodes# Application/RCApp/Flooding instproc start {} {    global DATA MAC_BROADCAST LINK_BROADCAST        $self instvar has_        set datasize [$has_ maptosize]    set copy_meta [$has_ copy]    $self send $MAC_BROADCAST $LINK_BROADCAST $DATA $copy_meta $datasize    return}Application/RCApp/Flooding instproc recvDATA {link_dst sender meta_data data_size} {    global DATA MAC_BROADCAST LINK_BROADCAST    $self instvar has_ wants_ stats_     set full_packet_size [[$self agent] set packetSize_]     if {$data_size == $full_packet_size} {		puts "Waiting for rest of the data associated with [$meta_data metatostring]"		$meta_data destroy		return    }    set origsize [$meta_data maptosize]    $stats_ update_rcvs $sender $DATA [$meta_data numelements] $origsize    # Figure out which meta-data is new     $meta_data subtract $has_    set datasize [$meta_data maptosize]    $stats_ update_useful $sender $DATA [$meta_data numelements] $datasize    $wants_ subtract $meta_data    $has_ union $meta_data    if {![$meta_data emptyset?]} {		# Compute with the new data		# When computation is complete, function calls finishCOMP function		$self log-acquired $has_		set copy_meta [$meta_data copy]		$self send $MAC_BROADCAST $LINK_BROADCAST $DATA $copy_meta $datasize    } else {		puts "Node [[[$self agent] set node_] id] received no new data from [expr $sender / 256]"	    }        $meta_data destroy    return}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?