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 */
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: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.