A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
lte-test-rlc-am-transmitter.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Author: Manuel Requena <manuel.requena@cttc.es>
7 */
8
9#ifndef LTE_TEST_RLC_AM_TRANSMITTER_H
10#define LTE_TEST_RLC_AM_TRANSMITTER_H
11
12#include "ns3/nstime.h"
13#include "ns3/ptr.h"
14#include "ns3/test.h"
15
16namespace ns3
17{
18
19class LteTestRrc;
20class LteTestMac;
21class LteTestPdcp;
22class LteRlc;
23
24} // namespace ns3
25
26using namespace ns3;
27
28/**
29 * @ingroup lte-test
30 *
31 * @brief TestSuite 4.1.1 RLC AM: Only transmitter functionality.
32 */
38
39/**
40 * @ingroup lte-test
41 *
42 * @brief Test case used by LteRlcAmTransmitterOneSduTestCase to create topology
43 * and to implement functionalities and check if data received corresponds to
44 * data sent.
45 */
47{
48 public:
49 /**
50 * Constructor
51 *
52 * @param name the reference name
53 */
54 LteRlcAmTransmitterTestCase(std::string name);
57
58 /**
59 * Check data received function
60 * @param time the time to check
61 * @param shouldReceived should have received indicator
62 * @param assertMsg the assert message
63 */
64 void CheckDataReceived(Time time, std::string shouldReceived, std::string assertMsg);
65
66 protected:
67 void DoRun() override;
68
69 Ptr<LteTestPdcp> txPdcp; ///< the transmit PDCP
70 Ptr<LteRlc> txRlc; ///< the RLC
71 Ptr<LteTestMac> txMac; ///< the MAC
72
73 private:
74 /**
75 * Check data received function
76 * @param shouldReceived should have received indicator
77 * @param assertMsg the assert message
78 */
79 void DoCheckDataReceived(std::string shouldReceived, std::string assertMsg);
80};
81
82/**
83 * @ingroup lte-test
84 *
85 * @brief Test 4.1.1.1 Test that SDU transmitted at PDCP corresponds to PDU
86 * received by MAC.
87 */
89{
90 public:
91 /**
92 * Constructor
93 *
94 * @param name the reference name
95 */
96 LteRlcAmTransmitterOneSduTestCase(std::string name);
99
100 private:
101 void DoRun() override;
102};
103
104/**
105 * @ingroup lte-test
106 *
107 * @brief Test 4.1.1.2 Test the correct functionality of the Segmentation.
108 * Test check that single SDU is properly segmented to n PDUs.
109 */
111{
112 public:
113 /**
114 * Constructor
115 *
116 * @param name the reference name
117 */
121
122 private:
123 void DoRun() override;
124};
125
126/**
127 * @ingroup lte-test
128 *
129 * @brief Test 4.1.1.3 Test that concatenation functionality works properly.
130 * Test check if n SDUs are correctly contactenate to single PDU.
131 */
133{
134 public:
135 /**
136 * Constructor
137 *
138 * @param name the reference name
139 */
143
144 private:
145 void DoRun() override;
146};
147
148/**
149 * @ingroup lte-test
150 *
151 * @brief Test 4.1.1.4 Test checks functionality of Report Buffer Status by
152 * testing primitive parameters.
153 */
155{
156 public:
157 /**
158 * Constructor
159 *
160 * @param name the reference name
161 */
165
166 private:
167 void DoRun() override;
168};
169
170#endif // LTE_TEST_RLC_AM_TRANSMITTER_H
void DoRun() override
Implementation to actually run this TestCase.
LteRlcAmTransmitterConcatenationTestCase(std::string name)
Constructor.
void DoRun() override
Implementation to actually run this TestCase.
LteRlcAmTransmitterOneSduTestCase(std::string name)
Constructor.
LteRlcAmTransmitterReportBufferStatusTestCase(std::string name)
Constructor.
void DoRun() override
Implementation to actually run this TestCase.
LteRlcAmTransmitterSegmentationTestCase(std::string name)
Constructor.
void DoRun() override
Implementation to actually run this TestCase.
Ptr< LteTestPdcp > txPdcp
the transmit PDCP
LteRlcAmTransmitterTestCase(std::string name)
Constructor.
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.
LteRlcAmTransmitterTestSuite()
TestSuite 4.1.1 RLC AM: Only transmitter.
This abstract base class defines the API to interact with the Radio Link Control (LTE_RLC) in LTE,...
Definition lte-rlc.h:38
This class implements a testing loopback MAC layer.
This class implements a testing PDCP entity.
This class implements a testing RRC entity.
Smart pointer class similar to boost::intrusive_ptr.
Definition ptr.h:66
TestCase(const TestCase &)=delete
TestSuite(std::string name, Type type=Type::UNIT)
Construct a new test suite.
Definition test.cc:490
Simulation virtual time values and global simulation resolution.
Definition nstime.h:94
Every class exported by the ns3 library is enclosed in the ns3 namespace.