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:93
LteRrcSap::MasterInformationBlock m_mib
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:202
DlDciListElement_s m_dci
DCI.
See section 4.3.2 ulDciListElement.
See section 4.3.24 cqiListElement.
std::list< Rar >::const_iterator RarListEnd() const
void SetRaRnti(uint16_t raRnti)
LteRrcSap::SystemInformationBlockType1 GetSib1() const
Retrieve the SIB1 content from this control message.
DlInfoListElement_s GetDlHarqFeedback(void)
Get DL HARQ information.
void SetRapId(uint32_t rapid)
Set the Random Access Preamble Identifier (RAPID), see 3GPP TS 36.321 6.2.2.
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.
std::list< Rar >::const_iterator RarListBegin() const
MessageType m_type
message type
CqiListElement_s GetDlCqi(void)
Get DL cqi information.
UlDciListElement_s GetDci(void)
Get dic information.
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.
SystemInformationBlockType1 structure.
Definition: lte-rrc-sap.h:587
MessageType
The type of the message NOTE: The messages sent by UE are filtered by the LteEnbPhy::ReceiveLteContro...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
MasterInformationBlock structure.
Definition: lte-rrc-sap.h:580
void SetDci(UlDciListElement_s dci)
add a DCI into the message
void SetDci(DlDciListElement_s dci)
add a DCI into the message
UlDciListElement_s m_dci
DCI.
DlDciListElement_s GetDci(void)
Get dic information.
void SetMib(LteRrcSap::MasterInformationBlock mib)
Replace the MIB content of this control message.
CqiListElement_s m_dlCqi
DL CQI.
void SetDlHarqFeedback(DlInfoListElement_s m)
add a DL HARQ feedback record into the message.
MacCeListElement_s GetBsr(void)
Get BSR information.
void SetMessageType(MessageType type)
Set the type of the message.
std::list< Rar > m_rarList
RAR list.
LteRrcSap::MasterInformationBlock GetMib() const
Retrieve the MIB content from this control message.
void SetBsr(MacCeListElement_s bsr)
add a BSR feedback record into the message.
DlInfoListElement_s m_dlInfoListElement
DL info list element.
void SetSib1(LteRrcSap::SystemInformationBlockType1 sib1)
Replace the SIB1 content of this control message.
MacCeListElement_s m_bsr
BSR.
LteRrcSap::SystemInformationBlockType1 m_sib1
SIB1.