DESERT 4.0.0
UwMultiPhyControl Class Reference

#include <uwmulti-multiphy-controller.h>

Inheritance diagram for UwMultiPhyControl:
Inheritance graph
Collaboration diagram for UwMultiPhyControl:
Collaboration graph

Classes

class  ProbeTimer
 
class  ResilienceTimer
 

Public Member Functions

 UwMultiPhyControl ()
 
virtual ~UwMultiPhyControl ()
 
virtual int command (int, const char *const *)
 
void recv (Packet *p)
 
void recv (Packet *p, int idSrc)
 

Private Member Functions

void initialize ()
 
int getBestMacID (int trafficType, int remoteIP)
 
void updateAvailability (RemoteConnection c, LinkStatus status)
 
void sendPing (RemoteConnection c)
 
void recvFromUpperLayers (Packet *p)
 
void recvFromLowerLayers (Packet *p, int macID)
 

Private Attributes

int debug_
 
int localIP
 
std::vector< int > macIDs
 
std::queue< Packet * > packet_queue
 
std::map< int, double > resilienceTimeouts
 
std::map< RemoteConnection, ResilienceTimerresilienceTimers
 
std::map< int, double > probeTimeouts
 
std::map< RemoteConnection, ProbeTimerprobeTimers
 
PriorityMap priorityMap
 
std::map< RemoteConnection, int > linkStatuses
 
std::map< int, int > macResilience
 
std::map< int, int > macTclIdLayerId
 

Detailed Description

Class used to represents the UwMultiPhyControl layer of a node.

Constructor & Destructor Documentation

◆ UwMultiPhyControl()

UwMultiPhyControl::UwMultiPhyControl ( )

Constructor of UwMultiPhy class.

References debug_, and priorityMap.

◆ ~UwMultiPhyControl()

virtual UwMultiPhyControl::~UwMultiPhyControl ( )
inlinevirtual

Destructor of UwMultiPhy class.

Member Function Documentation

◆ command()

int UwMultiPhyControl::command ( int  argc,
const char *const *  argv 
)
virtual

◆ getBestMacID()

int UwMultiPhyControl::getBestMacID ( int  trafficType,
int  remoteIP 
)
private

◆ initialize()

void UwMultiPhyControl::initialize ( )
private

References debug_, UWIPClMsgSendAddr::getAddr(), localIP, macIDs, and macTclIdLayerId.

Referenced by command().

Here is the call graph for this function:

◆ recv() [1/2]

void UwMultiPhyControl::recv ( Packet *  p)

◆ recv() [2/2]

void UwMultiPhyControl::recv ( Packet *  p,
int  idSrc 
)

References recvFromLowerLayers(), and recvFromUpperLayers().

Here is the call graph for this function:

◆ recvFromLowerLayers()

void UwMultiPhyControl::recvFromLowerLayers ( Packet *  p,
int  macID 
)
private

◆ recvFromUpperLayers()

void UwMultiPhyControl::recvFromUpperLayers ( Packet *  p)
private

◆ sendPing()

◆ updateAvailability()

Member Data Documentation

◆ debug_

int UwMultiPhyControl::debug_
private

◆ linkStatuses

std::map<RemoteConnection, int> UwMultiPhyControl::linkStatuses
private

◆ localIP

int UwMultiPhyControl::localIP
private

◆ macIDs

std::vector<int> UwMultiPhyControl::macIDs
private

◆ macResilience

std::map<int, int> UwMultiPhyControl::macResilience
private

<macID, resilience> where resilience score enstablish an order across local MAC layers: if a less robust one is LINK_OK all higher ones will be as well

Referenced by command().

◆ macTclIdLayerId

std::map<int, int> UwMultiPhyControl::macTclIdLayerId
private

Referenced by command(), and initialize().

◆ packet_queue

std::queue<Packet *> UwMultiPhyControl::packet_queue
private

◆ priorityMap

PriorityMap UwMultiPhyControl::priorityMap
private

◆ probeTimeouts

std::map<int, double> UwMultiPhyControl::probeTimeouts
private

Referenced by command(), and sendPing().

◆ probeTimers

std::map<RemoteConnection, ProbeTimer> UwMultiPhyControl::probeTimers
private

Referenced by sendPing(), and updateAvailability().

◆ resilienceTimeouts

std::map<int, double> UwMultiPhyControl::resilienceTimeouts
private

Referenced by command(), and updateAvailability().

◆ resilienceTimers

std::map<RemoteConnection, ResilienceTimer> UwMultiPhyControl::resilienceTimers
private

Referenced by updateAvailability().


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