avrora.sim.radio.freespace
Class FreeSpaceAir

java.lang.Object
  extended byavrora.sim.radio.freespace.FreeSpaceAir
All Implemented Interfaces:
RadioAir

public class FreeSpaceAir
extends java.lang.Object
implements RadioAir

Implementation of the free space radio propagation model


Nested Class Summary
protected  class FreeSpaceAir.RadioClock
          An extended version of GlobalClock that implements a version of LocalMeet that is appropriate for delivering radio packets.
protected  class FreeSpaceAir.RadioTicker
           
protected  class FreeSpaceAir.RSSIWait
          see SimpleAir
 
Field Summary
static int bitPeriod
           
static int bitPeriod2
           
static int bytePeriod
          The amount of cycles it takes for one byte to be sent.
static FreeSpaceAir freeSpaceAir
           
protected  FreeSpaceAir.RadioClock radioClock
          GlobalClock used by the air environment.
protected  java.util.HashSet radios
           
 
Constructor Summary
FreeSpaceAir()
          new free space air
 
Method Summary
 void addRadio(Radio r)
          add radio
 void removeRadio(Radio r)
          remove radio
 int sampleRSSI(Radio r)
          see simple air for more
 void transmit(Radio r, Radio.RadioPacket f)
          transmit packet
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

freeSpaceAir

public static final FreeSpaceAir freeSpaceAir

radioClock

protected final FreeSpaceAir.RadioClock radioClock
GlobalClock used by the air environment. Essential for synchronization.


radios

protected final java.util.HashSet radios

bytePeriod

public static final int bytePeriod
The amount of cycles it takes for one byte to be sent.

See Also:
Constant Field Values

bitPeriod

public static final int bitPeriod
See Also:
Constant Field Values

bitPeriod2

public static final int bitPeriod2
See Also:
Constant Field Values
Constructor Detail

FreeSpaceAir

public FreeSpaceAir()
new free space air

Method Detail

addRadio

public void addRadio(Radio r)
add radio

Specified by:
addRadio in interface RadioAir
See Also:
RadioAir.addRadio(avrora.sim.radio.Radio)

removeRadio

public void removeRadio(Radio r)
remove radio

Specified by:
removeRadio in interface RadioAir
See Also:
RadioAir.removeRadio(avrora.sim.radio.Radio)

transmit

public void transmit(Radio r,
                     Radio.RadioPacket f)
transmit packet

Specified by:
transmit in interface RadioAir
See Also:
RadioAir.transmit(avrora.sim.radio.Radio, avrora.sim.radio.Radio.RadioPacket)

sampleRSSI

public int sampleRSSI(Radio r)
see simple air for more

Specified by:
sampleRSSI in interface RadioAir
See Also:
RadioAir.sampleRSSI(avrora.sim.radio.Radio)