VANET Simulator
 All Classes Functions Variables
Public Member Functions | Static Public Member Functions | List of all members
vanetsim.scenario.KnownRSUsList Class Reference

Public Member Functions

 KnownRSUsList ()
synchronized void updateRSU (RSU rsu, long ID, int x, int y, boolean isEncrypted)
void checkOutdatedRSUs ()
RSU findNearestRSU (int rsuX, int rsuY, int destX, int destY, int maxDistance)
KnownRSU[] getFirstKnownRSU ()
int getSize ()
void clear ()

Static Public Member Functions

static void setTimePassed (int time)

Detailed Description

A list of all known Road-Side-Units which was discovered through beacons. In contrast to the KnownPenalties- class, an own class is used for storing the information about the RSUs. Although this means slightly more overhead, it should not be a big case and allows better extensibility.
A simple hash algorithm based on the RSU ID is used to get better performance. The hash determines the corresponding linked list(beginnings of linked lists are found in head_). Known RSUs with the same hash are connected together through their next_ and previous_ values (see KnownRSU-class).

Constructor & Destructor Documentation

vanetsim.scenario.KnownRSUsList.KnownRSUsList ( )

Empty constructor.

Member Function Documentation

void vanetsim.scenario.KnownRSUsList.checkOutdatedRSUs ( )

Checks if a RSU is too old so that it can be removed. Note that this function is not synchronized! You need to make sure that no other thread uses any function on this object at the same time!

void vanetsim.scenario.KnownRSUsList.clear ( )

Clears everything from this data structure.

RSU vanetsim.scenario.KnownRSUsList.findNearestRSU ( int  rsuX,
int  rsuY,
int  destX,
int  destY,
int  maxDistance 

Finds the nearest known RSU to a destination. Only searches for non encrypted RSUs

rsuXthe x coordinate of the calling RSU
rsuYthe y coordinate of the calling RSU
destXthe x coordinate of the destination
destYthe y coordinate of the destination
maxDistancethe maximum distance the nearest RSU max have from the calling RSU
the nearest RSU or null if the calling RSU is the nearest
KnownRSU [] vanetsim.scenario.KnownRSUsList.getFirstKnownRSU ( )

Gets an hashed array with known RSUs (array length depends on the HASH_SIZE). You can iterate through all known RSUs by using getNext() until you get to a null element on all elements of this array

the array with known RSUs
int vanetsim.scenario.KnownRSUsList.getSize ( )

Gets the amount of known RSUs stored.

the size
static void vanetsim.scenario.KnownRSUsList.setTimePassed ( int  time)

Sets the time passed since simulation start.

timethe new time in milliseconds
synchronized void vanetsim.scenario.KnownRSUsList.updateRSU ( RSU  rsu,
long  ID,
int  x,
int  y,
boolean  isEncrypted 

Update a RSU or add it if it doesn't exist yet.

rsua reference to the RSU
IDthe ID of the RSU
xthe x coordinate
ythe y coordinate
isEncryptedif Beacon was encrypted

The documentation for this class was generated from the following file: