14#include "ns3/lte-rlc-am.h"
15#include "ns3/lte-rlc-header.h"
16#include "ns3/simulator.h"
33 TestCase::Duration::QUICK);
35 TestCase::Duration::QUICK);
37 TestCase::Duration::QUICK);
39 TestCase::Duration::QUICK);
87 txPdcp->SetLteRlcSapProvider(
txRlc->GetLteRlcSapProvider());
88 txRlc->SetLteRlcSapUser(
txPdcp->GetLteRlcSapUser());
90 txRlc->SetLteMacSapProvider(
txMac->GetLteMacSapProvider());
91 txMac->SetLteMacSapUser(
txRlc->GetLteMacSapUser());
96 std::string shouldReceived,
97 std::string assertMsg)
135 txPdcp->SendData(
Seconds(0.100),
"ABCDEFGHIJKLMNOPQRSTUVWXYZ");
168 txPdcp->SendData(
Seconds(0.100),
"ABCDEFGHIJKLMNOPQRSTUVWXYZZ");
255 txMac->SendTxOpportunity(
Seconds(0.250), (4 + 2) + (10 + 6));
276 txMac->SendTxOpportunity(
Seconds(1.000), (4 + 2) + (8 + 2));
293 (4 + 2 + 1 + 2 + 1 + 2 + 1) + (6 + 8 + 12 + 6 + 10 + 10 + 3));
295 "UVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVW",
298 txMac->SendTxOpportunity(
Seconds(1.650), (4 + 2 + 1 + 2) + (3 + 10 + 10 + 7));
Test 4.1.1.3 Test that concatenation functionality works properly.
void DoRun() override
Implementation to actually run this TestCase.
LteRlcAmTransmitterConcatenationTestCase()
~LteRlcAmTransmitterConcatenationTestCase() override
Test 4.1.1.1 Test that SDU transmitted at PDCP corresponds to PDU received by MAC.
void DoRun() override
Implementation to actually run this TestCase.
LteRlcAmTransmitterOneSduTestCase()
~LteRlcAmTransmitterOneSduTestCase() override
Test 4.1.1.4 Test checks functionality of Report Buffer Status by testing primitive parameters.
LteRlcAmTransmitterReportBufferStatusTestCase()
~LteRlcAmTransmitterReportBufferStatusTestCase() override
void DoRun() override
Implementation to actually run this TestCase.
Test 4.1.1.2 Test the correct functionality of the Segmentation.
void DoRun() override
Implementation to actually run this TestCase.
LteRlcAmTransmitterSegmentationTestCase()
~LteRlcAmTransmitterSegmentationTestCase() override
Test case used by LteRlcAmTransmitterOneSduTestCase to create topology and to implement functionaliti...
Ptr< LteTestPdcp > txPdcp
the transmit PDCP
~LteRlcAmTransmitterTestCase() override
void CheckDataReceived(Time time, std::string shouldReceived, std::string assertMsg)
Check data received function.
void DoRun() override
Implementation to actually run this TestCase.
void DoCheckDataReceived(std::string shouldReceived, std::string assertMsg)
Check data received function.
Ptr< LteRlc > txRlc
the RLC
Ptr< LteTestMac > txMac
the MAC
LteRlcAmTransmitterTestCase()
TestSuite 4.1.1 RLC AM: Only transmitter functionality.
LteRlcAmTransmitterTestSuite()
TestSuite 4.1.1 RLC AM: Only transmitter.
static void EnablePrinting()
Enable printing packets metadata.
static EventId Schedule(const Time &delay, FUNC f, Ts &&... args)
Schedule an event to expire after delay.
static void Destroy()
Execute the events scheduled with ScheduleDestroy().
static void Run()
Run the simulation.
static void Stop()
Tell the Simulator the calling event should be the last one executed.
void AddTestCase(TestCase *testCase, Duration duration=Duration::QUICK)
Add an individual child TestCase to this test suite.
Simulation virtual time values and global simulation resolution.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
static LteRlcAmTransmitterTestSuite lteRlcAmTransmitterTestSuite
Static variable for test initialization.
Ptr< T > CreateObject(Args &&... args)
Create an object by type, with varying number of constructor parameters.
#define NS_TEST_ASSERT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report and abort if not.
Time Seconds(double value)
Construct a Time in the indicated unit.
Every class exported by the ns3 library is enclosed in the ns3 namespace.