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
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: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.
encapsulates test code
Definition test.h:1050
A suite of tests to run.
Definition test.h:1267
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.