A Discrete-Event Network Simulator
API
lte-control-messages.cc
Go to the documentation of this file.
1/*
2 * Copyright (c) 2010 TELEMATICS LAB, DEE - Politecnico di Bari
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: Giuseppe Piro <g.piro@poliba.it>
18 * Marco Miozzo <marco.miozzo@cttc.es>
19 */
20
22
23#include "lte-net-device.h"
24#include "lte-ue-net-device.h"
25
26#include "ns3/address-utils.h"
27#include "ns3/log.h"
28#include "ns3/uinteger.h"
29
30namespace ns3
31{
32
33NS_LOG_COMPONENT_DEFINE("LteControlMessage");
34
36{
37}
38
40{
41}
42
43void
45{
46 m_type = type;
47}
48
51{
52 return m_type;
53}
54
55// ----------------------------------------------------------------------------------------------------------
56
58{
60}
61
63{
64}
65
66void
68{
69 m_dci = dci;
70}
71
74{
75 return m_dci;
76}
77
78// ----------------------------------------------------------------------------------------------------------
79
81{
83}
84
86{
87}
88
89void
91{
92 m_dci = dci;
93}
94
97{
98 return m_dci;
99}
100
101// ----------------------------------------------------------------------------------------------------------
102
104{
106}
107
109{
110}
111
112void
114{
115 m_dlCqi = dlcqi;
116}
117
120{
121 return m_dlCqi;
122}
123
124// ----------------------------------------------------------------------------------------------------------
125
127{
129}
130
132{
133}
134
135void
137{
138 m_bsr = bsr;
139}
140
143{
144 return m_bsr;
145}
146
147// ----------------------------------------------------------------------------------------------------------
148
150{
152}
153
154void
156{
157 m_rapId = rapId;
158}
159
162{
163 return m_rapId;
164}
165
166// ----------------------------------------------------------------------------------------------------------
167
169{
171}
172
173void
175{
176 m_raRnti = raRnti;
177}
178
179uint16_t
181{
182 return m_raRnti;
183}
184
185void
187{
188 m_rarList.push_back(rar);
189}
190
191std::list<RarLteControlMessage::Rar>::const_iterator
193{
194 return m_rarList.begin();
195}
196
197std::list<RarLteControlMessage::Rar>::const_iterator
199{
200 return m_rarList.end();
201}
202
203// ----------------------------------------------------------------------------------------------------------
204
206{
208}
209
210void
212{
213 m_mib = mib;
214}
215
218{
219 return m_mib;
220}
221
222// ----------------------------------------------------------------------------------------------------------
223
225{
227}
228
229void
231{
232 m_sib1 = sib1;
233}
234
237{
238 return m_sib1;
239}
240
241// ---------------------------------------------------------------------------
242
244{
246}
247
249{
250}
251
252void
254{
256}
257
260{
261 return m_dlInfoListElement;
262}
263
264} // namespace ns3
MacCeListElement_s m_bsr
BSR.
MacCeListElement_s GetBsr()
Get BSR information.
void SetBsr(MacCeListElement_s bsr)
add a BSR feedback record into the message.
CqiListElement_s m_dlCqi
DL CQI.
void SetDlCqi(CqiListElement_s dlcqi)
add a DL-CQI feedback record into the message.
CqiListElement_s GetDlCqi()
Get DL cqi information.
void SetDci(DlDciListElement_s dci)
add a DCI into the message
DlDciListElement_s GetDci()
Get dic information.
DlDciListElement_s m_dci
DCI.
void SetDlHarqFeedback(DlInfoListElement_s m)
add a DL HARQ feedback record into the message.
DlInfoListElement_s GetDlHarqFeedback()
Get DL HARQ information.
DlInfoListElement_s m_dlInfoListElement
DL info list element.
MessageType GetMessageType()
Get the type of the message.
MessageType m_type
message type
MessageType
The type of the message NOTE: The messages sent by UE are filtered by the LteEnbPhy::ReceiveLteContro...
void SetMessageType(MessageType type)
Set the type of the message.
MibLteControlMessage()
Create a new instance of MIB control message.
void SetMib(LteRrcSap::MasterInformationBlock mib)
Replace the MIB content of this control message.
LteRrcSap::MasterInformationBlock m_mib
MIB.
LteRrcSap::MasterInformationBlock GetMib() const
Retrieve the MIB content from this control message.
void SetRapId(uint32_t rapid)
Set the Random Access Preamble Identifier (RAPID), see 3GPP TS 36.321 6.2.2.
std::list< Rar >::const_iterator RarListEnd() const
std::list< Rar >::const_iterator RarListBegin() const
std::list< Rar > m_rarList
RAR list.
void SetRaRnti(uint16_t raRnti)
void AddRar(Rar rar)
add a RAR to the MAC PDU, see 3GPP TS 36.321 6.2.3
void SetSib1(LteRrcSap::SystemInformationBlockType1 sib1)
Replace the SIB1 content of this control message.
LteRrcSap::SystemInformationBlockType1 m_sib1
SIB1.
LteRrcSap::SystemInformationBlockType1 GetSib1() const
Retrieve the SIB1 content from this control message.
Sib1LteControlMessage()
Create a new instance of SIB1 control message.
void SetDci(UlDciListElement_s dci)
add a DCI into the message
UlDciListElement_s GetDci()
Get dic information.
UlDciListElement_s m_dci
DCI.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition: log.h:202
Every class exported by the ns3 library is enclosed in the ns3 namespace.
See section 4.3.24 cqiListElement.
See section 4.3.1 dlDciListElement.
Definition: ff-mac-common.h:93
See section 4.3.23 dlInfoListElement.
MasterInformationBlock structure.
Definition: lte-rrc-sap.h:608
SystemInformationBlockType1 structure.
Definition: lte-rrc-sap.h:615
See section 4.3.14 macCEListElement.
a MAC RAR and the corresponding RAPID subheader
See section 4.3.2 ulDciListElement.