FWD link ARQ test case. More...
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< SatGenericStreamEncapsulatorArq > | m_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 |
FWD link ARQ test case.
Definition at line 369 of file satellite-arq-test.cc.
SatFwdArqTestCase::SatFwdArqTestCase | ( | ) |
Definition at line 475 of file satellite-arq-test.cc.
|
virtual |
Definition at line 480 of file satellite-arq-test.cc.
References m_gse.
|
privatevirtual |
Definition at line 538 of file satellite-arq-test.cc.
References Initialize(), m_errorProbabilityThreshold, m_numPackets, m_rcvdPacketSizes, m_sentPacketSizes, NotifyTxOpportunity(), and TransmitPdus().
|
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().
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().
void SatFwdArqTestCase::Receive | ( | Ptr< Packet > | p, |
Mac48Address | source, | ||
Mac48Address | dest | ||
) |
Receive packet and check that it is of correct size.
p | Ptr to packet |
source | Source MAC address |
dest | Destination MAC address |
Definition at line 677 of file satellite-arq-test.cc.
References m_rcvdPacketSizes.
Referenced by Initialize().
void SatFwdArqTestCase::ReceiveAck | ( | Ptr< SatArqAckMessage > | ack | ) |
Receive ARQ ACK message.
ack | Acknowledgement |
Definition at line 671 of file satellite-arq-test.cc.
References m_gse.
Referenced by SendAck().
void SatFwdArqTestCase::ReceivePdu | ( | Ptr< Packet > | p | ) |
Receive packet.
p | Packet |
Definition at line 645 of file satellite-arq-test.cc.
References m_gse.
Referenced by NotifyTxOpportunity().
bool SatFwdArqTestCase::SendAck | ( | Ptr< SatControlMessage > | msg, |
const Address & | dest | ||
) |
Send ARQ ACK message to the sender (source)
msg | Control message |
dest | Destination MAC address |
Definition at line 651 of file satellite-arq-test.cc.
References m_ackErrors, m_acks, m_propagationDelay, and ReceiveAck().
Referenced by Initialize().
void SatFwdArqTestCase::TransmitPdus | ( | uint32_t | numPackets | ) |
Transmit/enque a number of packets to GSE/SatQueue.
numPackets | Number 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().
|
private |
Definition at line 446 of file satellite-arq-test.cc.
Referenced by Initialize().
|
private |
Definition at line 466 of file satellite-arq-test.cc.
Referenced by Initialize(), and SendAck().
|
private |
Definition at line 465 of file satellite-arq-test.cc.
Referenced by Initialize(), and SendAck().
|
private |
Definition at line 432 of file satellite-arq-test.cc.
Referenced by Initialize(), and TransmitPdus().
|
private |
Definition at line 458 of file satellite-arq-test.cc.
Referenced by DoRun(), and Initialize().
|
private |
Definition at line 453 of file satellite-arq-test.cc.
Referenced by Initialize().
|
private |
Definition at line 438 of file satellite-arq-test.cc.
Referenced by Initialize(), and NotifyTxOpportunity().
|
private |
Definition at line 445 of file satellite-arq-test.cc.
Referenced by Initialize().
|
private |
Definition at line 425 of file satellite-arq-test.cc.
Referenced by ~SatFwdArqTestCase(), Initialize(), NotifyTxOpportunity(), ReceiveAck(), ReceivePdu(), and TransmitPdus().
|
private |
Definition at line 435 of file satellite-arq-test.cc.
Referenced by DoRun(), and Initialize().
|
private |
Definition at line 442 of file satellite-arq-test.cc.
Referenced by Initialize(), and NotifyTxOpportunity().
|
private |
Definition at line 450 of file satellite-arq-test.cc.
Referenced by Initialize(), NotifyTxOpportunity(), and SendAck().
|
private |
Definition at line 472 of file satellite-arq-test.cc.
|
private |
Definition at line 469 of file satellite-arq-test.cc.
Referenced by DoRun(), and TransmitPdus().
|
private |
Definition at line 431 of file satellite-arq-test.cc.
Referenced by Initialize().
|
private |
Definition at line 464 of file satellite-arq-test.cc.
Referenced by Initialize(), and NotifyTxOpportunity().
|
private |
Definition at line 461 of file satellite-arq-test.cc.
Referenced by Initialize(), and NotifyTxOpportunity().
|
private |
Definition at line 463 of file satellite-arq-test.cc.
Referenced by Initialize(), and NotifyTxOpportunity().
|
private |
Definition at line 428 of file satellite-arq-test.cc.
Referenced by Initialize(), and TransmitPdus().