avrora.sim.clock
Class IntervalSynchronizer.SynchEvent

java.lang.Object
  extended byavrora.sim.clock.IntervalSynchronizer.SynchEvent
All Implemented Interfaces:
Simulator.Event
Enclosing class:
IntervalSynchronizer

protected class IntervalSynchronizer.SynchEvent
extends java.lang.Object
implements Simulator.Event

The SynchEvent class represents an event that is inserted into the event queue of each simulator at the same global time. When this event fires, it will stop the thread running this simulator by waiting on a shared condition variable. The last thread to fire the event will then notify the condition variable which frees the other threads to run again in parallel.


Field Summary
protected  MainClock clock
           
protected  boolean met
           
protected  boolean removed
           
protected  SimulatorThread thread
           
protected  avrora.sim.clock.IntervalSynchronizer.WaitSlot waitSlot
           
 
Constructor Summary
protected IntervalSynchronizer.SynchEvent(SimulatorThread t)
           
 
Method Summary
 void fire()
          The fire() method of this event is called by the individual event queues of each simulator as they reach this point in time.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

thread

protected final SimulatorThread thread

clock

protected final MainClock clock

removed

protected boolean removed

met

protected boolean met

waitSlot

protected avrora.sim.clock.IntervalSynchronizer.WaitSlot waitSlot
Constructor Detail

IntervalSynchronizer.SynchEvent

protected IntervalSynchronizer.SynchEvent(SimulatorThread t)
Method Detail

fire

public void fire()
The fire() method of this event is called by the individual event queues of each simulator as they reach this point in time. The implementation of this method waits for all threads to join.

Specified by:
fire in interface Simulator.Event