-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathevent.h
More file actions
62 lines (46 loc) · 960 Bytes
/
event.h
File metadata and controls
62 lines (46 loc) · 960 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*******************************************************
EVENT . H
*******************************************************/
#ifndef _EVENT_H
#define _EVENT_H
#include "global.h"
#include "buffer.h"
class event {
public:
event* next; // next event
double time; // event time
event();
event(double Time);
event(event* Next, double Time);
~event() {}
virtual void body() {}
};
inline event::event() {
next = NULL;
time = -1;
}
inline event::event(event* Next, double Time) {
next = Next;
time = Time;
}
inline event::event(double Time) {
time = Time;
}
class arrival : public event {
buffer* buf;
double genArr();
public:
int source_id;
virtual void body();
arrival(double Time, buffer* Buf);
};
class service : public event {
buffer* buf;
public:
virtual void body();
service(double Time, buffer* Buf) : event(Time) { buf = Buf; }
};
inline arrival::arrival(double Time, buffer* Buf) : event(Time) {
buf = Buf;
}
#endif