It verifies that devices requesting an acknowledgment receive a reply from the network server. More...
Public Member Functions | |
| DownlinkPacketTest () | |
| Default constructor. | |
| ~DownlinkPacketTest () override | |
| Destructor. | |
| void | ReceivedPacketAtEndDevice (uint8_t txCount, bool ack, Time firstAttempt, Ptr< Packet > packet) |
| Trace the outcome of MAC layer's confirmed packet retransmission and acknowledgement. | |
| void | SendPacket (Ptr< Node > endDevice, bool requestAck) |
| Send a packet from the input end device. | |
| Public Member Functions inherited from ns3::TestCase | |
| TestCase (const TestCase &)=delete | |
| Caller graph was not generated because of its size. | |
| virtual | ~TestCase () |
| Destructor. | |
| std::string | GetName () const |
| TestCase & | operator= (const TestCase &)=delete |
Private Member Functions | |
| void | DoRun () override |
| Implementation to actually run this TestCase. | |
Private Attributes | |
| bool | m_receivedPacketAtEd = false |
| Set to true if a packet is received by the end device. | |
Additional Inherited Members | |
| Public Types inherited from ns3::TestCase | |
| enum class | Duration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 } |
| How long the test takes to execute. More... | |
| Protected Member Functions inherited from ns3::TestCase | |
| TestCase (std::string name) | |
| Constructor. | |
| void | AddTestCase (TestCase *testCase, Duration duration=Duration::QUICK) |
| Add an individual child TestCase to this test suite. | |
| TestCase * | GetParent () const |
| Get the parent of this TestCase. | |
| bool | IsStatusFailure () const |
| Check if any tests failed. | |
| bool | IsStatusSuccess () const |
| Check if all tests passed. | |
| void | SetDataDir (std::string directory) |
| Set the data directory where reference trace files can be found. | |
| void | ReportTestFailure (std::string cond, std::string actual, std::string limit, std::string message, std::string file, int32_t line) |
| Log the failure of this TestCase. | |
| bool | MustAssertOnFailure () const |
| Check if this run should assert on failure. | |
| bool | MustContinueOnFailure () const |
| Check if this run should continue on failure. | |
| std::string | CreateDataDirFilename (std::string filename) |
| Construct the full path to a file in the data directory. | |
| std::string | CreateTempDirFilename (std::string filename) |
| Construct the full path to a file in a temporary directory. | |
It verifies that devices requesting an acknowledgment receive a reply from the network server.
Definition at line 121 of file network-server-test-suite.cc.
| DownlinkPacketTest::DownlinkPacketTest | ( | ) |
Default constructor.
Definition at line 158 of file network-server-test-suite.cc.
References ns3::TestCase::TestCase().
|
override |
Destructor.
Definition at line 165 of file network-server-test-suite.cc.
|
overrideprivatevirtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 194 of file network-server-test-suite.cc.
References ns3::lorawan::NetworkComponents::channel, ns3::Simulator::Destroy(), ns3::DynamicCast(), ns3::lorawan::NetworkComponents::endDevices, ns3::lorawan::NetworkComponents::gateways, ns3::NodeContainer::Get(), ns3::Node::GetDevice(), ns3::lorawan::InitializeNetwork(), m_receivedPacketAtEd, ns3::MakeCallback(), NS_ASSERT, NS_LOG_DEBUG, ns3::lorawan::NetworkComponents::nsNode, ReceivedPacketAtEndDevice(), ns3::Simulator::Run(), ns3::Simulator::Schedule(), ns3::Seconds(), SendPacket(), ns3::Simulator::Stop(), and ns3::ObjectBase::TraceConnectWithoutContext().
| void DownlinkPacketTest::ReceivedPacketAtEndDevice | ( | uint8_t | txCount, |
| bool | ack, | ||
| Time | firstAttempt, | ||
| Ptr< Packet > | packet ) |
Trace the outcome of MAC layer's confirmed packet retransmission and acknowledgement.
This trace sink is only used here to determine whether an ack was received by the end device after sending a package requiring an acknowledgement.
| txCount | Number of transmissions attempted during the process. |
| ack | Whether the retransmission process led to acknowledgement. |
| firstAttempt | Timestamp of the initial transmission attempt. |
| Packet | The packet being retransmitted. |
Definition at line 170 of file network-server-test-suite.cc.
References m_receivedPacketAtEd, and NS_LOG_DEBUG.
Referenced by DoRun().
Send a packet from the input end device.
| endDevice | A pointer to the end device Node. |
| requestAck | Whether to require an acknowledgement from the server. |
Definition at line 180 of file network-server-test-suite.cc.
References ns3::lorawan::LorawanMacHeader::CONFIRMED_DATA_UP, ns3::Create(), and ns3::DynamicCast().
Referenced by DoRun().
|
private |
Set to true if a packet is received by the end device.
Definition at line 154 of file network-server-test-suite.cc.
Referenced by DoRun(), and ReceivedPacketAtEndDevice().