⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 script.tcl

📁 R. Lo Cigno, P. Larcheri 802.11e closed-loop scheduling Description: ns-2 package for 802.11e clo
💻 TCL
📖 第 1 页 / 共 2 页
字号:
#######################################################################                                                                    ## dump_stat: Reads the values of some C++ variables at the end of    ##            the simulation                                          ##                                                                    #######################################################################proc dump_stat {} {        global opt stat obj num_n num_tcp num_udp num_voip        foreach nn [lessof $num_n] {                foreach who {ll} {                        foreach tip {rcv_appl tx_ifq tx_arp_down tx_arp_up tx_appl arp_tx_ifq rcv_mac} {                                foreach typ {message ack tcp udp voip ARP} {                                        set stat($who,$tip,$nn,$typ) [$obj(ll,$nn) set "$tip\_$typ"]    ;# LLC statistics                                }                        }                }                foreach who {chn} {                        foreach tip {rcv_erm drop error send_mac} {                                foreach typ {ARP message ack tcp udp voip mac_rts mac_cts mac_ack} {                                        set stat($who,$tip,$nn,$typ) [$obj(netif,$nn) set "$tip\_$typ"] ;# WirelessPhy statistics                                }                        }                }        }        if {$opt(tcp) == 1 && $opt(onoff) != 2} {                foreach nn [range 1 $num_tcp] {                        if {$opt(onoff) == 0} {                                set stat(tcp,pkt_tx,$nn) [$obj(tcp,$nn) set ndatapack_]         ;# TCP statistics                                set stat(tcp,pkt_to_send,$nn) [$obj(tcp,$nn) set seqno_]                                set stat(tcp,ack_rcv,$nn) [$obj(tcp,$nn) set nackpack_]                                set stat(tcp,pkt_rcv,$nn) [$obj(tcp_sink,$nn) set npackrecv]                                set stat(tcp,ack_tx,$nn) [$obj(tcp_sink,$nn) set nacksent]                                set stat(tcp,win_avg,$nn) [$obj(tcp,$nn) set win_avg]                                set stat(tcp,win_max,$nn) [$obj(tcp,$nn) set win_max]                        }                        set stat(tcp,delay,ll,$nn) [$obj(tcp_sink,$nn) set time4]       ;# TCP packet delay statistics                        set stat(tcp,delay,ifq,$nn) [$obj(tcp_sink,$nn) set time6]                        set stat(tcp,delay,mac,$nn) [$obj(tcp_sink,$nn) set time7]                        set stat(tcp,delay,channel,$nn) [$obj(tcp_sink,$nn) set time8]                        set stat(tcp,delay,up,$nn) [$obj(tcp_sink,$nn) set time12]                        set stat(tcp,var,ll,$nn) [$obj(tcp_sink,$nn) set vartime4]                        set stat(tcp,var,ifq,$nn) [$obj(tcp_sink,$nn) set vartime6]                        set stat(tcp,var,mac,$nn) [$obj(tcp_sink,$nn) set vartime7]                        set stat(tcp,var,channel,$nn) [$obj(tcp_sink,$nn) set vartime8]                        set stat(tcp,var,up,$nn) [$obj(tcp_sink,$nn) set vartime12]                        set stat(tcp,time_count,$nn) [$obj(tcp_sink,$nn) set ntemp_count]                }        }        if {$opt(tcp) == 1 && $opt(onoff) == 2} {                foreach nn [range [expr -$num_tcp] $num_tcp] {                        if {$nn != 0} {                                set stat(tcp,delay,ll,$nn) [$obj(tcp_sink,$nn) set time4]       ;# TCP packet delay statistics                                set stat(tcp,delay,ifq,$nn) [$obj(tcp_sink,$nn) set time6]                                set stat(tcp,delay,mac,$nn) [$obj(tcp_sink,$nn) set time7]                                set stat(tcp,delay,channel,$nn) [$obj(tcp_sink,$nn) set time8]                                set stat(tcp,delay,up,$nn) [$obj(tcp_sink,$nn) set time12]                                set stat(tcp,var,ll,$nn) [$obj(tcp_sink,$nn) set vartime4]                                set stat(tcp,var,ifq,$nn) [$obj(tcp_sink,$nn) set vartime6]                                set stat(tcp,var,mac,$nn) [$obj(tcp_sink,$nn) set vartime7]                                set stat(tcp,var,channel,$nn) [$obj(tcp_sink,$nn) set vartime8]                                set stat(tcp,var,up,$nn) [$obj(tcp_sink,$nn) set vartime12]                                set stat(tcp,time_count,$nn) [$obj(tcp_sink,$nn) set ntemp_count]                        }                }        }        if {$opt(udp) == 1} {                foreach nn [range 1 $num_udp] {                        set stat(udp,pkt_tx,$nn) [$obj(udp,$nn) set seqno_]             ;# UDP packet delay statistics                        set stat(udp,pkt_rcv,$nn) [$obj(null,$nn) set nudprecv]                        set stat(udp,delay,ll,$nn) [$obj(null,$nn) set udptime4]                        set stat(udp,delay,ifq,$nn) [$obj(null,$nn) set udptime6]                        set stat(udp,delay,mac,$nn) [$obj(null,$nn) set udptime7]                        set stat(udp,delay,channel,$nn) [$obj(null,$nn) set udptime8]                        set stat(udp,delay,up,$nn) [$obj(null,$nn) set udptime12]                        set stat(udp,var,ll,$nn) [$obj(null,$nn) set udpvartime4]                        set stat(udp,var,ifq,$nn) [$obj(null,$nn) set udpvartime6]                        set stat(udp,var,mac,$nn) [$obj(null,$nn) set udpvartime7]                        set stat(udp,var,channel,$nn) [$obj(null,$nn) set udpvartime8]                        set stat(udp,var,up,$nn) [$obj(null,$nn) set udpvartime12]                        set stat(udp,time_count,$nn) [$obj(null,$nn) set nudp_count]                        set stat(udp,byte_rcv,$nn) [$obj(null,$nn) set voip_byte_rcv]                }        }        if {$opt(voip) == 1} {                foreach nn [range 1 $num_voip] {                        set stat(voipc,pkt_tx,$nn) [$obj(voipc,$nn) set seqno_]             ;# VoIP packet delay statistics                        set stat(voipc,pkt_rcv,$nn) [$obj(voips,$nn) set nudprecv]                        set stat(voipc,delay,ll,$nn) [$obj(voips,$nn) set udptime4]                        set stat(voipc,delay,ifq,$nn) [$obj(voips,$nn) set udptime6]                        set stat(voipc,delay,mac,$nn) [$obj(voips,$nn) set udptime7]                        set stat(voipc,delay,channel,$nn) [$obj(voips,$nn) set udptime8]                        set stat(voipc,delay,up,$nn) [$obj(voips,$nn) set udptime12]                        set stat(voipc,var,ll,$nn) [$obj(voips,$nn) set udpvartime4]                        set stat(voipc,var,ifq,$nn) [$obj(voips,$nn) set udpvartime6]                        set stat(voipc,var,mac,$nn) [$obj(voips,$nn) set udpvartime7]                        set stat(voipc,var,channel,$nn) [$obj(voips,$nn) set udpvartime8]                        set stat(voipc,var,up,$nn) [$obj(voips,$nn) set udpvartime12]                        set stat(voipc,time_count,$nn) [$obj(voips,$nn) set nudp_count]                        set stat(voipc,byte_rcv,$nn) [$obj(voips,$nn) set voip_byte_rcv]                        set stat(voips,pkt_tx,$nn) [$obj(voips,$nn) set seqno_]                        set stat(voips,pkt_rcv,$nn) [$obj(voipc,$nn) set nudprecv]                        set stat(voips,delay,ll,$nn) [$obj(voipc,$nn) set udptime4]                        set stat(voips,delay,ifq,$nn) [$obj(voipc,$nn) set udptime6]                        set stat(voips,delay,mac,$nn) [$obj(voipc,$nn) set udptime7]                        set stat(voips,delay,channel,$nn) [$obj(voipc,$nn) set udptime8]                        set stat(voips,delay,up,$nn) [$obj(voipc,$nn) set udptime12]                        set stat(voips,var,ll,$nn) [$obj(voipc,$nn) set udpvartime4]                        set stat(voips,var,ifq,$nn) [$obj(voipc,$nn) set udpvartime6]                        set stat(voips,var,mac,$nn) [$obj(voipc,$nn) set udpvartime7]                        set stat(voips,var,channel,$nn) [$obj(voipc,$nn) set udpvartime8]                        set stat(voips,var,up,$nn) [$obj(voipc,$nn) set udpvartime12]                        set stat(voips,time_count,$nn) [$obj(voipc,$nn) set nudp_count]                        set stat(voips,byte_rcv,$nn) [$obj(voipc,$nn) set voip_byte_rcv]                }        }}if {$opt(tcp) == 1 && $opt(onoff) != 2} {        foreach who {tcp} {                foreach nn [range 1 $num_tcp] {                        foreach tip {fast_rec timeout} {                                set stat($who,$tip,$nn) 0                        }                        set stat($who,win_count,$nn) 1                        set stat($who,n_flow,$nn) 0                        set stat($who,idle_time,$nn) 0.0                        if {$opt(onoff) == 1} {                                foreach tip {pkt_tx ack_rcv pkt_rcv ack_tx win_avg win_max win_count old_timeout old_fast_rec old_delay} {                                        set stat($who,$tip,$nn) 0                                }                                set stat($who,pkt_to_send,$nn) -1                        }                }        }}if {$opt(tcp) == 1 && $opt(onoff) == 2} {        foreach who {tcp} {                foreach nn [range [expr -$num_tcp] $num_tcp] {                        if {$nn != 0} {                                foreach tip {fast_rec timeout} {                                        set stat($who,$tip,$nn) 0                                }                                set stat($who,win_count,$nn) 1                                set stat($who,n_flow,$nn) 0                                set stat($who,idle_time,$nn) 0.0                                foreach tip {pkt_tx ack_rcv pkt_rcv ack_tx win_avg win_max win_count old_timeout old_fast_rec old_delay} {                                        set stat($who,$tip,$nn) 0                                }                                set stat($who,pkt_to_send,$nn) -1                        }                }        }}#######################################################################                                                                    ## TCP_fastrtx: called by tcp-newreno.cc when a Fast Recovery occurs  ##                                                                    ##              fid: The TCP flow identifier                          ##                                                                    #######################################################################proc TCP_fastrtx {fid} {        global stat        incr stat(tcp,fast_rec,$fid)}#######################################################################                                                                    ## TCP_timeout: called by tcp-reno.cc when a Timeout occurs           ##                                                                    ##              fid: the TCP flow identifier                          ##            seqno: TCP transmission sequence number                 ##            ackno: the first TCP packet not 'acked' yet             ##                                                                    #######################################################################proc TCP_timeout {fid seqno ackno} {        global stat        if {$seqno > $ackno} {                incr stat(tcp,timeout,$fid)        }}set num_bs_queue 0#######################################################################                                                                    ## BS_queue: called by drop-tail.cc to dump Interface Queue           ##           statistics                                               ##                                                                    ##                n: queue identifier                                 ##           q_arrv: total number of packet arrival                   ##           q_size: average queue size                               ##            rcv_*: packets received from the LLC                    ##           drop_*: packets discarded due to saturation              #

⌨️ 快捷键说明

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