Revision a3d116e3 include/cscheduler.h

View differences:

include/cscheduler.h
23 23

  
24 24
#include "cobject.h"
25 25
#include "platdep/timeutil.h"  // for timeval
26
#include "ctaskheap.h"
26 27

  
27 28
NAMESPACE_BEGIN
28 29

  
......
134 135
    virtual cMessage *getNextEvent();
135 136
};
136 137

  
138
/**
139
 * Event Scheduler employing EEF (Earliest Endtime First) Scheduling
140
 *
141
 * @ingroup Internals
142
 */
143
class SIM_API cEEFScheduler : public cScheduler
144
{
145
  private:
146
    cTaskHeap independentEventsHeap;
147
  public:
148
    /**
149
     * Constructor.
150
     */
151
    cEEFScheduler();
152

  
153
    virtual ~cEEFScheduler();
154

  
155
    /**
156
     * Called at the beginning of a simulation run.
157
     */
158
    virtual void startRun() {};
159

  
160
    /**
161
     * Called at the end of a simulation run.
162
     */
163
    virtual void endRun() {};
164

  
165
    /**
166
     * Returns the event with the smallest Ending Time in the Set of offloadable events.
167
     */
168
    virtual cMessage *getNextEvent();
169
    /*
170
     * Returns the event with the smallest Ending Time in the Set of offloadable events
171
     * and removes it from the heap. Or, if the heap is empty, returns the first event of the MsgQueue
172
     */
173
    virtual cMessage* removeNextEvent();
174
};
175

  
137 176

  
138 177
/**
139 178
 * Real-time scheduler class. When installed as scheduler using the scheduler-class

Also available in: Unified diff