EMANE  1.0.1
EMANE::NeighborMetricManager Class Reference

Manages neighbor metrics and sends neighbor metric control message upstream. More...

#include <neighbormetricmanager.h>

Public Member Functions

 NeighborMetricManager (NEMId nemId)
 
 ~NeighborMetricManager ()
 
void updateNeighborTxMetric (NEMId dst, std::uint64_t u64DataRatebps, const TimePoint &txTime)
 
void updateNeighborRxMetric (NEMId src, std::uint64_t u64SeqNum, const uuid_t &uuid, const TimePoint &rxTime)
 
void updateNeighborRxMetric (const NEMId src, std::uint64_t u64SeqNum, const uuid_t &uuid, float fSINR, float fNoiseFloor, const TimePoint &rxTime, const Microseconds &durationMicroseconds, std::uint64_t u64DataRatebps)
 
void setNeighborDeleteTimeMicroseconds (const Microseconds &ageMicroseconds)
 
Controls::R2RINeighborMetrics getNeighborMetrics ()
 
void updateNeighborStatus ()
 
void registerStatistics (StatisticRegistrar &statisticRegistrar)
 

Detailed Description

Manages neighbor metrics and sends neighbor metric control message upstream.

Definition at line 53 of file neighbormetricmanager.h.

Constructor & Destructor Documentation

◆ NeighborMetricManager()

EMANE::NeighborMetricManager::NeighborMetricManager ( EMANE::NEMId  nemId)

Creates a NeighborMetricManager instance

Parameters
nemIdNEM id

Definition at line 787 of file neighbormetricmanager.cc.

◆ ~NeighborMetricManager()

EMANE::NeighborMetricManager::~NeighborMetricManager ( )

Destroys an instance

Definition at line 792 of file neighbormetricmanager.cc.

Member Function Documentation

◆ getNeighborMetrics()

EMANE::Controls::R2RINeighborMetrics EMANE::NeighborMetricManager::getNeighborMetrics ( )

Gets neighbor metrics

Returns
neighbore metrics

Definition at line 844 of file neighbormetricmanager.cc.

◆ registerStatistics()

void EMANE::NeighborMetricManager::registerStatistics ( StatisticRegistrar statisticRegistrar)

Definition at line 859 of file neighbormetricmanager.cc.

◆ setNeighborDeleteTimeMicroseconds()

void EMANE::NeighborMetricManager::setNeighborDeleteTimeMicroseconds ( const Microseconds ageMicroseconds)

Sets neighbor delete time (age)

Parameters
ageMicrosecondsthe neighbor delete time (relative)

Definition at line 797 of file neighbormetricmanager.cc.

◆ updateNeighborRxMetric() [1/2]

void EMANE::NeighborMetricManager::updateNeighborRxMetric ( NEMId  src,
std::uint64_t  u64SeqNum,
const uuid_t &  uuid,
const TimePoint rxTime 
)

Updates neighbor recv metric

Parameters
srcsrc NEM (nbr)
u64SeqNumpkt sequence number
uuidapplication uuid
rxTimepkt rx time

Definition at line 812 of file neighbormetricmanager.cc.

◆ updateNeighborRxMetric() [2/2]

void EMANE::NeighborMetricManager::updateNeighborRxMetric ( const NEMId  src,
std::uint64_t  u64SeqNum,
const uuid_t &  uuid,
float  fSINR,
float  fNoiseFloor,
const TimePoint rxTime,
const Microseconds durationMicroseconds,
std::uint64_t  u64DataRatebps 
)

Updates neighbor receive metric

Parameters
srcsrc NEM (nbr)
u64SeqNumpkt sequence number
uuidapplication uuid
fSINRsinr in dbm
fNoiseFloornoise floor in dBm
rxTimepkt rx time
durationMicrosecondspkt duration
u64DataRatebpsdata rate in bps

Definition at line 822 of file neighbormetricmanager.cc.

◆ updateNeighborStatus()

void EMANE::NeighborMetricManager::updateNeighborStatus ( )

Updates the Neighbor Status Table

Definition at line 853 of file neighbormetricmanager.cc.

◆ updateNeighborTxMetric()

void EMANE::NeighborMetricManager::updateNeighborTxMetric ( NEMId  dst,
std::uint64_t  u64DataRatebps,
const TimePoint txTime 
)

updates neighbor send metric

Parameters
dstdst NEM (nbr)
u64DataRatebpsdata rate in bps
txTimepkt tx time

Definition at line 804 of file neighbormetricmanager.cc.


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