📄 print2.ps~
字号:
( void recv\( Packet *p, Handler *h\);) N() N( /* Timeout method. Intended to be called when a timeout occurs */) N( void timeout\(\);) N() N( /* Static accessor/modifiers to access static burst parameters) N( * \(i\) max burst size - Maximum burst size) N( * \(ii\) pcnt guard) N( * \(iii\) offset time) N( * \(iv\) burst timeout) N( * \(v\) delta */) N( static int& maxburstsize\(\) { return maxburstsize__; }) N( static void setMaxburstsize\( int burstSize \) { maxburstsize__ = burstSiz) N(e; }) N() N( static int& pcntguard\(\) { return pcntguard__; }) N( static void setPcntguard\( int pcntguard \) { pcntguard__ = pcntguard; }) N() N( static double& offsettime\(\) { return offsettime__; }) N( static void setOffsettime\( double offsettime \) { offsettime__ = offsetti) N(me; }) N() N( static double& burst_timeout\(\) { return burst_timeout__; }) N( static void setBursttimeout\( double timeout \) { burst_timeout__ = timeou) N(t; }) N() N( static double& delta\(\) { return delta__; }) N( static void setDelta\( double delta \) { delta__ = delta; }) N() N( protected:) N( /* Send a data burst. Makes a call to IPKT agent's send burst method) N( * with the default parameters stored there */) N( void sendBurst\(\);) N() N( /* Reset the burst queues -- method name may be misleading ... :\) */) N( void resetBurstParams\(\);) N() N( /* TCL command interface. As of now, we just interact all commands via) N( * the associated IPKTAgent/Integrated agent's command\(\) method) N( */) N( int command\( int argc, const char*const* argv \);) N() N( /* Internal use only - Obtains the number of hops between the source) N( * and destination. Employs tcl support method for this, and assumes) N( * that the routes have been computed */) N() N(stdin) (Page 18/25) (Feb 21, 04 14:03) titlebordergrestore(Printed by U-GMGPC2\\Geoffrey M. Garner) rhead(stdin) (9/13) (Saturday February 21, 2004) footerend % of iso1dictpagesave restoreshowpage%%Page: (19-20) 10%%BeginPageSetup/pagesave save defsh 0 translate 90 rotate%%EndPageSetupiso1dict begingsavellx lly 12 add translate/v 0 store/x0 x v get 3.362408 add sx cw mul add store/y0 y v get bfs th add sub storex0 y0 moveto(integrated_agent.h) K( Feb 10 09:27 2004 Page: 15) p n() N( int nhops\( nsaddr_t, nsaddr_t \);) N() N( // Holds the packets \(only the headers\) while burst are still being bui) N(lt) N( Packet* BurstBuffer_[MAXBURSTSIZE];) N( // ref to the burst time) N( BurstTimer bt_;) N( // ref to the parent iPKT agent) N( IPKTAgent* a_;) N() N( // the current burst size maintained by the bm object.) N( int currburstsize_;) N( // the total number of packet \(TCP and ACKs\) accumulated) N( int npkts_ ;) N( // the destination node id bound by this object.) N( int destnodeid_;) N() N() N( // maximum burst size) N( static int maxburstsize__;) N( // pcnt guard) N( static int pcntguard__;) N( // the offset time to be set in the BHP) N( static double offsettime__;) N( // the timeout values) N( static double burst_timeout__;) N( // delta \(BHP proc time\)) N( static double delta__;) N() N( // global burst id) N( static unsigned long burstid__;) N( // generate burst ids) N( static unsigned long getburstid\(\)) N( {) N( if \( burstid__ == MAXBURSTID \) burstid__ = 0L;) N( return burstid__++;) N( }) N(};) N() N() N(/* Structure of the Integrated packet header. Note: The integrated) N( * packet can represent both the burst or the BHP, depending upon) N( * the value of the ipheader's priority bit.) N( * If set to zero represents a bhp or a control packet.) N( * If set to one represents a data-burst or a burst data packet \(bdp\).) N( */) N(struct hdr_IPKT) N({) N( // fields common to BHP and DB) N( /* Represents the burst identifier */) N( u_long C_burst_id_;) N( /* Represents the burst size */) N( u_int C_burst_size_;) N() N( // BHP specific flds only) N( /* Number of TCP \(or other\) packets in the data-burst */) N( u_int npkts_;) N() N(stdin) (Page 19/25) (Feb 21, 04 14:03) titleborder/v 1 store/x0 x v get 3.362408 add sx cw mul add store/y0 y v get bfs th add sub storex0 y0 moveto(integrated_agent.h) K( Feb 10 09:27 2004 Page: 16) p n() N() N( // Refer the to BurstManager for these defaults) N( /* The guard band value */) N( u_int pcntguard_;) N( /* The end to end delay */) N( double end_end_delay_;) N( /* The offset time */) N( double offset_time_;) N( /* The per control packet / BHP processing time */) N( double delta_ ;) N( // GMG - added FDL delay value, so it is easily accessible by next node) N( double FDL_delay_;) N( // GMG - added BHP tx delay value, so it is easily accessible by next node) N( double tx_delay_;) N( //GMG - added timestamp field; cannot always use the common header) N( //timestamp; for UDP agents, it is multplied by 8000 and truncated,) N( //which leads to roundoff error \(by as much as 125 mu s\)) N( double timestamp_;) N( //GMG - added sequence number, for tracing the IPKT) N( unsigned long int seqno;) N() N( // accessors methods) N( u_long& C_burst_id\(\) { return \(C_burst_id_\); }) N( u_int& C_burst_size\(\) { return\(C_burst_size_\); }) N( u_int& npkts\(\) { return\(npkts_\); }) N( u_int& pcntguard\(\) { return \(pcntguard_\); }) N() N( double& offset_time\(\) { return\(offset_time_\); }) N( double& end_end_delay\(\) { return\(end_end_delay_\); }) N() N( /* Needed to access the packet from the provided header */) N( static int offset_ipkt_;) N() S 8 T (inline static int& offset_ipkt\(\) { return offset_ipkt_; }) N( inline static hdr_IPKT* access\( Packet *p \)) N( {) N( return \(hdr_IPKT*\) p->access\(offset_ipkt_\);) N( }) N(};) N() N(/* Integrated \(or\) the IPKT Agent is the source and destination of) N( * BHP \(burst header packet or control packets\) and BDP \(Burst data) N( * packets or data bursts\).) N( */) N(class IPKTAgent : public Agent) N({) N( public:) N( /* Constructs a new Integrated packet agent */) N( IPKTAgent\(\);) N() N( /* Recv method -- receives a packet */) N( void recv\(Packet*, Handler *\);) N() N( /* Compute the burst duration */) N( /* double bduration\( long pktSize, long chbw \); */ // GMG -- commented o) N(ut; apparently not defined anywhere) N() N( /* Send a burst - An independent method intended to be) N() N(stdin) (Page 20/25) (Feb 21, 04 14:03) titlebordergrestore(Printed by U-GMGPC2\\Geoffrey M. Garner) rhead(stdin) (10/13) (Saturday February 21, 2004) footerend % of iso1dictpagesave restoreshowpage%%Page: (21-22) 11%%BeginPageSetup/pagesave save defsh 0 translate 90 rotate%%EndPageSetupiso1dict begingsavellx lly 12 add translate/v 0 store/x0 x v get 3.362408 add sx cw mul add store/y0 y v get bfs th add sub storex0 y0 moveto(integrated_agent.h) K( Feb 10 09:27 2004 Page: 17) p n() N( * called by the Burst Manager.) N( * pBurst - The array of packets) N( * bid - the burst identifier) N( * nPkts - the number of packets in the burst.) N( * burstsize - the pre-computed burst size) N( * destnode - the destination node for the data-burst) N( * pcntgurard - the guard band value) N( * delta - the computation time) N( */) N( void sendBurst\( Packet** pBurst, int bid, int npkts,) N( int burstsize, int destnode, double offsettime,) N( int pcntguard, double delta \);) N() N( /* Deburstify a data burst into its indovidual components.) N( * This method is intended to be called at the receiving edge) N( * node \(or edge router\) .) N( * p - the incoming data-burst) N( */) N( void deBurst\(Packet* p\);) N( protected:) N( /* TCL interface cmd method */) N( int command\( int argc, const char*const* argv \);) N() N( /* The address of this node, i.e the node to which this IAGENT is) N( * already attached to. Intended to be attached before hand */) N( int address_;) N( /* The burst manager - The ipkt agent maintains on BM per edge node */) N( BurstManager* BM_;) N( /* Offset to access IPKT header */) N( int off_IPKT_;) N( // max index \(number of BMs\)) N( int maxindx_;) N( //GMG -- added sequence number, for use with tracing the DB and BHP) N( unsigned long int seqno_;) N(};) N() N(#endif) N() N() N() N() N() N() N(stdin) (Page 21/25) (Feb 21, 04 14:03) titleborder/v 1 store/x0 x v get 3.362408 add sx cw mul add store/y0 y v get bfs th add sub storex0 y0 moveto(common/stat-collector.h) K( Feb 20 15:43 2004 Page: 18) p n() N(/* Copyright \(c\) University of Maryland, Baltimore County, 2003.) N( * Original Authors: Ramakrishna Shenai, Sunil Gowda and Krishna Sivalingam.) N( *) N( * This software is developed at the University of Maryland, Baltimore County un) N(der) N( * grants from Cisco Systems Inc and the University of Maryland, Baltimore Count) N(y.) N( *) N( * Permission to use, copy, modify, and distribute this software and its) N( * documentation in source and binary forms for non-commercial purposes) N( * and without fee is hereby granted, provided that the above copyright) N( * notice appear in all copies and that both the copyright notice and) N( * this permission notice appear in supporting documentation. and that) N( * any documentation, advertising materials, and other materials related) N( * to such distribution and use acknowledge that the software was) N( * developed by the University of Maryland, Baltimore County. The name of) N( * the University may not be used to endorse or promote products derived from) N( * this software without specific prior written permission.) N( *) N( * Copyright \(C\) 2000-2003 Washington State University. All rights reserved.) N( * This software was originally developed at Alcatel USA and subsequently modifi) N(ed) N( * at Washington State University, Pullman, WA through research work which was) N( * supported by Alcatel USA, Inc and Cisco Systems Inc.) N() N( * The following notice is in adherence to the Washington State University) N( * copyright policy follows.) N( *) N( * License is granted to copy, to use, and to make and to use derivative) N( * works for research and evaluation purposes, provided that Washington) N( * State University is acknowledged in all documentation pertaining to any such) N( * copy or derivative work. Washington State University grants no other) N( * licenses expressed or implied. The Washington State University name) N( * should not be used in any advertising without its written permission.) N( *) N( * WASHINGTON STATE UNIVERSITY MAKES NO REPRESENTATIONS CONCERNING EITHER) N( * THE MERCHANTABILITY OF THIS SOFTWARE OR THE SUITABILITY OF THIS SOFTWARE) N( * FOR ANY PARTICULAR PURPOSE. The software is provided "as is") N( * without express or implied warranty of any kind. These notices must) N( * be retained in any copies of any part of this software.) N( */) N(#ifndef Stat_Collector_h) N(#define Stat_Collector_h) N() N(using namespace std;) N() N(#include "object.h") N(#include "../debug.h") N() N(#include <cstdlib>) N(#include <string>) N(#include <cstring>) N(#include <map>) N() N(/* StatType refers to the different types of statistics) N( * that can be collected. By default there are 36 different) N( * statistics which are added as shown below.) N( * Any additional statistics could be added as a custom) N() N(stdin) (Page 22/25) (Feb 21, 04 14:03) titlebordergrestore(Printed by U-GMGPC2\\Geoffrey M. Garner) rhead(stdin) (11/13) (Saturday February 21, 2004) footerend % of iso1dictpagesave restoreshowpage%%Page: (23-24) 12%%BeginPageSetup/pagesave save defsh 0 translate 90 rotate%%EndPageSetupiso1dict begingsavellx lly 12 add translate/v 0 store/x0 x v get 3.362408 add sx cw mul add store/y0 y v get bfs th add sub storex0 y0 moveto(common/stat-collector.h) K( Feb 20 15:43 2004 Page: 19) p n() N( * statistic of type OTHER */) N(typedef enum {) N( TCPSND, // TCP Send) N( TCPBYTESSND, // TCP bytes Send -- added by GMG) N( TCPRCV, // TCP recv) N( TCPBYTESRCV, // TCP bytes recv -- added by GMG) N( TCPDLY, // TCP avg e2e dly \(avg over all TCP packets\) -- added by GMG) N( BURSTSND, // Burst snd) N( BURSTDROP, // Burst dropped) N( BURSTRCV, // Burst received) N( BHPDROP, // BHP Dropped) N( BHPSND, // BHP Sent) N( BHPRCV, // BHP Received) N( TCPDROP, // TCP segments dropped) N( ACKDROP, // ACK segments dropped) N( PERFLOW, // Perflow statistics) N( UDPSND, // UDP Send -- added by GMG) N( UDPBYTESSND, // UDP bytes Send -- added by GMG) N( UDPRCV, // UDP Receive -- added by GMG) N( UDPBYTESRCV, // UDP bytes Receive -- added by GMG) N( UDPDLY, // UDP avg e2e dly \(avg over all UDP packets\) -- added by GMG) N( ACKSND, // ACK Send -- added by GMG) N( ACKRCV, // ACK Receive -- added by GMG) N( CBRSND, // CBR Send -- added by GMG) N( CBRBYTESSND, // CBR bytes Send -- added by GMG) N( CBRRCV, // CBR Receive -- added by GMG) N( CBRBYTESRCV, // CBR bytes Receive -- added by GMG) N( CBRDLY, // CBR avg e2e dly \(avg over all CBR packets\) -- added by GMG) N( EXPSND, // EXP Send -- added by GMG) N( EXPBYTESSND, // EXP bytes Send -- added by GMG) N( EXPRCV, // EXP Receive -- added by GMG) N( EXPBYTESRCV, // EXP bytes Receive -- added by GMG) N( EXPDLY, // EXP avg e2e dly \(avg over all EXP packets\) -- added by GMG) N( PARSND, // PAR Send -- added by GMG) N( PARBYTESSND, // PAR bytes Send -- added by GMG) N( PARRCV, // PAR Receive -- added by GMG) N( PARBYTESRCV, // PAR bytes Receive -- added by GMG) N( PARDLY, // PAR avg e2e dly \(avg over all PAR packets\) -- added by GMG) N( SSIMSND, // SSIM Send -- added by GMG) N( SSIMBYTESSND, // SSIM bytes Send -- added by GMG) N( SSIMRCV, // SSIM Receive -- added by GMG) N( SSIMBYTESRCV, // SSIM bytes Receive -- added by GMG) N( SSIMDLY, // SSIM avg e2e dly \(avg over all SSIM packets\) -- added by GMG) N( BURSTDLY, // data BURST avg e2e dly \(avg over all data bursts\) -- added by ) N(GMG) N( BHPDLY, // BHP avg e2e dly \(avg over all BHPs\) -- added by GMG) N( OTHER // Other unkown stat-types) N(} statType;) N() N() N() N(/* A single statistic i
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -