A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
lte-test-rlc-um-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_UM_TRANSMITTER_H
21#define LTE_TEST_RLC_UM_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 for RLC UM: Only transmitter part.
43 */
45{
46 public:
48};
49
50/**
51 * \ingroup lte-test
52 *
53 * \brief Test case used by LteRlcUmTransmitterOneSduTestCase 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 test name
64 */
65 LteRlcUmTransmitterTestCase(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 One SDU, One PDU
97 */
99{
100 public:
101 /**
102 * Constructor
103 *
104 * \param name the test name
105 */
106 LteRlcUmTransmitterOneSduTestCase(std::string name);
109
110 private:
111 void DoRun() override;
112};
113
114/**
115 * \ingroup lte-test
116 *
117 * \brief Test 4.1.1.2 Segmentation (One SDU => n PDUs)
118 */
120{
121 public:
122 /**
123 * Constructor
124 *
125 * \param name the reference name
126 */
130
131 private:
132 void DoRun() override;
133};
134
135/**
136 * \ingroup lte-test
137 *
138 * \brief Test 4.1.1.3 Concatenation (n SDUs => One PDU)
139 */
141{
142 public:
143 /**
144 * Constructor
145 *
146 * \param name the reference name
147 */
151
152 private:
153 void DoRun() override;
154};
155
156/**
157 * \ingroup lte-test
158 *
159 * \brief Test 4.1.1.4 Report Buffer Status (test primitive parameters)
160 */
162{
163 public:
164 /**
165 * Constructor
166 *
167 * \param name the reference name
168 */
172
173 private:
174 void DoRun() override;
175};
176
177#endif /* LTE_TEST_RLC_UM_TRANSMITTER_H */
Test 4.1.1.3 Concatenation (n SDUs => One PDU)
void DoRun() override
Implementation to actually run this TestCase.
void DoRun() override
Implementation to actually run this TestCase.
Test 4.1.1.4 Report Buffer Status (test primitive parameters)
void DoRun() override
Implementation to actually run this TestCase.
Test 4.1.1.2 Segmentation (One SDU => n PDUs)
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.
void DoCheckDataReceived(std::string shouldReceived, std::string assertMsg)
Check data received function.
TestSuite 4.1.1 for RLC UM: Only transmitter part.
LteRlcUmTransmitterTestSuite()
TestSuite 4.1.1 RLC UM: 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.