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 
21 #include "lte-control-messages.h"
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 
30 namespace ns3
31 {
32 
33 NS_LOG_COMPONENT_DEFINE("LteControlMessage");
34 
36 {
37 }
38 
40 {
41 }
42 
43 void
45 {
46  m_type = type;
47 }
48 
51 {
52  return m_type;
53 }
54 
55 // ----------------------------------------------------------------------------------------------------------
56 
58 {
60 }
61 
63 {
64 }
65 
66 void
68 {
69  m_dci = dci;
70 }
71 
72 const DlDciListElement_s&
74 {
75  return m_dci;
76 }
77 
78 // ----------------------------------------------------------------------------------------------------------
79 
81 {
83 }
84 
86 {
87 }
88 
89 void
91 {
92  m_dci = dci;
93 }
94 
95 const UlDciListElement_s&
97 {
98  return m_dci;
99 }
100 
101 // ----------------------------------------------------------------------------------------------------------
102 
104 {
106 }
107 
109 {
110 }
111 
112 void
114 {
115  m_dlCqi = dlcqi;
116 }
117 
120 {
121  return m_dlCqi;
122 }
123 
124 // ----------------------------------------------------------------------------------------------------------
125 
127 {
129 }
130 
132 {
133 }
134 
135 void
137 {
138  m_bsr = bsr;
139 }
140 
143 {
144  return m_bsr;
145 }
146 
147 // ----------------------------------------------------------------------------------------------------------
148 
150 {
152 }
153 
154 void
156 {
157  m_rapId = rapId;
158 }
159 
160 uint32_t
162 {
163  return m_rapId;
164 }
165 
166 // ----------------------------------------------------------------------------------------------------------
167 
169 {
171 }
172 
173 void
175 {
176  m_raRnti = raRnti;
177 }
178 
179 uint16_t
181 {
182  return m_raRnti;
183 }
184 
185 void
187 {
188  m_rarList.push_back(rar);
189 }
190 
191 std::list<RarLteControlMessage::Rar>::const_iterator
193 {
194  return m_rarList.begin();
195 }
196 
197 std::list<RarLteControlMessage::Rar>::const_iterator
199 {
200  return m_rarList.end();
201 }
202 
203 // ----------------------------------------------------------------------------------------------------------
204 
206 {
208 }
209 
210 void
212 {
213  m_mib = mib;
214 }
215 
218 {
219  return m_mib;
220 }
221 
222 // ----------------------------------------------------------------------------------------------------------
223 
225 {
227 }
228 
229 void
231 {
232  m_sib1 = sib1;
233 }
234 
237 {
238  return m_sib1;
239 }
240 
241 // ---------------------------------------------------------------------------
242 
244 {
246 }
247 
249 {
250 }
251 
252 void
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.
const DlDciListElement_s & GetDci()
Get dic information.
void SetDci(DlDciListElement_s dci)
add a DCI into the message
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
const 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:622
SystemInformationBlockType1 structure.
Definition: lte-rrc-sap.h:629
See section 4.3.14 macCEListElement.
a MAC RAR and the corresponding RAPID subheader
See section 4.3.2 ulDciListElement.