📄 scheduler.h
字号:
/* * File: scheduler.h * Author: Suman Banerjee <suman@cs.umd.edu> * Date: July 31, 2001 * Terms: GPL * * myns simulator */#ifndef _SCHEDULER_H_#define _SCHEDULER_H_#include "heap.h"#include <constants.h>enum EventType { EVENT_START, EVENT_STOP, EVENT_NODE, EVENT_AGENT, EVENT_TIMER, EVENT_PRINT_SIMULATION_STATUS};extern NamedConstant const_clock_precision_digits;#define CONST_CLOCK_PRECISION_DIGITS (const_clock_precision_digits.getval().u.i)#define PRECISION_TIME(x) ((long long)(x * ten_to_power_precision_digits) + 0.5)struct EventInfo { EventType et; // Type of the event void *object; // On which object the event is defined /* object will be Node or Agent (to be defined later) */ void *params; // Other params to use for the object, if any. EventInfo (EventType e, void *o, void *p) { et = e; object = o; params = p; };};class Scheduler { private : static Heap *time_heap; static double curr_time; static int timer_id; public : Scheduler(); ~Scheduler(); static void SchedulerClassInit(); static void SchedulerClassTerminate(); static void * AddAbsoluteEvent (double at_time, EventInfo *event); static void * AddRelativeEvent (double rel_time, EventInfo *event); static EventInfo * DeleteEvent (void *pos); static EventInfo * GetNextEvent (void); static double Clock(void); };#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -