A Discrete-Event Network Simulator
API
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 namespace ns3 {
30 
31 NS_LOG_COMPONENT_DEFINE ("LteControlMessage");
32 
34 {
35 }
36 
37 
39 {
40 }
41 
42 
43 void
45 {
46  m_type = type;
47 }
48 
49 
52 {
53  return m_type;
54 }
55 
56 
57 // ----------------------------------------------------------------------------------------------------------
58 
59 
61 {
63 }
64 
65 
67 {
68 
69 }
70 
71 void
73 {
74  m_dci = dci;
75 
76 }
77 
78 
81 {
82  return m_dci;
83 }
84 
85 
86 // ----------------------------------------------------------------------------------------------------------
87 
88 
90 {
92 }
93 
94 
96 {
97 
98 }
99 
100 void
102 {
103  m_dci = dci;
104 
105 }
106 
107 
110 {
111  return m_dci;
112 }
113 
114 
115 // ----------------------------------------------------------------------------------------------------------
116 
117 
119 {
121 }
122 
123 
125 {
126 
127 }
128 
129 void
131 {
132  m_dlCqi = dlcqi;
133 
134 }
135 
136 
139 {
140  return m_dlCqi;
141 }
142 
143 
144 
145 // ----------------------------------------------------------------------------------------------------------
146 
147 
149 {
151 }
152 
153 
155 {
156 
157 }
158 
159 void
161 {
162  m_bsr = bsr;
163 
164 }
165 
166 
169 {
170  return m_bsr;
171 }
172 
173 
174 
175 // ----------------------------------------------------------------------------------------------------------
176 
177 
179 {
181 }
182 
183 void
185 {
186  m_rapId = rapId;
187 }
188 
189 uint32_t
191 {
192  return m_rapId;
193 }
194 
195 
196 // ----------------------------------------------------------------------------------------------------------
197 
198 
200 {
202 }
203 
204 
205 void
207 {
208  m_raRnti = raRnti;
209 }
210 
211 uint16_t
213 {
214  return m_raRnti;
215 }
216 
217 
218 void
220 {
221  m_rarList.push_back (rar);
222 }
223 
224 std::list<RarLteControlMessage::Rar>::const_iterator
226 {
227  return m_rarList.begin ();
228 }
229 
230 std::list<RarLteControlMessage::Rar>::const_iterator
232 {
233  return m_rarList.end ();
234 }
235 
236 
237 // ----------------------------------------------------------------------------------------------------------
238 
239 
240 
242 {
244 }
245 
246 
247 void
249 {
250  m_mib = mib;
251 }
252 
255 {
256  return m_mib;
257 }
258 
259 
260 // ----------------------------------------------------------------------------------------------------------
261 
262 
263 
265 {
267 }
268 
269 
270 void
272 {
273  m_sib1 = sib1;
274 }
275 
278 {
279  return m_sib1;
280 }
281 
282 
283 // ---------------------------------------------------------------------------
284 
285 
286 
288 {
290 }
291 
292 
294 {
295 
296 }
297 
298 void
300 {
302 }
303 
304 
307 {
308  return m_dlInfoListElement;
309 }
310 
311 
312 } // namespace ns3
313 
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
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition: log.h:201
See section 4.3.2 ulDciListElement.
See section 4.3.24 cqiListElement.
MessageType
The type of the message NOTE: The messages sent by UE are filtered by the LteEnbPhy::ReceiveLteContro...
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.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
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