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

📄 scheduler.h

📁 模拟器提供了一个简单易用的平台
💻 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 + -