📄 event.h
字号:
/*****************************************************************************
*** Author: Hussein F. Salama ***
*** Date: September 9, 1994 ***
*** File: event.h ***
*** C++ classes Event, EventListEntry and TheEventlist to be used in a ***
*** discrete event simulator for computer networks ***
*****************************************************************************/
#ifndef EVENT_H
#define EVENT_H
#include <stdlib.h>
#include "data.h"
#define top 0
#define bottom 1
class Event { //An event to be executed by the discrete event simulator
public:
int type; //event type
// = 1 traffic arriving at a node from
// another node
// = 2 traffic leaving the queue of a node
// = 3 traffic arriving at a node from a
// source
double time; //time of event
void *pointer; //can point to the source, the node, or the adjacency
//list entry that owns that event.
Data *data; // holds a pointer to the event data packet
Event() {};
Event(void *p, int n, double tt, Data *dd) {
pointer = p; data = dd; time = tt; type = n;
};
}; //Event
class EventListEntry { // An element of a linked list of event pointers
public:
Event *event; //pointer to the event
EventListEntry *next; //pointer to the next event list entry
EventListEntry *prev; //pointer to the previous entry in the event list
EventListEntry() { prev = next = NULL; event = new Event; };
EventListEntry(void *ptr, int type, double t, Data *d) {
prev = next = NULL; event = new Event(ptr, type, t, d);
};
~EventListEntry() { delete event; };
}; //EventListEntry
class TheEventList { // A linked list of event pointers
private:
EventListEntry *eventListHead, *eventListTail;
//pointers to the head and tail entries of the event list
public:
TheEventList() { eventListHead = eventListTail = NULL; };
EventListEntry *head() { return(eventListHead); };
void head(EventListEntry *h) { eventListHead = h; };
EventListEntry *tail() { return(eventListTail); };
void tail(EventListEntry *t) { eventListTail = t; };
void deleteEvent(); //remove an event from the event list
void addEventTop(EventListEntry *e); //add an event to the event list
//search the list top down
void addEventBottom(EventListEntry *e); //add an event to the event list
//search the list bottom up
void insertEvent(int mode,void *ptr, int n, double t, Data *d);
//create an event and insert it in the
//event list
void clear();
}; //TheEventList
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -