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

📄 ier.em.c

📁 实验室前辈用OPNET做的光突发交换网络的仿真实验
💻 C
📖 第 1 页 / 共 4 页
字号:
		"name",                 COMP_INTENDED, EMAC_DISABLED,
		"status",               COMP_TOGGLE,   EMAC_ENABLED,
		"status",               COMP_INTENDED, EMAC_DISABLED,
		"position",             COMP_CONTENTS, obj [18],
		"initial",              COMP_TOGGLE,   EMAC_DISABLED,
		EMAC_EOL);


	/* assign attrs for object 'obj [19]' */
	/* create and init prg list 'prg_lptr [18]' */
	prg_lptr [18] = (Prg_List *)prg_list_create ();
	prg_list_strings_append (prg_lptr [18], 
		"//printf(\"proc:sent:,sim=%f\\n\",op_sim_time());",
		"/* obtain the app packet*/",
		"//pkptr = op_pk_get(op_intrpt_strm());",
		"",
		"//op_pk_nfd_get (pkptr, \"flag_suc\", &temp_flag_suc);",
		"//if(temp_flag_suc == 1)",
		"//{",
		"	temp_code = op_intrpt_code();",
		"//	op_pk_nfd_get (pkptr, \"destination address\", &destination_address);",
		"//	pkptr_burst = op_subq_pk_remove (destination_address-1, OPC_QPOS_HEAD);",
		"	pkptr_burst = op_subq_pk_remove (temp_code-1, OPC_QPOS_HEAD);",
		"	",
		"	",
		"	if(temp_code == 1)",
		"	{",
		"		burst_count_to_node1++;",
		"		op_stat_write(burst_count_to_node1_stathandle,burst_count_to_node1);",
		"		burst_size_to_node1 = op_pk_total_size_get(pkptr_burst);",
		"		op_stat_write(burst_size_to_node1_stathandle,burst_size_to_node1);",
		"	}",
		"	else if(temp_code == 2)",
		"	{	",
		"		burst_count_to_node2++;",
		"		op_stat_write(burst_count_to_node2_stathandle,burst_count_to_node2);",
		"		burst_size_to_node2 = op_pk_total_size_get(pkptr_burst);",
		"		op_stat_write(burst_size_to_node2_stathandle,burst_size_to_node2);",
		"	}",
		"	else if(temp_code == 3)",
		"	{	",
		"		burst_count_to_node3++;",
		"		op_stat_write(burst_count_to_node3_stathandle,burst_count_to_node3);",
		"		burst_size_to_node3 = op_pk_total_size_get(pkptr_burst);",
		"		op_stat_write(burst_size_to_node3_stathandle,burst_size_to_node3);",
		"	}",
		"	else if(temp_code == 4)",
		"	{	",
		"		burst_count_to_node4++;",
		"		op_stat_write(burst_count_to_node4_stathandle,burst_count_to_node4);",
		"		burst_size_to_node4 = op_pk_total_size_get(pkptr_burst);",
		"		op_stat_write(burst_size_to_node4_stathandle,burst_size_to_node4);",
		"	}",
		"	else if(temp_code == 5)",
		"	{",
		"		burst_count_to_node5++;",
		"		op_stat_write(burst_count_to_node5_stathandle,burst_count_to_node5);",
		"		burst_size_to_node5 = op_pk_total_size_get(pkptr_burst);",
		"		op_stat_write(burst_size_to_node5_stathandle,burst_size_to_node5);",
		"	}",
		"	else if(temp_code == 6)",
		"	{",
		"		burst_count_to_node6++;",
		"		op_stat_write(burst_count_to_node6_stathandle,burst_count_to_node6);",
		"		burst_size_to_node6 = op_pk_total_size_get(pkptr_burst);",
		"		op_stat_write(burst_size_to_node6_stathandle,burst_size_to_node6);",
		"	}	",
		"",
		"",
		"	op_pk_send(pkptr_burst, PK_OUT_STRM_STORE);",
		"//}",
		"//else if(temp_flag_suc == 0)",
		"{",
		"}",
		"//op_pk_destroy(pkptr);",
		"",
		PRGC_NIL);

	Ema_Object_Attr_Set (model_id, obj [19], 
		"name",                 COMP_CONTENTS, "data_access",
		"name",                 COMP_INTENDED, EMAC_DISABLED,
		"Enter Execs",          COMP_CONTENTS, prg_lptr [18],
		"status",               COMP_TOGGLE,   EMAC_ENABLED,
		"status",               COMP_INTENDED, EMAC_DISABLED,
		"position",             COMP_CONTENTS, obj [20],
		"initial",              COMP_TOGGLE,   EMAC_DISABLED,
		EMAC_EOL);


	/* assign attrs for object 'obj [21]' */
	/* create and init prg list 'prg_lptr [20]' */
	prg_lptr [20] = (Prg_List *)prg_list_create ();
	prg_list_strings_append (prg_lptr [20], 
		"//printf(\"classfication1  sim=%f\\n\",op_sim_time());",
		"//getchar();",
		"self_objid = op_id_self ();",
		"node_objid = op_topo_parent(self_objid);",
		"op_ima_obj_attr_get(node_objid, \"user id\", &userid);	",
		"//if(userid ==1)",
		"//{	",
		"gen_count_total_send++;",
		"op_stat_write(gen_count_total_send_stathandle,gen_count_total_send);",
		"",
		"pkptr_burst = op_pk_get(op_intrpt_strm());",
		"",
		"",
		"source_address = node_address;",
		"//printf(\"classfication2\\n\");",
		"//getchar();",
		"while(1)",
		"{",
		"	destination_address = op_dist_uniform(NODE_NUM);",
		"	destination_address++;",
		"//	destination_address=2;",
		"//	printf(\"classfication, userid=%d,des_address=%d\\n\",userid,destination_address);",
		"	",
		"	if(userid != destination_address)	",
		"	{	",
		"		",
		"		id_number++;",
		"		op_pk_nfd_set (pkptr_burst, \"source address\", node_address);",
		"		op_pk_nfd_set (pkptr_burst, \"destination address\", destination_address);",
		"		//if type == 0 than bcp, if type == 1 than burst",
		"		op_pk_nfd_set (pkptr_burst, \"type\", 1);",
		"		op_pk_nfd_set (pkptr_burst, \"id\", id_number);",
		"		//op_subq_print (destination_address-1);",
		"		op_subq_pk_insert (destination_address-1, pkptr_burst, OPC_QPOS_TAIL);",
		"//		printf(\"subq insert success,subq_index=%d,userid=%d\\n\",subq_index,userid);",
		"		//op_subq_print (destination_address-1);",
		"		break;",
		"	}",
		"	else",
		"	{",
		"//		printf(\"subq insert fail,userid=%d\\n\",userid);",
		"	}	",
		"}",
		"	",
		"//printf(\"classfication  sim=%f\\n\",op_sim_time());",
		"//getchar();",
		"",
		"",
		"//}",
		"",
		"",
		"",
		"",
		"",
		PRGC_NIL);

	Ema_Object_Attr_Set (model_id, obj [21], 
		"name",                 COMP_CONTENTS, "data_recieve",
		"name",                 COMP_INTENDED, EMAC_DISABLED,
		"Enter Execs",          COMP_CONTENTS, prg_lptr [20],
		"status",               COMP_TOGGLE,   EMAC_ENABLED,
		"status",               COMP_INTENDED, EMAC_DISABLED,
		"position",             COMP_CONTENTS, obj [22],
		"initial",              COMP_TOGGLE,   EMAC_DISABLED,
		EMAC_EOL);


	/* assign attrs for object 'obj [23]' */
	Ema_Object_Attr_Set (model_id, obj [23], 
		"name",                 COMP_CONTENTS, "routing",
		"name",                 COMP_INTENDED, EMAC_DISABLED,
		"status",               COMP_TOGGLE,   EMAC_ENABLED,
		"status",               COMP_INTENDED, EMAC_DISABLED,
		"position",             COMP_CONTENTS, obj [24],
		"initial",              COMP_TOGGLE,   EMAC_DISABLED,
		EMAC_EOL);


	/* assign attrs for object 'obj [25]' */
	Ema_Object_Attr_Set (model_id, obj [25], 
		"name",                 COMP_CONTENTS, "scheduling",
		"name",                 COMP_INTENDED, EMAC_DISABLED,
		"status",               COMP_TOGGLE,   EMAC_ENABLED,
		"status",               COMP_INTENDED, EMAC_DISABLED,
		"position",             COMP_CONTENTS, obj [26],
		"initial",              COMP_TOGGLE,   EMAC_DISABLED,
		EMAC_EOL);


	/* assign attrs for object 'obj [27]' */
	Ema_Object_Attr_Set (model_id, obj [27], 
		"name",                 COMP_CONTENTS, "end",
		"position",             COMP_CONTENTS, obj [28],
		"initial",              COMP_TOGGLE,   EMAC_DISABLED,
		EMAC_EOL);


	/* assign attrs for object 'obj [29]' */
	Ema_Object_Attr_Set (model_id, obj [29], 
		"name",                 COMP_CONTENTS, "tr_0",
		"name",                 COMP_INTENDED, EMAC_DISABLED,
		"condition",            COMP_CONTENTS, "BEG_SIM",
		"executive",            COMP_CONTENTS, "",
		"executive",            COMP_INTENDED, EMAC_DISABLED,
		"dest state",           COMP_CONTENTS, obj [13],
		"src state",            COMP_CONTENTS, obj [11],
		"color",                COMP_CONTENTS, 0,
		"color",                COMP_INTENDED, EMAC_DISABLED,
		"path",                 COMP_ARRAY_CONTENTS (0), obj [30],
		"path",                 COMP_ARRAY_CONTENTS (1), obj [31],
		"label pos",            COMP_CONTENTS, obj [32],
		EMAC_EOL);


	/* assign attrs for object 'obj [33]' */
	Ema_Object_Attr_Set (model_id, obj [33], 
		"name",                 COMP_CONTENTS, "tr_1",
		"name",                 COMP_INTENDED, EMAC_DISABLED,
		"condition",            COMP_CONTENTS, "END_SIM",
		"executive",            COMP_CONTENTS, "",
		"dest state",           COMP_CONTENTS, obj [27],
		"src state",            COMP_CONTENTS, obj [13],
		"color",                COMP_CONTENTS, 0,
		"color",                COMP_INTENDED, EMAC_DISABLED,
		"path",                 COMP_ARRAY_CONTENTS (0), obj [34],
		"path",                 COMP_ARRAY_CONTENTS (1), obj [35],
		"label pos",            COMP_CONTENTS, obj [36],
		EMAC_EOL);


	/* assign attrs for object 'obj [37]' */
	Ema_Object_Attr_Set (model_id, obj [37], 
		"name",                 COMP_CONTENTS, "tr_3",
		"name",                 COMP_INTENDED, EMAC_DISABLED,
		"condition",            COMP_CONTENTS, "BURST_ARRIVAL",
		"executive",            COMP_CONTENTS, "",
		"executive",            COMP_INTENDED, EMAC_DISABLED,
		"dest state",           COMP_CONTENTS, obj [21],
		"src state",            COMP_CONTENTS, obj [13],
		"color",                COMP_CONTENTS, 0,
		"color",                COMP_INTENDED, EMAC_DISABLED,
		"path",                 COMP_ARRAY_CONTENTS (0), obj [38],
		"path",                 COMP_ARRAY_CONTENTS (1), obj [39],
		"label pos",            COMP_CONTENTS, obj [40],
		EMAC_EOL);


	/* assign attrs for object 'obj [41]' */
	Ema_Object_Attr_Set (model_id, obj [41], 
		"name",                 COMP_CONTENTS, "tr_5",
		"name",                 COMP_INTENDED, EMAC_DISABLED,
		"condition",            COMP_CONTENTS, "default",
		"executive",            COMP_CONTENTS, "",
		"executive",            COMP_INTENDED, EMAC_DISABLED,
		"dest state",           COMP_CONTENTS, obj [13],
		"src state",            COMP_CONTENTS, obj [21],
		"color",                COMP_CONTENTS, 0,
		"color",                COMP_INTENDED, EMAC_DISABLED,
		"path",                 COMP_ARRAY_CONTENTS (0), obj [42],
		"path",                 COMP_ARRAY_CONTENTS (1), obj [43],
		"label pos",            COMP_CONTENTS, obj [44],
		EMAC_EOL);


	/* assign attrs for object 'obj [45]' */
	Ema_Object_Attr_Set (model_id, obj [45], 
		"name",                 COMP_CONTENTS, "tr_7",
		"name",                 COMP_INTENDED, EMAC_DISABLED,
		"condition",            COMP_CONTENTS, "INTRPT_SELF",
		"executive",            COMP_CONTENTS, "",
		"executive",            COMP_INTENDED, EMAC_DISABLED,
		"dest state",           COMP_CONTENTS, obj [15],
		"src state",            COMP_CONTENTS, obj [13],
		"color",                COMP_CONTENTS, 0,
		"color",                COMP_INTENDED, EMAC_DISABLED,
		"path",                 COMP_ARRAY_CONTENTS (0), obj [46],
		"path",                 COMP_ARRAY_CONTENTS (1), obj [47],
		"label pos",            COMP_CONTENTS, obj [48],
		EMAC_EOL);


	/* assign attrs for object 'obj [49]' */
	Ema_Object_Attr_Set (model_id, obj [49], 
		"name",                 COMP_CONTENTS, "tr_8",
		"name",                 COMP_INTENDED, EMAC_DISABLED,
		"condition",            COMP_CONTENTS, "default",
		"executive",            COMP_CONTENTS, "",
		"executive",            COMP_INTENDED, EMAC_DISABLED,
		"dest state",           COMP_CONTENTS, obj [13],
		"src state",            COMP_CONTENTS, obj [15],
		"color",                COMP_CONTENTS, 0,
		"color",                COMP_INTENDED, EMAC_DISABLED,
		"path",                 COMP_ARRAY_CONTENTS (0), obj [50],
		"path",                 COMP_ARRAY_CONTENTS (1), obj [51],
		"label pos",            COMP_CONTENTS, obj [52],
		EMAC_EOL);


	/* assign attrs for object 'obj [53]' */
	Ema_Object_Attr_Set (model_id, obj [53], 
		"name",                 COMP_CONTENTS, "tr_10",
		"name",                 COMP_INTENDED, EMAC_DISABLED,
		"condition",            COMP_CONTENTS, "INTRPT_REMOTE",
		"executive",            COMP_CONTENTS, "",
		"executive",            COMP_INTENDED, EMAC_DISABLED,
		"dest state",           COMP_CONTENTS, obj [19],
		"src state",            COMP_CONTENTS, obj [13],
		"color",                COMP_CONTENTS, 0,
		"color",                COMP_INTENDED, EMAC_DISABLED,
		"path",                 COMP_ARRAY_CONTENTS (0), obj [54],
		"path",                 COMP_ARRAY_CONTENTS (1), obj [55],
		"label pos",            COMP_CONTENTS, obj [56],
		EMAC_EOL);


	/* assign attrs for object 'obj [57]' */
	Ema_Object_Attr_Set (model_id, obj [57], 
		"name",                 COMP_CONTENTS, "tr_13",
		"name",                 COMP_INTENDED, EMAC_DISABLED,
		"condition",            COMP_CONTENTS, "default",
		"executive",            COMP_CONTENTS, "",
		"executive",            COMP_INTENDED, EMAC_DISABLED,
		"dest state",           COMP_CONTENTS, obj [13],
		"src state",            COMP_CONTENTS, obj [19],
		"color",                COMP_CONTENTS, 0,
		"color",                COMP_INTENDED, EMAC_DISABLED,
		"path",                 COMP_ARRAY_CONTENTS (0), obj [58],
		"path",                 COMP_ARRAY_CONTENTS (1), obj [59],
		"label pos",            COMP_CONTENTS, obj [60],
		EMAC_EOL);


	/* assign attrs for object 'obj [12]' */
	Ema_Object_Attr_Set (model_id, obj [12], 
		"x",                    COMP_CONTENTS, (double) 90,
		"y",                    COMP_CONTENTS, (double) 210,
		EMAC_EOL);


	/* assign attrs for object 'obj [14]' */
	Ema_Object_Attr_Set (model_id, obj [14], 
		"x",                    COMP_CONTENTS, (double) 330,
		"y",                    COMP_CONTENTS, (double) 210,

⌨️ 快捷键说明

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