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 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 * Author: Manuel Requena <manuel.requena@cttc.es>
18 */
19
20#ifndef LTE_TEST_RLC_AM_TRANSMITTER_H
21#define LTE_TEST_RLC_AM_TRANSMITTER_H
22
23#include "ns3/nstime.h"
24#include "ns3/ptr.h"
25#include "ns3/test.h"
26
27namespace ns3
28{
29
30class LteTestRrc;
31class LteTestMac;
32class LteTestPdcp;
33class LteRlc;
34
35} // namespace ns3
36
37using namespace ns3;
38
39/**
40 * \ingroup lte-test
41 *
42 * \brief TestSuite 4.1.1 RLC AM: Only transmitter functionality.
43 */
45{
46 public:
48};
49
50/**
51 * \ingroup lte-test
52 *
53 * \brief Test case used by LteRlcAmTransmitterOneSduTestCase to create topology
54 * and to implement functionalities and check if data received corresponds to
55 * data sent.
56 */
58{
59 public:
60 /**
61 * Constructor
62 *
63 * \param name the reference name
64 */
65 LteRlcAmTransmitterTestCase(std::string name);
68
69 /**
70 * Check data received function
71 * \param time the time to check
72 * \param shouldReceived should have received indicator
73 * \param assertMsg the assert message
74 */
75 void CheckDataReceived(Time time, std::string shouldReceived, std::string assertMsg);
76
77 protected:
78 void DoRun() override;
79
80 Ptr<LteTestPdcp> txPdcp; ///< the transmit PDCP
81 Ptr<LteRlc> txRlc; ///< the RLC
82 Ptr<LteTestMac> txMac; ///< the MAC
83
84 private:
85 /**
86 * Check data received function
87 * \param shouldReceived should have received indicator
88 * \param assertMsg the assert message
89 */
90 void DoCheckDataReceived(std::string shouldReceived, std::string assertMsg);
91};
92
93/**
94 * \ingroup lte-test
95 *
96 * \brief Test 4.1.1.1 Test that SDU transmitted at PDCP corresponds to PDU
97 * received by MAC.
98 */
100{
101 public:
102 /**
103 * Constructor
104 *
105 * \param name the reference name
106 */
107 LteRlcAmTransmitterOneSduTestCase(std::string name);
110
111 private:
112 void DoRun() override;
113};
114
115/**
116 * \ingroup lte-test
117 *
118 * \brief Test 4.1.1.2 Test the correct functionality of the Segmentation.
119 * Test check that single SDU is properly segmented to n PDUs.
120 */
122{
123 public:
124 /**
125 * Constructor
126 *
127 * \param name the reference name
128 */
132
133 private:
134 void DoRun() override;
135};
136
137/**
138 * \ingroup lte-test
139 *
140 * \brief Test 4.1.1.3 Test that concatenation functionality works properly.
141 * Test check if n SDUs are correctly contactenate to single PDU.
142 */
144{
145 public:
146 /**
147 * Constructor
148 *
149 * \param name the reference name
150 */
154
155 private:
156 void DoRun() override;
157};
158
159/**
160 * \ingroup lte-test
161 *
162 * \brief Test 4.1.1.4 Test checks functionality of Report Buffer Status by
163 * testing primitive parameters.
164 */
166{
167 public:
168 /**
169 * Constructor
170 *
171 * \param name the reference name
172 */
176
177 private:
178 void DoRun() override;
179};
180
181#endif // LTE_TEST_RLC_AM_TRANSMITTER_H
Test 4.1.1.3 Test that concatenation functionality works properly.
void DoRun() override
Implementation to actually run this TestCase.
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.
Test 4.1.1.4 Test checks functionality of Report Buffer Status by testing primitive parameters.
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.
Test case used by LteRlcAmTransmitterOneSduTestCase to create topology and to implement functionaliti...
Ptr< LteTestPdcp > txPdcp
the transmit PDCP
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.
TestSuite 4.1.1 RLC AM: Only transmitter functionality.
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:49
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:77
encapsulates test code
Definition: test.h:1061
A suite of tests to run.
Definition: test.h:1268
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:105
Every class exported by the ns3 library is enclosed in the ns3 namespace.