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 ( )
inline

Empty constructor.

Member Function Documentation

void vanetsim.scenario.KnownRSUsList.checkOutdatedRSUs ( )
inline

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 ( )
inline

Clears everything from this data structure.

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

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

Parameters
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
Returns
the nearest RSU or null if the calling RSU is the nearest
KnownRSU [] vanetsim.scenario.KnownRSUsList.getFirstKnownRSU ( )
inline

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

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

Gets the amount of known RSUs stored.

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

Sets the time passed since simulation start.

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

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

Parameters
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: