Package de.bsvrz.dav.daf.main.impl
Class SimulationTime
- java.lang.Object
-
- de.bsvrz.dav.daf.main.impl.SimulationTime
-
public class SimulationTime extends java.lang.Object
Klasse zum Zugriff auf den Zeitfluß einer Simulation. Nach dem Erzeugen eines Objekts dieser Klasse kann mit der MethodegetTime()
auf die simulierte Zeit der jeweiligen Simulation zugegriffen werden und mit den Methodensleep(long)
undsleepUntil(long)
kann der aufrufende Thread für eine bestimmte Zeit im Zeitfluß der Simulation blockiert werden. Die Methodeclose()
sollte aufgerufen werden, wenn das Objekt zum Zugriff auf den Zeitfluß einer Simulation nicht mehr benötigt wird.
-
-
Constructor Summary
Constructors Constructor Description SimulationTime(short simulationVariant, ClientDavConnection connection)
Erzeugt ein neues Objekt zum Zugriff auf den Zeitfluß einer bestimmten Simulation.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Terminiert dieses Objekt und veranlasst bei einer Offline-Simulation die notwendige Abmeldung der Simulationszeiten.long
getTime()
Bestimmt die Zeit einer Simulation.void
sleep(long timeToSleep)
Blockiert den aufrufenden Thread für die spezifizierte Zeit.void
sleepUntil(long absoluteTime)
Blockiert den aufrufenden Thread bis die spezifizierte Zeit erreicht ist.
-
-
-
Constructor Detail
-
SimulationTime
public SimulationTime(short simulationVariant, ClientDavConnection connection)
Erzeugt ein neues Objekt zum Zugriff auf den Zeitfluß einer bestimmten Simulation. Im Falle einer Offline-Simulation findet eine Anmeldung auf die Simulationszeit der entsprechenden Simulationsvariante statt, die vom Simulationsdatengenerator zur Verfügung gestellt wird.- Parameters:
simulationVariant
- Simulationsvariante der zu betrachtenden Simulation.connection
- Datenverteilerverbindung über die die Kommunikation mit dem Simulationsdatengenerator durchgeführt wird.
-
-
Method Detail
-
getTime
public final long getTime()
Bestimmt die Zeit einer Simulation. Bei einer Online-Simulation wird die aktuelle Zeit zurückgegeben und bei einer Offline-Simulation die simulierte Zeit.- Returns:
- Zeitpunkt in Millisekunden seit 1970.
- Throws:
java.lang.IllegalStateException
- Wenn der simulierte Zeitfluss im Falle einer Offline-Simulation nicht bestimmt werden kann.- See Also:
ClientDavInterface.getTime()
-
sleep
public final void sleep(long timeToSleep)
Blockiert den aufrufenden Thread für die spezifizierte Zeit. Die angegebene Dauer der Pause wird im Falle einer Online-Simulation in Realzeit und im Falle einer Offline-Simulation im Zeitfluss der Simulation berücksichtigt.- Parameters:
timeToSleep
- Wartezeit in Millisekunden seit 1970.- Throws:
java.lang.IllegalStateException
- Wenn der simulierte Zeitfluss im Falle einer Offline-Simulation nicht bestimmt werden kann.- See Also:
ClientDavInterface.sleep(long)
-
sleepUntil
public final void sleepUntil(long absoluteTime)
Blockiert den aufrufenden Thread bis die spezifizierte Zeit erreicht ist. Der angegebene Zeitpunkt wird im Falle einer Online-Simulation in Realzeit und im Falle einer Offline-Simulation im Zeitfluss der Simulation berücksichtigt.- Parameters:
absoluteTime
- Abzuwartender Zeitpunkt in Millisekunden seit 1970.- Throws:
java.lang.IllegalStateException
- Wenn der simulierte Zeitfluss im Falle einer Offline-Simulation nicht bestimmt werden kann.- See Also:
ClientDavInterface.sleepUntil(long)
-
close
public final void close()
Terminiert dieses Objekt und veranlasst bei einer Offline-Simulation die notwendige Abmeldung der Simulationszeiten.
-
-