14#include "ns3/lte-rlc-header.h"
15#include "ns3/lte-rlc-um.h"
16#include "ns3/simulator.h"
90 txPdcp->SetLteRlcSapProvider(
txRlc->GetLteRlcSapProvider());
91 txRlc->SetLteRlcSapUser(
txPdcp->GetLteRlcSapUser());
93 txRlc->SetLteMacSapProvider(
txMac->GetLteMacSapProvider());
94 txMac->SetLteMacSapUser(
txRlc->GetLteMacSapUser());
99 std::string shouldReceived,
100 std::string assertMsg)
138 txPdcp->SendData(
Seconds(0.100),
"ABCDEFGHIJKLMNOPQRSTUVWXYZ");
171 txPdcp->SendData(
Seconds(0.100),
"ABCDEFGHIJKLMNOPQRSTUVWXYZ");
253 txMac->SendTxOpportunity(
Seconds(0.250), (2 + 2) + (10 + 6));
274 txMac->SendTxOpportunity(
Seconds(1.000), (2 + 2) + (8 + 2));
291 (2 + 2 + 1 + 2 + 1 + 2 + 1) + (6 + 8 + 12 + 6 + 10 + 10 + 3));
293 "UVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVW",
296 txMac->SendTxOpportunity(
Seconds(1.650), (2 + 2 + 1 + 2) + (3 + 10 + 10 + 6));
Test 4.1.1.3 Concatenation (n SDUs => One PDU)
void DoRun() override
Implementation to actually run this TestCase.
~LteRlcUmTransmitterConcatenationTestCase() override
LteRlcUmTransmitterConcatenationTestCase()
Test 4.1.1.1 One SDU, One PDU.
LteRlcUmTransmitterOneSduTestCase()
void DoRun() override
Implementation to actually run this TestCase.
~LteRlcUmTransmitterOneSduTestCase() override
Test 4.1.1.4 Report Buffer Status (test primitive parameters)
void DoRun() override
Implementation to actually run this TestCase.
~LteRlcUmTransmitterReportBufferStatusTestCase() override
LteRlcUmTransmitterReportBufferStatusTestCase()
Test 4.1.1.2 Segmentation (One SDU => n PDUs)
~LteRlcUmTransmitterSegmentationTestCase() override
LteRlcUmTransmitterSegmentationTestCase()
void DoRun() override
Implementation to actually run this TestCase.
void DoRun() override
Implementation to actually run this TestCase.
LteRlcUmTransmitterTestCase(std::string name)
Constructor.
Ptr< LteTestPdcp > txPdcp
the transmit PDCP
void CheckDataReceived(Time time, std::string shouldReceived, std::string assertMsg)
Check data received function.
Ptr< LteRlc > txRlc
the RLC
~LteRlcUmTransmitterTestCase() override
Ptr< LteTestMac > txMac
the MAC
void DoCheckDataReceived(std::string shouldReceived, std::string assertMsg)
Check data received function.
LteRlcUmTransmitterTestCase()
TestSuite 4.1.1 for RLC UM: Only transmitter part.
LteRlcUmTransmitterTestSuite()
TestSuite 4.1.1 RLC UM: 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.
void AddTestCase(TestCase *testCase, Duration duration=Duration::QUICK)
Add an individual child TestCase to this test suite.
TestCase(const TestCase &)=delete
TestSuite(std::string name, Type type=Type::UNIT)
Construct a new test suite.
static constexpr auto SYSTEM
Simulation virtual time values and global simulation resolution.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
static LteRlcUmTransmitterTestSuite lteRlcUmTransmitterTestSuite
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.