SatFwdArqTestCase Class Reference

FWD link ARQ test case. More...

+ Inheritance diagram for SatFwdArqTestCase:
+ Collaboration diagram for SatFwdArqTestCase:

Public Member Functions

 SatFwdArqTestCase ()
 
virtual ~SatFwdArqTestCase ()
 
void NotifyTxOpportunity ()
 Notify Tx opportunity. More...
 
void Receive (Ptr< Packet > p, Mac48Address source, Mac48Address dest)
 Receive packet and check that it is of correct size. More...
 
void ReceiveAck (Ptr< SatArqAckMessage > ack)
 Receive ARQ ACK message. More...
 
void ReceivePdu (Ptr< Packet > p)
 Receive packet. More...
 
bool SendAck (Ptr< SatControlMessage > msg, const Address &dest)
 Send ARQ ACK message to the sender (source) More...
 
void TransmitPdus (uint32_t numPackets)
 Transmit/enque a number of packets to GSE/SatQueue. More...
 

Private Member Functions

virtual void DoRun (void)
 
void Initialize ()
 Initialize is called in DoRun method, since the test.py calls the test case constructors even if the test suite is not run. More...
 

Private Attributes

double m_ackErrorRatio
 
uint32_t m_ackErrors
 
uint32_t m_acks
 
Mac48Address m_dest
 
double m_errorProbabilityThreshold
 
uint8_t m_flowIndex
 
uint32_t m_frameBytes
 
double m_frameErrorRatio
 
Ptr< SatGenericStreamEncapsulatorArqm_gse
 
uint32_t m_numPackets
 
uint32_t m_numTxOpportunities
 
Time m_propagationDelay
 
std::vector< uint32_t > m_rcvdPacketSizes
 
std::vector< uint32_t > m_sentPacketSizes
 
Mac48Address m_source
 
uint32_t m_txErrors
 
Time m_txoInterval
 
uint32_t m_txs
 
Ptr< UniformRandomVariable > m_unif
 

Detailed Description

FWD link ARQ test case.

Definition at line 369 of file satellite-arq-test.cc.

Constructor & Destructor Documentation

◆ SatFwdArqTestCase()

SatFwdArqTestCase::SatFwdArqTestCase ( )

Definition at line 475 of file satellite-arq-test.cc.

◆ ~SatFwdArqTestCase()

SatFwdArqTestCase::~SatFwdArqTestCase ( )
virtual

Definition at line 480 of file satellite-arq-test.cc.

References m_gse.

Member Function Documentation

◆ DoRun()

void SatFwdArqTestCase::DoRun ( void  )
privatevirtual

Definition at line 538 of file satellite-arq-test.cc.

References Initialize(), m_errorProbabilityThreshold, m_numPackets, m_rcvdPacketSizes, m_sentPacketSizes, NotifyTxOpportunity(), and TransmitPdus().

+ Here is the call graph for this function:

◆ Initialize()

void SatFwdArqTestCase::Initialize ( )
private

Initialize is called in DoRun method, since the test.py calls the test case constructors even if the test suite is not run.

Definition at line 490 of file satellite-arq-test.cc.

References m_ackErrorRatio, m_ackErrors, m_acks, m_dest, m_errorProbabilityThreshold, m_flowIndex, m_frameBytes, m_frameErrorRatio, m_gse, m_numPackets, m_numTxOpportunities, m_propagationDelay, m_source, m_txErrors, m_txoInterval, m_txs, m_unif, Receive(), and SendAck().

Referenced by DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ NotifyTxOpportunity()

void SatFwdArqTestCase::NotifyTxOpportunity ( )

Notify Tx opportunity.

Create TxOpportunities for GSE and call receive method to do decapsuling, defragmentation and reassembly.

Definition at line 584 of file satellite-arq-test.cc.

References m_frameBytes, m_gse, m_numTxOpportunities, m_propagationDelay, m_txErrors, m_txoInterval, m_txs, and ReceivePdu().

Referenced by DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Receive()

void SatFwdArqTestCase::Receive ( Ptr< Packet >  p,
Mac48Address  source,
Mac48Address  dest 
)

Receive packet and check that it is of correct size.

Parameters
pPtr to packet
sourceSource MAC address
destDestination MAC address

Definition at line 677 of file satellite-arq-test.cc.

References m_rcvdPacketSizes.

Referenced by Initialize().

+ Here is the caller graph for this function:

◆ ReceiveAck()

void SatFwdArqTestCase::ReceiveAck ( Ptr< SatArqAckMessage ack)

Receive ARQ ACK message.

Parameters
ackAcknowledgement

Definition at line 671 of file satellite-arq-test.cc.

References m_gse.

Referenced by SendAck().

+ Here is the caller graph for this function:

◆ ReceivePdu()

void SatFwdArqTestCase::ReceivePdu ( Ptr< Packet >  p)

