Classes

connectionManager - channel and connection related classes
[base - base MiXiM modules]

Collaboration diagram for connectionManager - channel and connection related classes:

Classes

class  BaseConnectionManager
 Module to control the channel and handle all connection related stuff. More...
class  ChannelAccess
 Basic class for all physical layers, please don't touch!! More...
class  ConnectionManager
 BaseConnectionManager implementation which only defines a specific max interference distance. More...
class  NicEntry
 NicEntry is used by ConnectionManager to store the necessary information for each nic. More...
class  NicEntryDebug
 NicEntry is used by ConnectionManager to store the necessary information for each nic. More...
class  NicEntryDirect
 NicEntry is used by ConnectionManager to store the necessary information for each nic. More...

Detailed Description

BaseConnectionManager keeps track of the hosts (or better NICs) in range of another host (or better NIC). This information is needed by the BasePhyLayer when it sends an AirFrame to the channel. To get this information BasePhyLayer subclasses from ChannelAccess.

ChannelAccess provides access for BasePhyLayer to BaseConnectionManager and provides the current position of a NIC for BaseConnectionManager.

BaseConnectionManager itself keeps a list of NicEntry objects for every NIC in the simulation. The NicEntry further has a pointer to its NIC as well as a list of pointers to the NicEntries of the NICs which are in range of this NicEntries NIC.

The information of NICs in range of each other is updated by BaseConnectionManager every time a host moves.

ConnectionManager subclasses from BaseConenctionManager and decides if two NICs are in range of each other by calculating the maximum transmission distance given a certain sensitivity, transmission power and a number of path loss coefficients.

ConnectionManager.png