RTN link ARQ test case. More...
Public Member Functions | |
SatRtnArqTestCase () | |
virtual | ~SatRtnArqTestCase () |
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 RLE/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 |
double | m_maxTimeSlotJitterInMs |
uint32_t | m_maxTxOpportunity |
double | m_minTimeSlotJitterInMs |
uint32_t | m_minTxOpportunity |
uint32_t | m_numPackets |
uint32_t | m_numTxOpportunities |
double | m_packetErrorRatio |
Time | m_propagationDelay |
uint8_t | m_rcIndex |
std::vector< uint32_t > | m_rcvdPacketSizes |
Ptr< SatReturnLinkEncapsulatorArq > | m_rle |
std::vector< uint32_t > | m_sentPacketSizes |
Mac48Address | m_source |
uint32_t | m_txErrors |
Time | m_txoInterval |
uint32_t | m_txs |
Ptr< UniformRandomVariable > | m_unif |
RTN link ARQ test case.
Definition at line 63 of file satellite-arq-test.cc.
SatRtnArqTestCase::SatRtnArqTestCase | ( | ) |
Definition at line 174 of file satellite-arq-test.cc.
|
virtual |
Definition at line 179 of file satellite-arq-test.cc.
References m_rle.
|
privatevirtual |
Definition at line 236 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 189 of file satellite-arq-test.cc.
References m_ackErrorRatio, m_ackErrors, m_acks, m_dest, m_errorProbabilityThreshold, m_maxTimeSlotJitterInMs, m_maxTxOpportunity, m_minTimeSlotJitterInMs, m_minTxOpportunity, m_numPackets, m_numTxOpportunities, m_packetErrorRatio, m_propagationDelay, m_rcIndex, m_rle, m_source, m_txErrors, m_txoInterval, m_txs, m_unif, Receive(), and SendAck().
Referenced by DoRun().
void SatRtnArqTestCase::NotifyTxOpportunity | ( | ) |
Notify Tx opportunity.
Create TxOpportunities for RLE and call receive method to do decapsuling, defragmentation and reassembly.
Definition at line 281 of file satellite-arq-test.cc.
References m_maxTimeSlotJitterInMs, m_maxTxOpportunity, m_minTimeSlotJitterInMs, m_minTxOpportunity, m_numTxOpportunities, m_propagationDelay, m_rle, m_txErrors, m_txoInterval, m_txs, m_unif, and ReceivePdu().
Referenced by DoRun().
void SatRtnArqTestCase::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 356 of file satellite-arq-test.cc.
References m_rcvdPacketSizes.
Referenced by Initialize().
void SatRtnArqTestCase::ReceiveAck | ( | Ptr< SatArqAckMessage > | ack | ) |
Receive ARQ ACK message.
ack | Acknowledgement |
Definition at line 350 of file satellite-arq-test.cc.
References m_rle.
Referenced by SendAck().
void SatRtnArqTestCase::ReceivePdu | ( | Ptr< Packet > | p | ) |
Receive packet.
p | Packet |
Definition at line 324 of file satellite-arq-test.cc.
References m_rle.
Referenced by NotifyTxOpportunity().
bool SatRtnArqTestCase::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 330 of file satellite-arq-test.cc.
References m_ackErrors, m_acks, m_propagationDelay, and ReceiveAck().
Referenced by Initialize().
void SatRtnArqTestCase::TransmitPdus | ( | uint32_t | numPackets | ) |
Transmit/enque a number of packets to RLE/SatQueue.
numPackets | Number of packets |
Definition at line 268 of file satellite-arq-test.cc.
References m_dest, m_rle, m_sentPacketSizes, and m_unif.
Referenced by DoRun().
|
private |
Definition at line 141 of file satellite-arq-test.cc.
Referenced by Initialize().
|
private |
Definition at line 165 of file satellite-arq-test.cc.
Referenced by Initialize(), and SendAck().
|
private |
Definition at line 164 of file satellite-arq-test.cc.
Referenced by Initialize(), and SendAck().
|
private |
Definition at line 126 of file satellite-arq-test.cc.
Referenced by Initialize(), and TransmitPdus().
|
private |
Definition at line 153 of file satellite-arq-test.cc.
Referenced by DoRun(), and Initialize().
|
private |
Definition at line 160 of file satellite-arq-test.cc.
Referenced by Initialize(), and NotifyTxOpportunity().
|
private |
Definition at line 137 of file satellite-arq-test.cc.
Referenced by Initialize(), and NotifyTxOpportunity().
|
private |
Definition at line 159 of file satellite-arq-test.cc.
Referenced by Initialize(), and NotifyTxOpportunity().
|
private |
Definition at line 136 of file satellite-arq-test.cc.
Referenced by Initialize(), and NotifyTxOpportunity().
|
private |
Definition at line 129 of file satellite-arq-test.cc.
Referenced by DoRun(), and Initialize().
|
private |
Definition at line 133 of file satellite-arq-test.cc.
Referenced by Initialize(), and NotifyTxOpportunity().
|
private |
Definition at line 140 of file satellite-arq-test.cc.
Referenced by Initialize().
|
private |
Definition at line 145 of file satellite-arq-test.cc.
Referenced by Initialize(), NotifyTxOpportunity(), and SendAck().
|
private |
Definition at line 148 of file satellite-arq-test.cc.
Referenced by Initialize().
|
private |
Definition at line 171 of file satellite-arq-test.cc.
|
private |
Definition at line 119 of file satellite-arq-test.cc.
Referenced by ~SatRtnArqTestCase(), Initialize(), NotifyTxOpportunity(), ReceiveAck(), ReceivePdu(), and TransmitPdus().
|
private |
Definition at line 168 of file satellite-arq-test.cc.
Referenced by DoRun(), and TransmitPdus().
|
private |
Definition at line 125 of file satellite-arq-test.cc.
Referenced by Initialize().
|
private |
Definition at line 163 of file satellite-arq-test.cc.
Referenced by Initialize(), and NotifyTxOpportunity().
|
private |
Definition at line 156 of file satellite-arq-test.cc.
Referenced by Initialize(), and NotifyTxOpportunity().
|
private |
Definition at line 162 of file satellite-arq-test.cc.
Referenced by Initialize(), and NotifyTxOpportunity().
|
private |
Definition at line 122 of file satellite-arq-test.cc.
Referenced by Initialize(), NotifyTxOpportunity(), and TransmitPdus().