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 
ns3::UlDciLteControlMessage::~UlDciLteControlMessage
virtual ~UlDciLteControlMessage(void)
Definition: lte-control-messages.cc:95
NS_LOG_COMPONENT_DEFINE
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition: log.h:205
lte-ue-net-device.h
ns3::RarLteControlMessage::SetRaRnti
void SetRaRnti(uint16_t raRnti)
Definition: lte-control-messages.cc:206
ns3::MibLteControlMessage::GetMib
LteRrcSap::MasterInformationBlock GetMib() const
Retrieve the MIB content from this control message.
Definition: lte-control-messages.cc:254
ns3::LteRrcSap::MasterInformationBlock
MasterInformationBlock structure.
Definition: lte-rrc-sap.h:588
ns3::LteControlMessage::DL_HARQ
@ DL_HARQ
Definition: lte-control-messages.h:59
ns3::LteControlMessage::RACH_PREAMBLE
@ RACH_PREAMBLE
Definition: lte-control-messages.h:60
ns3::RarLteControlMessage::m_rarList
std::list< Rar > m_rarList
RAR list.
Definition: lte-control-messages.h:322
ns3::RachPreambleLteControlMessage::SetRapId
void SetRapId(uint32_t rapid)
Set the Random Access Preamble Identifier (RAPID), see 3GPP TS 36.321 6.2.2.
Definition: lte-control-messages.cc:184
ns3::BsrLteControlMessage::~BsrLteControlMessage
virtual ~BsrLteControlMessage(void)
Definition: lte-control-messages.cc:154
ns3::DlHarqFeedbackLteControlMessage::DlHarqFeedbackLteControlMessage
DlHarqFeedbackLteControlMessage(void)
Definition: lte-control-messages.cc:287
lte-control-messages.h
ns3::BsrLteControlMessage::m_bsr
MacCeListElement_s m_bsr
BSR.
Definition: lte-control-messages.h:201
ns3::LteControlMessage::RAR
@ RAR
Definition: lte-control-messages.h:61
ns3::DlCqiLteControlMessage::GetDlCqi
CqiListElement_s GetDlCqi(void)
Get DL cqi information.
Definition: lte-control-messages.cc:138
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::DlCqiLteControlMessage::~DlCqiLteControlMessage
virtual ~DlCqiLteControlMessage(void)
Definition: lte-control-messages.cc:124
ns3::DlDciLteControlMessage::m_dci
DlDciListElement_s m_dci
DCI.
Definition: lte-control-messages.h:111
ns3::DlCqiLteControlMessage::SetDlCqi
void SetDlCqi(CqiListElement_s dlcqi)
add a DL-CQI feedback record into the message.
Definition: lte-control-messages.cc:130
ns3::RarLteControlMessage::Rar
a MAC RAR and the corresponding RAPID subheader
Definition: lte-control-messages.h:297
ns3::BsrLteControlMessage::BsrLteControlMessage
BsrLteControlMessage(void)
Definition: lte-control-messages.cc:148
ns3::MibLteControlMessage::SetMib
void SetMib(LteRrcSap::MasterInformationBlock mib)
Replace the MIB content of this control message.
Definition: lte-control-messages.cc:248
ns3::CqiListElement_s
See section 4.3.24 cqiListElement.
Definition: ff-mac-common.h:484
ns3::DlDciListElement_s
See section 4.3.1 dlDciListElement.
Definition: ff-mac-common.h:94
ns3::RarLteControlMessage::RarListBegin
std::list< Rar >::const_iterator RarListBegin() const
Definition: lte-control-messages.cc:225
ns3::RarLteControlMessage::GetRaRnti
uint16_t GetRaRnti() const
Definition: lte-control-messages.cc:212
ns3::DlHarqFeedbackLteControlMessage::~DlHarqFeedbackLteControlMessage
virtual ~DlHarqFeedbackLteControlMessage(void)
Definition: lte-control-messages.cc:293
ns3::LteControlMessage::DL_DCI
@ DL_DCI
Definition: lte-control-messages.h:56
ns3::LteControlMessage::SIB1
@ SIB1
Definition: lte-control-messages.h:63
ns3::DlHarqFeedbackLteControlMessage::m_dlInfoListElement
DlInfoListElement_s m_dlInfoListElement
DL info list element.
Definition: lte-control-messages.h:232
ns3::BsrLteControlMessage::SetBsr
void SetBsr(MacCeListElement_s bsr)
add a BSR feedback record into the message.
Definition: lte-control-messages.cc:160
ns3::LteControlMessage::LteControlMessage
LteControlMessage(void)
Definition: lte-control-messages.cc:33
ns3::UlDciLteControlMessage::SetDci
void SetDci(UlDciListElement_s dci)
add a DCI into the message
Definition: lte-control-messages.cc:101
ns3::LteControlMessage::MIB
@ MIB
Definition: lte-control-messages.h:62
ns3::Sib1LteControlMessage::GetSib1
LteRrcSap::SystemInformationBlockType1 GetSib1() const
Retrieve the SIB1 content from this control message.
Definition: lte-control-messages.cc:277
ns3::RarLteControlMessage::RarListEnd
std::list< Rar >::const_iterator RarListEnd() const
Definition: lte-control-messages.cc:231
ns3::UlDciListElement_s
See section 4.3.2 ulDciListElement.
Definition: ff-mac-common.h:141
ns3::LteControlMessage::m_type
MessageType m_type
message type
Definition: lte-control-messages.h:81
ns3::DlHarqFeedbackLteControlMessage::SetDlHarqFeedback
void SetDlHarqFeedback(DlInfoListElement_s m)
add a DL HARQ feedback record into the message.
Definition: lte-control-messages.cc:299
ns3::DlCqiLteControlMessage::DlCqiLteControlMessage
DlCqiLteControlMessage(void)
Definition: lte-control-messages.cc:118
ns3::RarLteControlMessage::m_raRnti
uint16_t m_raRnti
RA RNTI.
Definition: lte-control-messages.h:323
ns3::LteControlMessage::GetMessageType
MessageType GetMessageType(void)
Get the type of the message.
Definition: lte-control-messages.cc:51
ns3::MacCeListElement_s
See section 4.3.14 macCEListElement.
Definition: ff-mac-common.h:337
lte-net-device.h
ns3::UlDciLteControlMessage::GetDci
UlDciListElement_s GetDci(void)
Get dic information.
Definition: lte-control-messages.cc:109
ns3::DlDciLteControlMessage::DlDciLteControlMessage
DlDciLteControlMessage(void)
Definition: lte-control-messages.cc:60
ns3::Sib1LteControlMessage::Sib1LteControlMessage
Sib1LteControlMessage(void)
Create a new instance of SIB1 control message.
Definition: lte-control-messages.cc:264
ns3::DlDciLteControlMessage::GetDci
DlDciListElement_s GetDci(void)
Get dic information.
Definition: lte-control-messages.cc:80
ns3::DlCqiLteControlMessage::m_dlCqi
CqiListElement_s m_dlCqi
DL CQI.
Definition: lte-control-messages.h:171
ns3::LteControlMessage::SetMessageType
void SetMessageType(MessageType type)
Set the type of the message.
Definition: lte-control-messages.cc:44
ns3::UlDciLteControlMessage::m_dci
UlDciListElement_s m_dci
DCI.
Definition: lte-control-messages.h:141
ns3::DlDciLteControlMessage::SetDci
void SetDci(DlDciListElement_s dci)
add a DCI into the message
Definition: lte-control-messages.cc:72
ns3::MibLteControlMessage::MibLteControlMessage
MibLteControlMessage(void)
Create a new instance of MIB control message.
Definition: lte-control-messages.cc:241
ns3::LteControlMessage::BSR
@ BSR
Definition: lte-control-messages.h:58
ns3::DlDciLteControlMessage::~DlDciLteControlMessage
virtual ~DlDciLteControlMessage(void)
Definition: lte-control-messages.cc:66
ns3::BsrLteControlMessage::GetBsr
MacCeListElement_s GetBsr(void)
Get BSR information.
Definition: lte-control-messages.cc:168
ns3::LteRrcSap::SystemInformationBlockType1
SystemInformationBlockType1 structure.
Definition: lte-rrc-sap.h:595
ns3::LteControlMessage::MessageType
MessageType
The type of the message NOTE: The messages sent by UE are filtered by the LteEnbPhy::ReceiveLteContro...
Definition: lte-control-messages.h:55
ns3::Sib1LteControlMessage::m_sib1
LteRrcSap::SystemInformationBlockType1 m_sib1
SIB1.
Definition: lte-control-messages.h:401
ns3::RachPreambleLteControlMessage::GetRapId
uint32_t GetRapId() const
Definition: lte-control-messages.cc:190
ns3::RarLteControlMessage::AddRar
void AddRar(Rar rar)
add a RAR to the MAC PDU, see 3GPP TS 36.321 6.2.3
Definition: lte-control-messages.cc:219
ns3::LteControlMessage::UL_DCI
@ UL_DCI
Definition: lte-control-messages.h:56
ns3::LteControlMessage::DL_CQI
@ DL_CQI
Definition: lte-control-messages.h:57
ns3::RarLteControlMessage::RarLteControlMessage
RarLteControlMessage(void)
Definition: lte-control-messages.cc:199
ns3::LteControlMessage::~LteControlMessage
virtual ~LteControlMessage(void)
Definition: lte-control-messages.cc:38
ns3::DlInfoListElement_s
See section 4.3.23 dlInfoListElement.
Definition: ff-mac-common.h:430
ns3::DlHarqFeedbackLteControlMessage::GetDlHarqFeedback
DlInfoListElement_s GetDlHarqFeedback(void)
Get DL HARQ information.
Definition: lte-control-messages.cc:306
ns3::UlDciLteControlMessage::UlDciLteControlMessage
UlDciLteControlMessage(void)
Definition: lte-control-messages.cc:89
ns3::RachPreambleLteControlMessage::m_rapId
uint32_t m_rapId
the RAPID
Definition: lte-control-messages.h:263
ns3::Sib1LteControlMessage::SetSib1
void SetSib1(LteRrcSap::SystemInformationBlockType1 sib1)
Replace the SIB1 content of this control message.
Definition: lte-control-messages.cc:271
ns3::RachPreambleLteControlMessage::RachPreambleLteControlMessage
RachPreambleLteControlMessage(void)
Definition: lte-control-messages.cc:178
ns3::MibLteControlMessage::m_mib
LteRrcSap::MasterInformationBlock m_mib
MIB.
Definition: lte-control-messages.h:362