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

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

?? netmodel.cc

?? NS2網絡仿真軟件是目前最為流行的網絡仿真模擬軟件
?? CC
?? 第 1 頁 / 共 5 頁
字號:
      pno = q->paint();      delete q;    }    /*     * Compute the point at which the dropped packet disappears.     * Let's just make this sufficiently far below the lowest     * thing on the screen.     *     * Watch out for topologies that have all their nodes lined     * up horizontally. In this case, nymin_ == nymax_ == 0.     * Set the bottom to -0.028. This was chosen empirically.     * The nam display was set to the maximum size and the lowest     * position on the display was around -0.028.     */    float bottom;    if (nymin_ - nymax_ < 0.01) {      bottom = nymin_ - 20.0 * ehn->edge->PacketHeight() ;    } else {      bottom = nymin_ - (nymax_ - nymin_);    }        // The drop animation is taken care of by the drop class    Drop * d = new Drop(x, y, bottom, 4 * ehn->edge->PacketHeight(),                        e.time, e.offset, e.pe.pkt);    d->paint(pno);    d->insert(&animations_);    check_monitors(d);    return;  } else {    // direction is BACKWARDS - need to create the packet    Lan *lan = lookupLan(e.pe.src);    if (lan != NULL) {       // We need to remove drop status in lans      lan->remove_drop(e);      //fprintf(stderr, "lan dropped packet %d is removed on lan link %d->%d\n",      //                e.pe.pkt.id, e.pe.src, e.pe.dst);      return;    }  }}//----------------------------------------------------------------------------// Node *// NetModel::addNode(const TraceEvent &e)//   - adds a node to the netmodel getting configuration info from the fields//     in the TraceEvent//----------------------------------------------------------------------------Node *NetModel::addNode(const TraceEvent &e)  {  Node * n = NULL;  char src[32];  if (e.tt == 'n') {    sprintf(src, "%d", e.ne.src);    n = lookupNode(e.ne.src);    // And remove them to be replaced by this node    if (n != NULL) {      fprintf(stderr, "Skipping duplicate node %s definition. \n", src);      //removeNode(n);    }    // Determine Node Type    if (!strncmp(e.ne.mark.shape, "circle",6)) {      n = new CircleNode(src, e.ne.size);    } else if (!strncmp(e.ne.mark.shape, "box", 3) ||                !strncmp(e.ne.mark.shape, "square", 6)) {      n = new BoxNode(src, e.ne.size);    } else if (!strncmp(e.ne.mark.shape, "hexagon",7)) {       n = new HexagonNode(src, e.ne.size);    } else {      return NULL;    }    // Check for wireless node    if (e.ne.wireless) {      n->wireless_ = true;      //fprintf(stderr, "We have wireless nodes :-) !!!\n");    }    // Node Address    //  May need to check for no address passed in    n->setaddr(e.ne.node.addr);    addAddress(n->num(), e.ne.node.addr);    // Node Color    n->init_color(e.ne.node.color);    n->lcolor(e.ne.node.lcolor);    // dlabel initilization    n->dlabel(e.ne.node.dlabel);    // Set X,Y cordinates    n->place(e.ne.x, e.ne.y);        // Add Node to drawables list    n->next_ = nodes_;    nodes_ = n;    n->Animation::insert(&drawables_);    // Set Packet size to be running average of the last 5 nodes (25% of node size)    packet_size_ = (4.0 * packet_size_ + e.ne.size*0.25)/5.0;  }  return (n);}//----------------------------------------------------------------------------// Edge * // NetModel::addEdge(int argc, const char *const *argv)////  <net> link <src> <dst> <bandwidth> <delay> <angle>//  Create a link/edge between the specified source//  and destination. Add it to this NetModel's list//  of drawables and to the source's list of links.//----------------------------------------------------------------------------Edge * NetModel::addEdge(int argc, const char *const *argv) {  Node * src, * dst;  Edge * edge = NULL;  double bandwidth, delay, length, angle;  if (strcmp(argv[1], "link") == 0) {    src = lookupNode(atoi(argv[2]));    dst = lookupNode(atoi(argv[3]));        if (src && dst) {      bandwidth = atof(argv[4]);      delay = atof(argv[5]);      length = atof(argv[6]);      angle = atof(argv[7]);                              //enlarge link if the topology is a mixture of      //wired and wireless network      if (wireless_) {        length = delay * WIRELESS_SCALE ;      }      edge = new Edge(src, dst, packet_size_, bandwidth, delay, length, angle, wireless_);      edge->init_color("black");      enterEdge(edge);      edge->Animation::insert(&drawables_);      src->add_link(edge);    }  }  return edge;}//----------------------------------------------------------------------------////----------------------------------------------------------------------------Edge * NetModel::addEdge(int src_id, int dst_id, const TraceEvent &e) {  Node *src, *dst;  Edge * edge = NULL;  double bandwidth, delay, length, angle;  if (e.tt == 'l') {    src = lookupNode(src_id);    dst = lookupNode(dst_id);        if (src && dst) {      bandwidth = e.le.link.rate;      delay = e.le.link.delay;      length = e.le.link.length;      angle = e.le.link.angle;                              //enlarge link if the topology is a mixture of      //wired and wireless network      if (wireless_) {        length = delay * WIRELESS_SCALE ;      }      edge = new Edge(src, dst, packet_size_, bandwidth, delay, length, angle, wireless_);      edge->init_color("black");      enterEdge(edge);      edge->Animation::insert(&drawables_);      src->add_link(edge);    }  }  return edge;}void NetModel::addView(NetView* p){	p->next_ = views_;	views_ = p;}//----------------------------------------------------------------------// Node * // NetModel::lookupNode(int nn) const//----------------------------------------------------------------------Node *NetModel::lookupNode(int nn) const {  for (Node* n = nodes_; n != 0; n = n->next_)    if (n->num() == nn)      return (n);  return NULL;}//----------------------------------------------------------------------// Edge *// NetModel::lookupEdge(int source, int destination) const//----------------------------------------------------------------------Edge *NetModel::lookupEdge(int source, int destination) const {	EdgeHashNode * edge_hash_node;	edge_hash_node = lookupEdgeHashNode(source, destination);	return edge_hash_node->edge;}void NetModel::removeNode(Node *n) {	Node *p, *q;	// Remove node n from nodes_ list, then delete it	for (p = nodes_; p != 0; q = p, p = p->next_)		if (p == n)			break;	if (p == nodes_)		nodes_ = p->next_;	else		q->next_ = p->next_;	delete p;}Agent *NetModel::lookupAgent(int id) const{	for (Node* n = nodes_; n != 0; n = n->next_) 		for(Agent* a= n->agents(); a != 0; a = a->next_) 			if (a->number() == id) 				return (a);	return (0); }Lan *NetModel::lookupLan(int nn) const{	for (Lan* l = lans_; l != 0; l = l->next_)		if (l->num() == nn)			return (l);	/* XXX */	//fprintf(stderr, "nam: no such lan %d\n", nn);	//exit(1);	return (0);// make visual c++ happy}Packet *NetModel::newPacket(PacketAttr &pkt, Edge *e, double time){  /*this is called when we get a triggered event such as a packet    getting duplicated within a LAN*/  Packet *p = new Packet(e, pkt, time, e->txtime(pkt.size), 0);  p->insert(&animations_);  p->paint(paint_[pkt.attr & paintMask_]);  check_monitors(p);  return p;}Packet *NetModel::lookupPacket(int src, int dst, int id) const{  EdgeHashNode *h = lookupEdgeHashNode(src, dst);  if (h == 0)    return NULL;  int ctr=0;  for (Packet *p=h->edge->packets(); p!=NULL; p=p->next())    {#define PARANOID#ifdef PARANOID      ctr++;      if (ctr>h->edge->no_of_packets()) abort();#endif      if (p->id() == id)	return p;    }  /*have to fail silent or we can't cope with link drops when doing settime*/  return 0;}/* Do not delete groups, because they are not explicitly deleted */int NetModel::add_group(Group *grp){	int newEntry = 1;	Tcl_HashEntry *he = Tcl_CreateHashEntry(grpHash_,	                                        (const char *)grp->addr(), 	                                        &newEntry);	if (he == NULL)		return -1;	if (newEntry) {		Tcl_SetHashValue(he, (ClientData)grp);		nGroup_++;	}	return 0;}Group* NetModel::lookupGroup(unsigned int addr){	Tcl_HashEntry *he = Tcl_FindHashEntry(grpHash_, (const char *)addr);	if (he == NULL)		return NULL;	return (Group *)Tcl_GetHashValue(he);}// Remove a view from the views link, but not delete itvoid NetModel::remove_view(View *v){	View *p, *q;	p = q = views_;	if (p == v) {		views_ = p->next_;		return;	}	while (p != NULL) {		q = p;		p = p->next_;		if (p == v) {			q->next_ = p->next_;			return;		}	}}//----------------------------------------------------------------------// int// NetModel::command(int argc, const char *const *argv)//   - Parses tcl commands (hook to enter c++ code from tcl)//----------------------------------------------------------------------int NetModel::command(int argc, const char *const *argv) {	Tcl& tcl = Tcl::instance();	int i;	Node * node;	double time;		if (argc == 2) {		if (strcmp(argv[1], "layout") == 0) {			/*			 * <net> layout			 * Compute reasonable defaults for missing node or edge			 * sizes based on the maximum link delay. Lay out the			 * nodes and edges as specified in the layout file.			 */			scale_estimate();			placeEverything();			return (TCL_OK);		}		if (strcmp(argv[1], "showtrees") == 0) {			/*			 * <net> showtrees			 */			color_subtrees();			for (View* p = views_; p != 0; p = p->next_) {				p->draw();			}			return (TCL_OK);		}		if (strcmp(argv[1],"resetFilter")==0) {		        resetf_ = 1 ;	                selectedSrc_ = -1 ;		        selectedDst_ = -1 ;		        selectedFid_ = -1 ;	                colorSrc_ = -1 ;		        colorDst_ = -1 ;		        colorFid_ = -1 ;	                hideSrc_ = -1 ;		        hideDst_ = -1 ;		        hideFid_ = -1 ;	                for (i = 0; i < PTYPELEN; ++i) {	                   selectedTraffic_[i] = '\0' ;	                   colorTraffic_[i] = '\0' ;	                   hideTraffic_[i] = '\0' ;                        }			return (TCL_OK);		}	} else if (argc == 3) {		if (strcmp(argv[1], "incr-nodesize") == 0) {			/*			 * <net> incr-nodesize <factor>			 */			node_sizefac_ *= atof(argv[2]);			for (Node *n = nodes_; n != 0; n = n->next_)				for (Edge *e=n->links(); e != 0; e = e->next_)					e->unmark();			scale_estimate();			placeEverything();			for (View *p = views_; p != 0; p = p->next_)				if ((p->width() > 0) && (p->height() > 0)) {					p->redrawModel();					p->draw();				}			return (TCL_OK);		}		if (strcmp(argv[1], "decr-nodesize") == 0) {			node_sizefac_ /= atof(argv[2]);			for (Node *n = nodes_; n != 0; n = n->next_)				for (Edge *e=n->links(); e != 0; e = e->next_)					e->unmark();			scale_estimate();			placeEverything();			for (View *p = views_; p != 0; p = p->next_)				if ((p->width() > 0) && (p->height() > 0)) {					p->redrawModel();					p->draw();				}			return(TCL_OK);		}		if (strcmp(argv[1], "updateNodePositions") == 0) {			time = strtod(argv[2], NULL);			for (node = nodes_; node; node = node->next_) {				node->updatePositionAt(time);				moveNode(node);  // This updates the links and agents connected to the node			}			return TCL_OK;		}		if (strcmp(argv[1], "view") == 0) {			/*			 * <net> view <viewName>			 * Create the window for the network layout/topology.			 * Used for nam editor			 */			EditView *v = new EditView(argv[2], this, 300, 700);			v->next_ = views_;			views_ = v;			return (TCL_OK);		}		if (strcmp(argv[1], "psview") == 0) {			/*			 * <net> PSView <fileName>			 * Print the topology to a file			 */			PSView *v = new PSView(argv[2], this);			v->render();			delete(v);			return (TCL_OK);		}		if (strcmp(argv[1], "testview") == 0) {			/*			 * Added for nam validation test 			 */			TestView *v = new TestView(argv[2], this);			v->render();			delete(v);			return (TCL_OK);		}		if (strcmp(argv[1], "editview") == 0) {			/*			 * <net> editview <viewname>			 */			EditView *v = new EditView(argv[2], this);			v->next_ = views_;			views_ = v;			return (TCL_OK);		}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日本欧美一区二区| 蜜桃视频一区二区| 日本少妇一区二区| 不卡的av电影| 欧美videos大乳护士334| 一级精品视频在线观看宜春院 | 欧美日韩亚洲丝袜制服| 久久久久久久久久美女| 美女网站视频久久| 99精品国产热久久91蜜凸| 日韩精品一区二区三区中文不卡| 亚洲精品少妇30p| 成人免费视频国产在线观看| 欧美大片在线观看一区| 亚洲综合激情小说| 91理论电影在线观看| 欧美国产成人在线| 国产精品综合视频| 精品91自产拍在线观看一区| 婷婷中文字幕综合| 欧美丝袜丝交足nylons| 樱花草国产18久久久久| 99在线精品免费| 国产精品九色蝌蚪自拍| 成人av资源站| 国产精品国产三级国产普通话99| 国产福利一区二区| 国产偷v国产偷v亚洲高清| 国内欧美视频一区二区 | 国产天堂亚洲国产碰碰| 国内精品国产三级国产a久久| 日韩欧美精品三级| 日本不卡视频在线| 欧美电视剧在线观看完整版| 老司机精品视频线观看86| 欧美电视剧免费全集观看| 老司机精品视频导航| 精品国产一区二区国模嫣然| 韩国毛片一区二区三区| 久久久高清一区二区三区| 国产91精品在线观看| 国产精品乱码妇女bbbb| 91在线你懂得| 亚洲一区二区在线视频| 9191久久久久久久久久久| 日韩电影免费在线观看网站| 91精品国产欧美一区二区18| 久久er精品视频| 国产亚洲欧洲997久久综合| 成人免费观看av| 亚洲柠檬福利资源导航| 欧美猛男男办公室激情| 久久99热这里只有精品| 国产亚洲一二三区| 在线观看网站黄不卡| 天天操天天色综合| 久久久综合视频| 91麻豆国产精品久久| 午夜一区二区三区在线观看| 精品1区2区在线观看| www.欧美日韩| 日本少妇一区二区| 国产精品久久久久毛片软件| 欧美人动与zoxxxx乱| 国产伦精品一区二区三区免费迷| 日韩久久一区二区| 91麻豆精品国产91久久久久久久久 | 欧美国产欧美综合| 一本一本久久a久久精品综合麻豆| 日韩精品一二三| 中文字幕第一区综合| 欧美日韩国产一级二级| 国产一区二区福利| 亚洲综合区在线| 久久久久88色偷偷免费| 欧美日韩一二区| 成人app下载| 美女视频网站黄色亚洲| 亚洲欧美电影院| 久久综合狠狠综合| 欧美日韩国产bt| 99精品热视频| 国产美女精品一区二区三区| 亚洲综合一二区| 国产亚洲欧美激情| 日韩你懂的在线播放| 91国模大尺度私拍在线视频| 国产·精品毛片| 毛片av一区二区| 亚洲国产精品一区二区久久恐怖片| 久久九九全国免费| 欧美一卡在线观看| 日本韩国欧美三级| 成人深夜在线观看| 国内精品伊人久久久久av影院 | 国产伦精品一区二区三区免费迷| 亚洲专区一二三| 国产精品网友自拍| 久久久精品人体av艺术| 欧美一区二区三区电影| 欧美三级日本三级少妇99| 99re这里都是精品| 成人av在线影院| 国产麻豆欧美日韩一区| 老司机午夜精品| 免费日本视频一区| 亚洲高清视频中文字幕| 一区二区三区四区av| 中文字幕综合网| 国产精品久久久久影院亚瑟| 欧美经典一区二区| 国产亲近乱来精品视频| 日本一区二区视频在线观看| 久久综合狠狠综合久久综合88| 精品国免费一区二区三区| 日韩欧美一区中文| 精品噜噜噜噜久久久久久久久试看 | 欧美国产禁国产网站cc| 国产精品系列在线| 亚洲特级片在线| 一区二区三区色| 亚洲成国产人片在线观看| 婷婷亚洲久悠悠色悠在线播放| 午夜精品视频在线观看| 青椒成人免费视频| 精品一区二区在线免费观看| 国产伦精品一区二区三区视频青涩 | 欧美性色黄大片| 欧美丰满一区二区免费视频| 91精品国产综合久久国产大片| 日韩一区国产二区欧美三区| 欧美r级在线观看| 国产清纯白嫩初高生在线观看91 | 欧美日韩视频在线第一区| 91麻豆国产香蕉久久精品| 91老师片黄在线观看| 欧美性做爰猛烈叫床潮| 欧美一区永久视频免费观看| 亚洲精品在线观看视频| 中文字幕一区二区三区不卡在线 | 麻豆精品一区二区av白丝在线| 看电影不卡的网站| 丁香激情综合五月| 欧美在线观看一区| 欧美刺激午夜性久久久久久久| 国产欧美精品一区aⅴ影院| 亚洲免费在线电影| 轻轻草成人在线| 成人一区在线观看| 欧美日韩国产在线观看| 国产欧美一区二区在线观看| 亚洲最新视频在线观看| 国产在线不卡一区| 欧洲国产伦久久久久久久| 精品国产区一区| 亚洲黄色免费网站| 国产一区91精品张津瑜| 欧美日韩一级片网站| 中文幕一区二区三区久久蜜桃| 亚洲一区二区三区美女| 国产精品自拍三区| 欧美福利电影网| 亚洲视频一区在线| 激情综合色综合久久综合| 欧美性受xxxx黑人xyx| 欧美国产激情二区三区| 麻豆freexxxx性91精品| 在线视频一区二区三| 国产日韩欧美在线一区| 免费观看30秒视频久久| 91成人国产精品| 国产精品免费久久久久| 精品一区二区三区的国产在线播放 | 91精品久久久久久蜜臀| 亚洲欧美日韩小说| 国产成人av自拍| 欧美videossexotv100| 午夜av一区二区三区| 91网页版在线| 国产欧美精品一区二区三区四区 | 亚洲国产美国国产综合一区二区| 国产不卡视频在线播放| 亚洲精品在线观| 久久精品99久久久| 91精品国产全国免费观看| 一区二区三区不卡视频在线观看| 成人av影视在线观看| 久久久三级国产网站| 久热成人在线视频| 日韩欧美一二三| 日本不卡高清视频| 8v天堂国产在线一区二区| 亚洲国产精品久久艾草纯爱| 91网站在线播放| 亚洲青青青在线视频| 色综合视频在线观看| 一区二区在线免费| 色av成人天堂桃色av| 一区二区三区在线视频观看| 91久久精品一区二区三区|