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 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Author: Manuel Requena <manuel.requena@cttc.es>
7 */
8
9#ifndef LTE_TEST_RLC_UM_TRANSMITTER_H
10#define LTE_TEST_RLC_UM_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 for RLC UM: Only transmitter part.
32 */
38
39/**
40 * @ingroup lte-test
41 *
42 * @brief Test case used by LteRlcUmTransmitterOneSduTestCase 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 test name
53 */
54 LteRlcUmTransmitterTestCase(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 One SDU, One PDU
86 */
88{
89 public:
90 /**
91 * Constructor
92 *
93 * @param name the test name
94 */
95 LteRlcUmTransmitterOneSduTestCase(std::string name);
98
99 private:
100 void DoRun() override;
101};
102
103/**
104 * @ingroup lte-test
105 *
106 * @brief Test 4.1.1.2 Segmentation (One SDU => n PDUs)
107 */
109{
110 public:
111 /**
112 * Constructor
113 *
114 * @param name the reference name
115 */
119
120 private:
121 void DoRun() override;
122};
123
124/**
125 * @ingroup lte-test
126 *
127 * @brief Test 4.1.1.3 Concatenation (n SDUs => One PDU)
128 */
130{
131 public:
132 /**
133 * Constructor
134 *
135 * @param name the reference name
136 */
140
141 private:
142 void DoRun() override;
143};
144
145/**
146 * @ingroup lte-test
147 *
148 * @brief Test 4.1.1.4 Report Buffer Status (test primitive parameters)
149 */
151{
152 public:
153 /**
154 * Constructor
155 *
156 * @param name the reference name
157 */
161
162 private:
163 void DoRun() override;
164};
165
166#endif /* LTE_TEST_RLC_UM_TRANSMITTER_H */
void DoRun() override
Implementation to actually run this TestCase.
LteRlcUmTransmitterConcatenationTestCase(std::string name)
Constructor.
LteRlcUmTransmitterOneSduTestCase(std::string name)
Constructor.
void DoRun() override
Implementation to actually run this TestCase.
void DoRun() override
Implementation to actually run this TestCase.
LteRlcUmTransmitterReportBufferStatusTestCase(std::string name)
Constructor.
LteRlcUmTransmitterSegmentationTestCase(std::string name)
Constructor.
void DoRun() override
Implementation to actually run this TestCase.
void DoRun() override
Implementation to actually run this TestCase.
LteRlcUmTransmitterTestCase(std::string name)
Constructor.
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.
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: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.