A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lte-control-messages.cc
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2010 TELEMATICS LAB, DEE - Politecnico di Bari
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Giuseppe Piro <g.piro@poliba.it>
19  * Marco Miozzo <marco.miozzo@cttc.es>
20  */
21 
22 #include "lte-control-messages.h"
23 #include "ns3/address-utils.h"
24 #include "ns3/uinteger.h"
25 #include "ns3/log.h"
26 #include "lte-net-device.h"
27 #include "lte-ue-net-device.h"
28 
29 NS_LOG_COMPONENT_DEFINE ("LteControlMessage");
30 
31 
32 namespace ns3 {
33 
35 {
36 }
37 
38 
40 {
41 }
42 
43 
44 void
46 {
47  m_type = type;
48 }
49 
50 
53 {
54  return m_type;
55 }
56 
57 
58 // ----------------------------------------------------------------------------------------------------------
59 
60 
62 {
64 }
65 
66 
68 {
69 
70 }
71 
72 void
74 {
75  m_dci = dci;
76 
77 }
78 
79 
82 {
83  return m_dci;
84 }
85 
86 
87 // ----------------------------------------------------------------------------------------------------------
88 
89 
91 {
93 }
94 
95 
97 {
98 
99 }
100 
101 void
103 {
104  m_dci = dci;
105 
106 }
107 
108 
111 {
112  return m_dci;
113 }
114 
115 
116 // ----------------------------------------------------------------------------------------------------------
117 
118 
120 {
122 }
123 
124 
126 {
127 
128 }
129 
130 void
132 {
133  m_dlCqi = dlcqi;
134 
135 }
136 
137 
140 {
141  return m_dlCqi;
142 }
143 
144 
145 
146 // ----------------------------------------------------------------------------------------------------------
147 
148 
150 {
152 }
153 
154 
156 {
157 
158 }
159 
160 void
162 {
163  m_bsr = bsr;
164 
165 }
166 
167 
170 {
171  return m_bsr;
172 }
173 
174 
175 
176 // ----------------------------------------------------------------------------------------------------------
177 
178 
180 {
182 }
183 
184 void
186 {
187  m_rapId = rapId;
188 }
189 
190 uint32_t
192 {
193  return m_rapId;
194 }
195 
196 
197 // ----------------------------------------------------------------------------------------------------------
198 
199 
201 {
203 }
204 
205 
206 void
208 {
209  m_raRnti = raRnti;
210 }
211 
212 uint16_t
214 {
215  return m_raRnti;
216 }
217 
218 
219 void
221 {
222  m_rarList.push_back (rar);
223 }
224 
225 std::list<RarLteControlMessage::Rar>::const_iterator
227 {
228  return m_rarList.begin ();
229 }
230 
231 std::list<RarLteControlMessage::Rar>::const_iterator
233 {
234  return m_rarList.end ();
235 }
236 
237 
238 // ----------------------------------------------------------------------------------------------------------
239 
240 
241 
243 {
245 }
246 
247 
248 void
250 {
251  m_mib = mib;
252 }
253 
256 {
257  return m_mib;
258 }
259 
260 
261 // ----------------------------------------------------------------------------------------------------------
262 
263 
264 
266 {
268 }
269 
270 
271 void
273 {
274  m_sib1 = sib1;
275 }
276 
279 {
280  return m_sib1;
281 }
282 
283 
284 // ---------------------------------------------------------------------------
285 
286 
287 
289 {
291 }
292 
293 
295 {
296 
297 }
298 
299 void
301 {
303 }
304 
305 
308 {
309  return m_dlInfoListElement;
310 }
311 
312 
313 } // namespace ns3
314 
See section 4.3.1 dlDciListElement.
Definition: ff-mac-common.h:88
LteRrcSap::MasterInformationBlock m_mib
Sib1LteControlMessage(void)
Create a new instance of SIB1 control message.
a MAC RAR and the corresponding RAPID subheader
NS_LOG_COMPONENT_DEFINE("LteControlMessage")
See section 4.3.2 ulDciListElement.
See section 4.3.24 cqiListElement.
void SetRaRnti(uint16_t raRnti)
DlInfoListElement_s GetDlHarqFeedback(void)
Get DL HARQ informations.
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
LteRrcSap::MasterInformationBlock GetMib() const
Retrieve the MIB content from this control message.
void AddRar(Rar rar)
add a RAR to the MAC PDU, see 3GPP TS 36.321 6.2.3
MibLteControlMessage(void)
Create a new instance of MIB control message.
LteRrcSap::SystemInformationBlockType1 GetSib1() const
Retrieve the SIB1 content from this control message.
CqiListElement_s GetDlCqi(void)
Get DL cqi informations.
UlDciListElement_s GetDci(void)
Get dic informations.
void SetDlCqi(CqiListElement_s dlcqi)
add a DL-CQI feedback record into the message.
See section 4.3.23 dlInfoListElement.
See section 4.3.14 macCEListElement.
MessageType GetMessageType(void)
Get the type of the message.
MessageType
The type of the message NOTE: The messages sent by UE are filtered by the LteEnbPhy::ReceiveLteContro...
std::list< Rar >::const_iterator RarListBegin() const
void SetDci(UlDciListElement_s dci)
add a DCI into the message
void SetDci(DlDciListElement_s dci)
add a DCI into the message
DlDciListElement_s GetDci(void)
Get dic informations.
void SetMib(LteRrcSap::MasterInformationBlock mib)
Replace the MIB content of this control message.
void SetDlHarqFeedback(DlInfoListElement_s m)
add a DL HARQ feedback record into the message.
MacCeListElement_s GetBsr(void)
Get BSR informations.
void SetMessageType(MessageType type)
Set the type of the message.
void SetBsr(MacCeListElement_s bsr)
add a BSR feedback record into the message.
void SetSib1(LteRrcSap::SystemInformationBlockType1 sib1)
Replace the SIB1 content of this control message.
LteRrcSap::SystemInformationBlockType1 m_sib1