Revision 842775ab src/eventlog/ievent.h
src/eventlog/ievent.h | ||
---|---|---|
30 | 30 |
IEvent *previousEvent; |
31 | 31 |
IEvent *nextEvent; |
32 | 32 |
|
33 |
IEvent *previousEventRealTime; |
|
34 |
IEvent *nextEventRealTime; |
|
35 |
|
|
36 |
IEvent* criticalPredecessor; |
|
37 |
|
|
38 | 33 |
public: |
39 | 34 |
// gui state for SequenceChart |
40 | 35 |
double cachedTimelineCoordinate; |
41 | 36 |
long cachedTimelineCoordinateSystemVersion; |
42 | 37 |
|
43 |
long _earliestProcessingTime; //The earliest time the event can be finished, as defined in "A Critical Path Tool for Parallel Simulation Performance Optimization" |
|
44 |
|
|
45 |
|
|
46 |
|
|
47 | 38 |
public: |
48 | 39 |
IEvent(); |
49 | 40 |
virtual ~IEvent() {} |
... | ... | |
72 | 63 |
*/ |
73 | 64 |
virtual EventEntry *getEventEntry() = 0; |
74 | 65 |
/** |
75 |
* Returns the 'EE' entry (line) corresponding to this event. |
|
76 |
*/ |
|
77 |
virtual EventEndEntry *getEventEndEntry() = 0; |
|
78 |
/** |
|
79 | 66 |
* Returns the number of log file entries (lines) for this event. |
80 | 67 |
*/ |
81 | 68 |
virtual int getNumEventLogEntries() = 0; |
... | ... | |
92 | 79 |
// some of the data found in the 'E' entry (line), to get additional data query the entries |
93 | 80 |
virtual eventnumber_t getEventNumber() = 0; |
94 | 81 |
virtual simtime_t getSimulationTime() = 0; |
95 |
virtual long getComplexity() = 0; |
|
96 | 82 |
virtual int getModuleId() = 0; |
97 | 83 |
virtual long getMessageId() = 0; |
98 | 84 |
virtual eventnumber_t getCauseEventNumber() = 0; |
... | ... | |
107 | 93 |
virtual IEvent *getNextEvent() = 0; |
108 | 94 |
|
109 | 95 |
/** |
110 |
* Returns the immediately preceding event in RealTime or NULL if there is no such event. |
|
111 |
*/ |
|
112 |
virtual IEvent *getPreviousEventRealTime() = 0; |
|
113 |
/** |
|
114 |
* Returns the immediately following event in RealTime or NULL if there is no such event. |
|
115 |
*/ |
|
116 |
virtual IEvent *getNextEventRealTime() = 0; |
|
117 |
|
|
118 |
virtual void setNextEventRealTime(IEvent* e) { |
|
119 |
nextEventRealTime = e; |
|
120 |
} |
|
121 |
|
|
122 |
virtual void setPreviousEventRealTime(IEvent* e) { |
|
123 |
previousEventRealTime = e; |
|
124 |
} |
|
125 |
|
|
126 |
/** |
|
127 | 96 |
* Returns the closest preceding event which caused this event by sending a message. |
128 | 97 |
*/ |
129 | 98 |
virtual IEvent *getCauseEvent() = 0; |
... | ... | |
132 | 101 |
virtual IMessageDependencyList *getCauses() = 0; |
133 | 102 |
virtual IMessageDependencyList *getConsequences() = 0; |
134 | 103 |
|
135 |
/** public int getEarliestProcessingTime() { |
|
136 |
return EventLogEngineJNI.IEvent_earliestProcessingTime_get(swigCPtr, this); |
|
137 |
} |
|
104 |
/** |
|
138 | 105 |
* Print all entries of this event. |
139 | 106 |
*/ |
140 | 107 |
virtual void print(FILE *file = stdout, bool outputEventLogMessages = true) = 0; |
... | ... | |
169 | 136 |
static void unlinkEvents(IEvent *previousEvent, IEvent *nextEvent); |
170 | 137 |
static void unlinkNeighbourEvents(IEvent *nextEvent); |
171 | 138 |
|
172 |
virtual long getEarliestProcessingTime() = 0; |
|
173 |
virtual long getEarliestStartTime() = 0; |
|
174 |
|
|
175 |
IEvent* getCriticalPredecessor() { |
|
176 |
return criticalPredecessor; |
|
177 |
} |
|
178 |
|
|
179 |
void setCriticalPredecessor(IEvent* e) { |
|
180 |
criticalPredecessor = e; |
|
181 |
} |
|
182 |
|
|
183 | 139 |
protected: |
184 | 140 |
void clearInternalState(); |
185 | 141 |
}; |
Also available in: Unified diff