The event object models the dynamic components the simulation is made of. The constructor gets the queuing and scheduling priorities (default 0) of the event. The kill flag (default FALSE) can be set to OK, if so the termination count that was set in the simulation::run method decreases when this event is terminated and the simulation possibly stops. The operator()() function is the function that is invoked, if the event is activated. This function is abstract, implementation should be in the subtype, derived from event. The function verify returns OK. This function is invoked in the simulation::cancel and the queue::cancel methods. If the method returns FALSE (a subtype should have overwritten the function) the event will be removed and terminated when the cancel method is invoked and the event is in the scheduler, conditional list or in the queue. The method report fills a FREQUENCY histogram with samples of the lifetime of each instance of the event. Each event receives a life time stamp when reported and is sampled when it is terminated (and has a report). The histogram is printed to standard output and on its window (if the library runs in HUSH mode), each 'interval' time units. Is 'interval' equal to 0 (default), then the histogram will be printed at the end of the simulation. The method stamp sets the time stamp of the event to the current simulation time. The method timespent returns the time since the event received a stamp. If combined these two methods can be used to gather statistics of for example service times. The method queuingriority returns or adjusts the queuing priority of the event. It is used to model priority queues. The scheduling priority members return or adjust the scheduling priority of the event. This priority orders the activation of events with the same activation time and of conditional events. The event with the highest scheduling priority is activated first. The other functions return a boolean, according to the state of the event.


slide: DESCRIPTION