avrora.sim.radio
Class SimpleAir.RadioTicker

java.lang.Object
  extended byavrora.sim.util.GlobalClock.LocalMeet
      extended byavrora.sim.util.GlobalClock.Ticker
          extended byavrora.sim.radio.SimpleAir.RadioTicker
All Implemented Interfaces:
Simulator.Event
Enclosing class:
SimpleAir

protected class SimpleAir.RadioTicker
extends GlobalClock.Ticker

The RadioTicker class is the global timer for the radio. It is specialized in that it will schedule delivery meets when, at the end of the interval, there was at least one packet sent.


Field Summary
 
Fields inherited from class avrora.sim.util.GlobalClock.Ticker
eventQueue, period
 
Fields inherited from class avrora.sim.util.GlobalClock.LocalMeet
condition, count, goal, id
 
Method Summary
protected  long computeNextDelivery()
           
 void parallelAction(SimulatorThread t)
          The parallelAction() method implements the functionality that must be performed in parallel when the threads have joined at this local meet, and after the serial action has been completed.
 void preSynchAction()
          The preSynchAction() method implements the functionality that must be performed just after the thread enters the local meet, but before it blocks waiting for the other threads.
 void serialAction()
          The serialAction() method implements the functionality that must be performed in serial when the threads have joined at this local meet.
 
Methods inherited from class avrora.sim.util.GlobalClock.LocalMeet
decGoal, fire
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

preSynchAction

public void preSynchAction()
Description copied from class: GlobalClock.LocalMeet
The preSynchAction() method implements the functionality that must be performed just after the thread enters the local meet, but before it blocks waiting for the other threads. It is called with the condition monitor held.

Overrides:
preSynchAction in class GlobalClock.Ticker

serialAction

public void serialAction()
Description copied from class: GlobalClock.LocalMeet
The serialAction() method implements the functionality that must be performed in serial when the threads have joined at this local meet. This method will execute in the last thread to enter the fire() method.

Overrides:
serialAction in class GlobalClock.Ticker

computeNextDelivery

protected long computeNextDelivery()

parallelAction

public void parallelAction(SimulatorThread t)
Description copied from class: GlobalClock.LocalMeet
The parallelAction() method implements the functionality that must be performed in parallel when the threads have joined at this local meet, and after the serial action has been completed. It will be called in each thread, with the parameter passed being the current SimulatorThread.

Overrides:
parallelAction in class GlobalClock.Ticker