![]() |
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... |
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.