Receive packet.

Parameters
pPacket

Definition at line 645 of file satellite-arq-test.cc.

References m_gse.

Referenced by NotifyTxOpportunity().

+ Here is the caller graph for this function:

◆ SendAck()

bool SatFwdArqTestCase::SendAck ( Ptr< SatControlMessage msg,
const Address &  dest 
)

Send ARQ ACK message to the sender (source)

Parameters
msgControl message
destDestination MAC address
Returns
bool Whether sending was successfull

Definition at line 651 of file satellite-arq-test.cc.

References m_ackErrors, m_acks, m_propagationDelay, and ReceiveAck().

Referenced by Initialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TransmitPdus()

void SatFwdArqTestCase::TransmitPdus ( uint32_t  numPackets)

Transmit/enque a number of packets to GSE/SatQueue.

Parameters
numPacketsNumber of packets

Definition at line 571 of file satellite-arq-test.cc.

References m_dest, m_gse, m_sentPacketSizes, and m_unif.

Referenced by DoRun().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_ackErrorRatio

double SatFwdArqTestCase::m_ackErrorRatio
private

Definition at line 446 of file satellite-arq-test.cc.

Referenced by Initialize().

◆ m_ackErrors

uint32_t SatFwdArqTestCase::m_ackErrors
private

Definition at line 466 of file satellite-arq-test.cc.

Referenced by Initialize(), and SendAck().

◆ m_acks

uint32_t SatFwdArqTestCase::m_acks
private

Definition at line 465 of file satellite-arq-test.cc.

Referenced by Initialize(), and SendAck().

◆ m_dest

Mac48Address SatFwdArqTestCase::m_dest
private

Definition at line 432 of file satellite-arq-test.cc.

Referenced by Initialize(), and TransmitPdus().

◆ m_errorProbabilityThreshold

double SatFwdArqTestCase::m_errorProbabilityThreshold
private

Definition at line 458 of file satellite-arq-test.cc.

Referenced by DoRun(), and Initialize().

◆ m_flowIndex

uint8_t SatFwdArqTestCase::m_flowIndex
private

Definition at line 453 of file satellite-arq-test.cc.

Referenced by Initialize().

◆ m_frameBytes

uint32_t SatFwdArqTestCase::m_frameBytes
private

Definition at line 438 of file satellite-arq-test.cc.

Referenced by Initialize(), and NotifyTxOpportunity().

◆ m_frameErrorRatio

double SatFwdArqTestCase::m_frameErrorRatio
private

Definition at line 445 of file satellite-arq-test.cc.

Referenced by Initialize().

◆ m_gse

Ptr<SatGenericStreamEncapsulatorArq> SatFwdArqTestCase::m_gse
private

◆ m_numPackets

uint32_t SatFwdArqTestCase::m_numPackets
private

Definition at line 435 of file satellite-arq-test.cc.

Referenced by DoRun(), and Initialize().

◆ m_numTxOpportunities

uint32_t SatFwdArqTestCase::m_numTxOpportunities
private

Definition at line 442 of file satellite-arq-test.cc.

Referenced by Initialize(), and NotifyTxOpportunity().

◆ m_propagationDelay

Time SatFwdArqTestCase::m_propagationDelay
private

Definition at line 450 of file satellite-arq-test.cc.

Referenced by Initialize(), NotifyTxOpportunity(), and SendAck().

◆ m_rcvdPacketSizes

std::vector<uint32_t> SatFwdArqTestCase::m_rcvdPacketSizes
private

Definition at line 472 of file satellite-arq-test.cc.

Referenced by DoRun(), and Receive().

◆ m_sentPacketSizes

std::vector<uint32_t> SatFwdArqTestCase::m_sentPacketSizes
private

Definition at line 469 of file satellite-arq-test.cc.

Referenced by DoRun(), and TransmitPdus().

◆ m_source

Mac48Address SatFwdArqTestCase::m_source
private

Definition at line 431 of file satellite-arq-test.cc.

Referenced by Initialize().

◆ m_txErrors

uint32_t SatFwdArqTestCase::m_txErrors
private

Definition at line 464 of file satellite-arq-test.cc.

Referenced by Initialize(), and NotifyTxOpportunity().

◆ m_txoInterval

Time SatFwdArqTestCase::m_txoInterval
private

Definition at line 461 of file satellite-arq-test.cc.

Referenced by Initialize(), and NotifyTxOpportunity().

◆ m_txs

uint32_t SatFwdArqTestCase::m_txs
private

Definition at line 463 of file satellite-arq-test.cc.

Referenced by Initialize(), and NotifyTxOpportunity().

◆ m_unif

Ptr<UniformRandomVariable> SatFwdArqTestCase::m_unif
private

Definition at line 428 of file satellite-arq-test.cc.

Referenced by Initialize(), and TransmitPdus().


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