RTN link ARQ test case. More...
Inheritance diagram for SatRtnArqTestCase:
Collaboration diagram for SatRtnArqTestCase: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().
Here is the call graph for this function:
|
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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the caller graph for this function:
|
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().