14#include "ns3/lte-rlc-header.h"
15#include "ns3/lte-rlc-um.h"
16#include "ns3/simulator.h"
35 TestCase::Duration::QUICK);
37 TestCase::Duration::QUICK);
39 TestCase::Duration::QUICK);
41 TestCase::Duration::QUICK);
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.
Test case used by LteRlcUmTransmitterOneSduTestCase to create topology and to implement functionaliti...
void DoRun() override
Implementation to actually run this TestCase.
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.
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.