📄 agent.h
字号:
/* * File: agent.h * Author: Suman Banerjee <suman@cs.umd.edu> * Date: July 31, 2001 * Terms: GPL * * myns simulator */#ifndef _AGENT_H_#define _AGENT_H_#include <packet.h>class Node;enum SourceDistributionType { DIST_CONSTANT, DIST_UNIFORM, DIST_EXPONENTIAL};enum AgentType { AGENT_NONE, AGENT_ROUTING, AGENT_APPLICATION_RP, AGENT_APPLICATION_MC, AGENT_APPLICATION_BSE, AGENT_APPLICATION_COOP, AGENT_APPLICATION_BEACON, AGENT_APPLICATION_QUERY};enum AgentEventType { AGENT_START, AGENT_STOP, AGENT_SOURCE};struct AgentInfo { int agent_id; int node_id; AgentInfo () {} AgentInfo (int aid, int nid) { agent_id = aid; node_id = nid; }};struct AgentEvent { AgentEventType t; SourceDistributionType sdt; int source_burst; double source_gap; AgentEvent (AgentEventType type) { t = type; }};class Agent {public : AgentType t; int id; int index; Node *n; bool started; Agent (void) {}; Agent (int Id, int Index, Node *N); virtual ~Agent (void) {}; virtual void init (int Id, int Index, Node *N); virtual void start (void); virtual void stop (void); void send_pkt (Packet *p, int dst_ag, int dst_node); void generic_rx_pkt_handler (Packet *p); virtual void specific_rx_pkt_handler (Packet *p); /* This is called by generic */ void generic_send_data_pkt (SourceDistributionType sdt, int burst_size, double burst_gap); virtual void specific_send_data_pkt (void); void EventHandler (AgentEvent *ae);};void init_random_for_pkt_sources (unsigned int seed);long int get_pkt_source_random (void);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -