📄 mainnice.cc
字号:
/* * File: mainnice.cc * Author: Suman Banerjee <suman@cs.umd.edu> * Date: July 31, 2001 * Terms: GPL * * myns simulator */#include <stdio.h>#include <stdlib.h>#include <sys/time.h>#include "main.h"#include "parser-event.h"#include "../nice/nicenode.h"#include "../nice/bse-agent.h"#include "../nice/coop-agent.h"extern ParserReturnInfo parser_events;extern Node ** ptr_global_node_array;extern Agent** ptr_global_agent_array;int global_bse_agent_index = -1;void SpecificPrintSimulation (void) { // print_mesh_topology(ptr_global_agent_array,parser_events.num_agents); assert (ptr_global_agent_array[0]->t == AGENT_APPLICATION_BSE); bseAgent * ba = (bseAgent *)(ptr_global_agent_array[0]); printf ("[bse %d %d ] At %8.4f last-change %8.4f\n", ba->id, ba->n->id, Scheduler::Clock(),ba->m_last_change); for (int i = 1; i < parser_events.num_agents; i++) { if (ptr_global_agent_array[i]->t != AGENT_APPLICATION_COOP) continue; coopAgent * ca = (coopAgent *)(ptr_global_agent_array[i]); for (int j = 0; j < MAX_LAYERS; j++) { if (ca->m_last_change[j] >= 0.0) printf ("[coop %d %d ] At %8.4f layer %d last-change %8.4f\n", ca->id, ca->n->id, Scheduler::Clock(),j, ca->m_last_change[j]); } } return;}Node * SpecificNewNode (void) { return (new NiceNode);}void SpecificAttachAgents (void) { for (void *pos = parser_events.attach_list->GetHeadPosition(); pos != NULL; parser_events.attach_list->GetNext(pos) ) { Attachment *a = parser_events.attach_list->GetAt(pos); if (a->agent >= parser_events.attach_list->GetSize() ) { printf ("[Err] Agent Ids should be alloted serially\n"); exit(-1); } if (a->atp == AGENT_APPLICATION_BSE) { /* Agent 0 is the BSE */ ptr_global_agent_array[a->agent] = new bseAgent; global_bse_agent_index = a->agent; } else ptr_global_agent_array[a->agent] = new coopAgent; ptr_global_agent_array[a->agent]->init(a->agent,a->agent,ptr_global_node_array[a->node]); delete a; } if (global_bse_agent_index == -1) { printf ("[Err] BSE agent is not defined\n"); exit(-1); } int bse_id = ptr_global_agent_array[global_bse_agent_index]->id; int bse_node_id = ptr_global_agent_array[global_bse_agent_index]->n->id; for (int i = 0; i < parser_events.attach_list->GetSize(); i++) if (ptr_global_agent_array[i]->t == AGENT_APPLICATION_COOP) ((coopAgent*)(ptr_global_agent_array[i]))->set_bse_agent(bse_id, bse_node_id); return;}int main (int argc, char ** argv) { simulator_main(argc,argv); return 1;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -