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

📄 control.pr.c

📁 实验室前辈用OPNET做的光突发交换网络的仿真实验
💻 C
📖 第 1 页 / 共 3 页
字号:
				printf("total_temp_hop_count=%d\n",total_temp_hop_count);
				getchar();
				*/
				/*
				for(i=0;i<1;i++)
				{	
					link_objid = op_id_from_userid(subnet_objid,OPC_OBJTYPE_LKDUP,i);
					tx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 0);
					rx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_OUT, OPC_OBJTYPE_PTRX,0);
					
					//op_ima_obj_attr_get(tx_objid,"name",temp_char1);
					//op_ima_obj_attr_get(rx_objid,"name",temp_char2);
					//printf("link_userid=%d,objid=%e,tx=%e,rx=%e,tx_name=%s,rx_name=%s\n",i,link_objid,tx_objid,rx_objid,temp_char1,temp_char2);	
					printf("link_userid=%d,objid=%d,tx=%d,rx=%d\n",i,link_objid,tx_objid,rx_objid);	
					
					link_objid1 = op_id_from_userid(subnet_objid,OPC_OBJTYPE_LKDUP,i);
					tx_objid = op_topo_assoc ( link_objid1, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 1);
					rx_objid = op_topo_assoc ( link_objid1, OPC_TOPO_ASSOC_OUT, OPC_OBJTYPE_PTRX, 1);
					printf("link_userid=%d,objid=%d,tx=%d,rx=%d\n",i,link_objid1,tx_objid,rx_objid);	
					
					op_ima_obj_attr_get(link_objid,"transmitter a",temp_char3);
					op_ima_obj_attr_get(link_objid,"transmitter b",temp_char4);
					op_ima_obj_attr_get(link_objid,"receiver a",temp_char5);
					op_ima_obj_attr_get(link_objid,"receiver b",temp_char6);
					
					//tx_objid = op_id_from_name (subnet_objid, OPC_OBJTYPE_PTTX, "temp_char3");
				
					printf("t_a=%s,t_b=%s,r_a=%s,r_b=%s\n",temp_char3,temp_char4,temp_char5,temp_char6);
					/*
					temp_strm_count = op_topo_assoc_count (tx_objid, OPC_TOPO_ASSOC_IN,OPC_OBJTYPE_STRM);
					for(j=0;j<temp_strm_count;j++)
					{
						temp_strm_objid = op_topo_assoc (tx_objid,OPC_TOPO_ASSOC_IN,OPC_OBJTYPE_STRM, j);
						printf("j=%d,temp_strm_objid=%e\n",j,temp_strm_objid);
					}	
					*/
				/*	
					//printf("temp_strm_count=%d\n",temp_strm_count);
					
					temp_src_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX,6);
					temp_dest_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX, 0);
					temp_link_count = op_topo_connect_count (temp_src_objid, temp_dest_objid,OPC_OBJMTYPE_LINK);
					
					link_objid = op_topo_connect (temp_src_objid, temp_dest_objid,OPC_OBJTYPE_LKDUP, 0);
					tx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX,1);
					rx_objid = op_topo_assoc (link_objid, OPC_TOPO_ASSOC_OUT,OPC_OBJTYPE_PTRX, 1);
					
					op_ima_obj_attr_get(link_objid,"transmitter a",temp_char3);
					op_ima_obj_attr_get(link_objid,"transmitter b",temp_char4);
					op_ima_obj_attr_get(link_objid,"receiver a",temp_char5);
					op_ima_obj_attr_get(link_objid,"receiver b",temp_char6);
					
					printf("t_a=%s,t_b=%s,r_a=%s,r_b=%s\n",temp_char3,temp_char4,temp_char5,temp_char6);
				
					
					op_ima_obj_attr_get(node_objid,"name",temp_char3);
				
					
					op_ima_obj_attr_get(tx_objid,"name",temp_char5);
					op_ima_obj_attr_get(rx_objid,"name",temp_char6);
					
					//tx_objid = op_id_from_name (subnet_objid, OPC_OBJTYPE_PTTX, "pt_3");
					
					printf("t_a=%s,t_b=%s,r_a=%s,r_b=%s\n",temp_char3,temp_char4,temp_char5,temp_char6);
					
					
					printf("link_count=%d,objid=%d,tx=%d,rx=%d\n",temp_link_count,link_objid,tx_objid,rx_objid);	
					
					link_objid1 = op_topo_connect (temp_dest_objid, temp_src_objid,OPC_OBJTYPE_LKDUP, 0);
					tx_objid = op_topo_assoc ( link_objid1, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX,0);
					rx_objid = op_topo_assoc (link_objid1, OPC_TOPO_ASSOC_OUT,OPC_OBJTYPE_PTRX, 0);
					printf("link_count=%d,objid=%d,tx=%d,rx=%d\n",temp_link_count,link_objid,tx_objid,rx_objid);	
					
					op_ima_obj_attr_get(tx_objid,"name",temp_char5);
					op_ima_obj_attr_get(rx_objid,"name",temp_char6);
					printf("t_a=%s,t_b=%s,r_a=%s,r_b=%s\n",temp_char3,temp_char4,temp_char5,temp_char6);
					
					temp_strm_count = op_topo_assoc_count (tx_objid, OPC_TOPO_ASSOC_IN,OPC_OBJTYPE_STRM);
					for(j=0;j<temp_strm_count;j++)
					{
						temp_strm_objid = op_topo_assoc (tx_objid,OPC_TOPO_ASSOC_IN,OPC_OBJTYPE_STRM, j);
						printf("j=%d,temp_strm_objid=%d\n",j,temp_strm_objid);
					}	
				}
				getchar();
				*/
				/*
				for(i=0;i<15;i++)
				{	
					link_objid = op_id_from_userid(subnet_objid,OPC_OBJTYPE_LKDUP,i);
					tx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 0);
					rx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_OUT, OPC_OBJTYPE_PTRX, 0);
					printf("link_userid=%i,objid=%d,tx_0=%d,rx_0=%d\n",i,link_objid,tx_objid,rx_objid);	
					tx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 1);
					rx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_OUT, OPC_OBJTYPE_PTRX, 1);
					printf("link_userid=%i,objid=%d,tx_1=%d,rx_1=%d\n",i,link_objid,tx_objid,rx_objid);	
					
				}
				getchar();
				/*
				for(i=0;i<15;i++)
				{	
					link_objid = op_id_from_userid(subnet_objid,OPC_OBJTYPE_LKDUP,i);
					tx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 0);
					rx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_OUT, OPC_OBJTYPE_PTRX, 0);
					printf("link_userid=%i,objid=%e,tx=%e,rx=%e\n",i,link_objid,tx_objid,rx_objid);	
				}
				getchar();
				for(i=0;i<15;i++)
				{	
					link_objid = op_id_from_userid(subnet_objid,OPC_OBJTYPE_LKDUP,i);
					tx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 1);
					rx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_OUT, OPC_OBJTYPE_PTRX, 1);
					printf("link_userid=%i,objid=%e,tx=%e,rx=%e\n",i,link_objid,tx_objid,rx_objid);	
				}
				getchar();
				
				//printf("control node:userid=%d\n",userid);
				temp_src_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX,5);
				temp_dest_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX, 4);
				link_objid = op_topo_connect (temp_dest_objid, temp_src_objid,OPC_OBJTYPE_LKDUP, 0);
				tx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 0);
				rx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_OUT, OPC_OBJTYPE_PTRX, 0);
					
				printf("s=%d,d=%d,objid=%e,tx=%e,rx=%e\n",5,4,link_objid,tx_objid,rx_objid);
				getchar();
				
				temp_src_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX,5);
				temp_dest_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX, 4);
				link_objid = op_topo_connect (temp_dest_objid, temp_src_objid,OPC_OBJTYPE_LKDUP, 0);
				tx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 1);
				rx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_OUT, OPC_OBJTYPE_PTRX, 1);
					
				printf("s=%d,d=%d,objid=%e,tx=%e,rx=%e\n",5,4,link_objid,tx_objid,rx_objid);
				getchar();
				
				temp_src_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX,4);
				temp_dest_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX, 5);
				link_objid = op_topo_connect (temp_dest_objid, temp_src_objid,OPC_OBJTYPE_LKDUP, 0);
				tx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 0);
				rx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_OUT, OPC_OBJTYPE_PTRX, 0);
					
				printf("s=%d,d=%d,objid=%e,tx=%e,rx=%e\n",4,5,link_objid,tx_objid,rx_objid);
				getchar();
				
				temp_src_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX,4);
				temp_dest_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX, 5);
				link_objid = op_topo_connect (temp_dest_objid, temp_src_objid,OPC_OBJTYPE_LKDUP, 0);
				tx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 1);
				rx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_OUT, OPC_OBJTYPE_PTRX, 1);
					
				printf("s=%d,d=%d,objid=%e,tx=%e,rx=%e\n",4,5,link_objid,tx_objid,rx_objid);
				getchar();
				
				temp_src_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX,6);
				temp_dest_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX, 0);
				link_objid = op_topo_connect (temp_dest_objid, temp_src_objid,OPC_OBJTYPE_LKDUP, 0);
				tx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 0);
				rx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_OUT, OPC_OBJTYPE_PTRX, 0);
					
				printf("s=%d,d=%d,objid=%e,tx=%e,rx=%e\n",6,0,link_objid,tx_objid,rx_objid);
				getchar();
				
				temp_src_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX,6);
				temp_dest_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX, 0);
				link_objid = op_topo_connect (temp_dest_objid, temp_src_objid,OPC_OBJTYPE_LKDUP, 0);
				tx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 0);
				rx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_OUT, OPC_OBJTYPE_PTRX, 0);
					
				printf("s=%d,d=%d,objid=%e,tx=%e,rx=%e\n",6,0,link_objid,tx_objid,rx_objid);
				getchar();
				
				//rx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_OUT, OPC_OBJTYPE_PTRX, 0);
				//tx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 0);
				
				//link1_objid = op_topo_connect (temp_dest_objid, temp_src_objid,OPC_OBJTYPE_LKDUP, 0);
				//rx1_objid = op_topo_assoc ( link1_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 0);
				//tx1_objid = op_topo_assoc ( link1_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 0);
				
				//output_strm_objid = op_topo_assoc (tx_objid, OPC_TOPO_ASSOC_OUT,OPC_OBJTYPE_STRM, 3);
				//output_strm_objid = op_topo_assoc (rx1_objid, OPC_TOPO_ASSOC_OUT,OPC_OBJTYPE_STRM, 3);
				
				//printf("5tx=%e,4rx=%e\n",op_topo_assoc (tx_objid, OPC_TOPO_ASSOC_IN,OPC_OBJTYPE_STRM, 3),op_topo_assoc (rx1_objid, OPC_TOPO_ASSOC_IN,OPC_OBJTYPE_STRM, 3));
				
				//printf("rx=%e,rx1=%e,tx=%e,tx1=%e\n",rx_objid,rx1_objid,tx_objid,tx1_objid);
				//getchar();	
				
				/*
				
				temp_src_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX,5);
				temp_dest_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX, 4);
				link_objid = op_topo_connect (temp_src_objid, temp_dest_objid,OPC_OBJTYPE_LKDUP, 0);
				rx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_OUT, OPC_OBJTYPE_PTRX, 0);
				tx_objid = op_topo_assoc ( link_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 0);
				
				link1_objid = op_topo_connect (temp_dest_objid, temp_src_objid,OPC_OBJTYPE_LKDUP, 0);
				rx1_objid = op_topo_assoc ( link1_objid, OPC_TOPO_ASSOC_OUT, OPC_OBJTYPE_PTRX, 0);
				tx1_objid = op_topo_assoc ( link1_objid, OPC_TOPO_ASSOC_IN, OPC_OBJTYPE_PTTX, 0);
				
				printf("rx2=%e,rx3=%e,tx2=%e,tx3=%e\n",rx_objid,rx1_objid,tx_objid,tx1_objid);
				getchar();
				*/
				
				//output_strm_objid = op_topo_assoc (rx_objid, OPC_TOPO_ASSOC_OUT,OPC_OBJTYPE_STRM, temp_prev_wave_num);
				//input_strm_objid = op_topo_assoc (tx_objid, OPC_TOPO_ASSOC_OUT,OPC_OBJTYPE_STRM, 0);
				//output_strm_objid = op_topo_assoc (rx_objid, OPC_TOPO_ASSOC_OUT,OPC_OBJTYPE_STRM, 0);
				
				//op_ima_obj_attr_get (output_strm_objid, "src stream", &temp_input_strm_num);
				
				//printf("rx=%e,tx=%e\n",op_topo_connect (temp_src_objid, temp_dest_objid,OPC_OBJTYPE_LKDUP, 0),op_topo_connect (temp_dest_objid, temp_src_objid,OPC_OBJTYPE_LKDUP, 0));
					
				
				
				
				
				
				//getchar(); 
				/*
				temp_objid = op_id_from_name(op_topo_parent(node_objid),OPC_OBJTYPE_NDFIX,"MESH_0");
				op_ima_obj_attr_get(temp_objid, "user id", &userid);
				printf("mesh_0:userid=%d\n",userid);
				getchar();
				userid = 0;
				op_ima_obj_attr_set(temp_objid, "user id", userid);
				
				temp_objid = op_id_from_name(op_topo_parent(node_objid),OPC_OBJTYPE_NDFIX,"MESH_1");
				op_ima_obj_attr_get(temp_objid, "user id", &userid);
				printf("mesh_1:userid=%d\n",userid);
				getchar();
				userid++  ;
				op_ima_obj_attr_set(temp_objid, "user id", userid);
				
				temp_objid = op_id_from_name(op_topo_parent(node_objid),OPC_OBJTYPE_NDFIX,"MESH_2");
				op_ima_obj_attr_get(temp_objid, "user id", &userid);
				printf("mesh_2:userid=%d\n",userid);
				getchar();
				userid++  ;
				op_ima_obj_attr_set(temp_objid, "user id", userid);
				
				temp_objid = op_id_from_name(op_topo_parent(node_objid),OPC_OBJTYPE_NDFIX,"MESH_3");
				op_ima_obj_attr_get(temp_objid, "user id", &userid);
				printf("mesh_3:userid=%d\n",userid);
				getchar();
				userid++  ;
				op_ima_obj_attr_set(temp_objid, "user id", userid);
				
				temp_objid = op_id_from_name(op_topo_parent(node_objid),OPC_OBJTYPE_NDFIX,"MESH_4");
				op_ima_obj_attr_get(temp_objid, "user id", &userid);
				printf("mesh_4:userid=%d\n",userid);
				getchar();
				userid++  ;
				op_ima_obj_attr_set(temp_objid, "user id", userid);
				
				temp_objid = op_id_from_name(op_topo_parent(node_objid),OPC_OBJTYPE_NDFIX,"MESH_5");
				op_ima_obj_attr_get(temp_objid, "user id", &userid);
				printf("mesh_5:userid=%d\n",userid);
				getchar();
				userid++  ;
				op_ima_obj_attr_set(temp_objid, "user id", userid);
				
				
				temp_objid = op_id_from_name(op_topo_parent(node_objid),OPC_OBJTYPE_NDFIX,"ER_0");
				op_ima_obj_attr_get(temp_objid, "user id", &userid);
				printf("ER_0:userid=%d\n",userid);
				getchar();
				userid++  ;
				op_ima_obj_attr_set(temp_objid, "user id", userid);
				
				temp_objid = op_id_from_name(op_topo_parent(node_objid),OPC_OBJTYPE_NDFIX,"ER_1");
				op_ima_obj_attr_get(temp_objid, "user id", &userid);
				printf("ER_1:userid=%d\n",userid);
				getchar();
				userid++  ;
				op_ima_obj_attr_set(temp_objid, "user id", userid);
				
				temp_objid = op_id_from_name(op_topo_parent(node_objid),OPC_OBJTYPE_NDFIX,"ER_2");
				op_ima_obj_attr_get(temp_objid, "user id", &userid);
				printf("ER_2:userid=%d\n",userid);
				getchar();
				userid++  ;
				op_ima_obj_attr_set(temp_objid, "user id", userid);
				
				temp_objid = op_id_from_name(op_topo_parent(node_objid),OPC_OBJTYPE_NDFIX,"ER_3");
				op_ima_obj_attr_get(temp_objid, "user id", &userid);
				printf("ER_3:userid=%d\n",userid);
				getchar();
				userid++  ;
				op_ima_obj_attr_set(temp_objid, "user id", userid);
				
				temp_objid = op_id_from_name(op_topo_parent(node_objid),OPC_OBJTYPE_NDFIX,"ER_4");
				op_ima_obj_attr_get(temp_objid, "user id", &userid);
				printf("ER_4:userid=%d\n",userid);
				getchar();
				userid++  ;
				op_ima_obj_attr_set(temp_objid, "user id", userid);
				
				temp_objid = op_id_from_name(op_topo_parent(node_objid),OPC_OBJTYPE_NDFIX,"ER_5");
				op_ima_obj_attr_get(temp_objid, "user id", &userid);
				printf("ER_5:userid=%d\n",userid);
				getchar();
				userid++  ;
				op_ima_obj_attr_set(temp_objid, "user id", userid);
				
				*/
				/* create 6 lists for enabled, disabled, links, and nodes */
				/*
				link_enabled_lptr = op_prg_list_create (); 
				link_disabled_lptr = op_prg_list_create (); 
				link_non_mesh_lptr = op_prg_list_create (); 
				call_router_lptr = op_prg_list_create (); 
				mesh_nd_enabled_lptr = op_prg_list_create (); 
				mesh_nd_disabled_lptr = op_prg_list_create (); 
				*/
				/* get total number of fixed nodes */
				/*
				num_fixed_nodes = op_topo_object_count (OPC_OBJTYPE_NDFIX);
				num_fixed_nodes = num_fixed_nodes - 1;
				printf("node_num=%d\n",num_fixed_nodes);
				getchar();
				
				
				for(i = 0;i < 11;i++) 
				{
					for(j = 0;j < 11;j++) 
					{
						src_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX, i);
						dest_objid = op_id_from_userid (subnet_objid, OPC_OBJTYPE_NDFIX, j);
						rset_ptr[i][j] = op_rte_routeset_create (topo_ptr, subnet_objid, src_objid, subnet_objid, dest_objid, MAX_HOPS);
						if(i == j) 
						{
							min_rptr[i][j] = OPC_NIL;
							p_min_rptr[i][j] = OPC_NIL;
							primary_num_nodes[i][j] = 0;
							num_routes[i][j] = 0;
						}
						else 
						{
							op_ima_obj_attr_get (src_objid, "name", node_name);
						printf("s=%s\t",node_name);
						op_ima_obj_attr_get (dest_objid, "name", node_name);
						printf("d=%s\n",node_name);
						
							num_routes[i][j] = op_rte_routeset_num_routes (rset_ptr[i][j]);
							min_rptr[i][j] = op_rte_routeset_mincost (rset_ptr[i][j]);				
							printf("control:s=%d,d=%d\n",i,j);
							op_rte_routeset_print(rset_ptr[i][j]);
							getchar();
							op_rte_route_print(min_rptr[i][j]);
							getchar();
						}
					} 
				}
				

⌨️ 快捷键说明

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