A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
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
34
LteControlMessage::LteControlMessage
(
void
)
35
{
36
}
37
38
39
LteControlMessage::~LteControlMessage
(
void
)
40
{
41
}
42
43
44
void
45
LteControlMessage::SetMessageType
(
LteControlMessage::MessageType
type)
46
{
47
m_type
= type;
48
}
49
50
51
LteControlMessage::MessageType
52
LteControlMessage::GetMessageType
(
void
)
53
{
54
return
m_type
;
55
}
56
57
58
// ----------------------------------------------------------------------------------------------------------
59
60
61
DlDciLteControlMessage::DlDciLteControlMessage
(
void
)
62
{
63
SetMessageType
(
LteControlMessage::DL_DCI
);
64
}
65
66
67
DlDciLteControlMessage::~DlDciLteControlMessage
(
void
)
68
{
69
70
}
71
72
void
73
DlDciLteControlMessage::SetDci
(
DlDciListElement_s
dci)
74
{
75
m_dci
= dci;
76
77
}
78
79
80
DlDciListElement_s
81
DlDciLteControlMessage::GetDci
(
void
)
82
{
83
return
m_dci
;
84
}
85
86
87
// ----------------------------------------------------------------------------------------------------------
88
89
90
UlDciLteControlMessage::UlDciLteControlMessage
(
void
)
91
{
92
SetMessageType
(
LteControlMessage::UL_DCI
);
93
}
94
95
96
UlDciLteControlMessage::~UlDciLteControlMessage
(
void
)
97
{
98
99
}
100
101
void
102
UlDciLteControlMessage::SetDci
(
UlDciListElement_s
dci)
103
{
104
m_dci
= dci;
105
106
}
107
108
109
UlDciListElement_s
110
UlDciLteControlMessage::GetDci
(
void
)
111
{
112
return
m_dci
;
113
}
114
115
116
// ----------------------------------------------------------------------------------------------------------
117
118
119
DlCqiLteControlMessage::DlCqiLteControlMessage
(
void
)
120
{
121
SetMessageType
(
LteControlMessage::DL_CQI
);
122
}
123
124
125
DlCqiLteControlMessage::~DlCqiLteControlMessage
(
void
)
126
{
127
128
}
129
130
void
131
DlCqiLteControlMessage::SetDlCqi
(
CqiListElement_s
dlcqi)
132
{
133
m_dlCqi
= dlcqi;
134
135
}
136
137
138
CqiListElement_s
139
DlCqiLteControlMessage::GetDlCqi
(
void
)
140
{
141
return
m_dlCqi
;
142
}
143
144
145
146
// ----------------------------------------------------------------------------------------------------------
147
148
149
BsrLteControlMessage::BsrLteControlMessage
(
void
)
150
{
151
SetMessageType
(
LteControlMessage::BSR
);
152
}
153
154
155
BsrLteControlMessage::~BsrLteControlMessage
(
void
)
156
{
157
158
}
159
160
void
161
BsrLteControlMessage::SetBsr
(
MacCeListElement_s
bsr)
162
{
163
m_bsr
= bsr;
164
165
}
166
167
168
MacCeListElement_s
169
BsrLteControlMessage::GetBsr
(
void
)
170
{
171
return
m_bsr
;
172
}
173
174
175
176
// ----------------------------------------------------------------------------------------------------------
177
178
179
RachPreambleLteControlMessage::RachPreambleLteControlMessage
(
void
)
180
{
181
SetMessageType
(
LteControlMessage::RACH_PREAMBLE
);
182
}
183
184
void
185
RachPreambleLteControlMessage::SetRapId
(uint32_t rapId)
186
{
187
m_rapId
= rapId;
188
}
189
190
uint32_t
191
RachPreambleLteControlMessage::GetRapId
()
const
192
{
193
return
m_rapId
;
194
}
195
196
197
// ----------------------------------------------------------------------------------------------------------
198
199
200
RarLteControlMessage::RarLteControlMessage
(
void
)
201
{
202
SetMessageType
(
LteControlMessage::RAR
);
203
}
204
205
206
void
207
RarLteControlMessage::SetRaRnti
(uint16_t raRnti)
208
{
209
m_raRnti
= raRnti;
210
}
211
212
uint16_t
213
RarLteControlMessage::GetRaRnti
()
const
214
{
215
return
m_raRnti
;
216
}
217
218
219
void
220
RarLteControlMessage::AddRar
(
Rar
rar)
221
{
222
m_rarList
.push_back (rar);
223
}
224
225
std::list<RarLteControlMessage::Rar>::const_iterator
226
RarLteControlMessage::RarListBegin
()
const
227
{
228
return
m_rarList
.begin ();
229
}
230
231
std::list<RarLteControlMessage::Rar>::const_iterator
232
RarLteControlMessage::RarListEnd
()
const
233
{
234
return
m_rarList
.end ();
235
}
236
237
238
// ----------------------------------------------------------------------------------------------------------
239
240
241
242
MibLteControlMessage::MibLteControlMessage
(
void
)
243
{
244
SetMessageType
(
LteControlMessage::MIB
);
245
}
246
247
248
void
249
MibLteControlMessage::SetMib
(
LteRrcSap::MasterInformationBlock
mib)
250
{
251
m_mib
= mib;
252
}
253
254
LteRrcSap::MasterInformationBlock
255
MibLteControlMessage::GetMib
()
const
256
{
257
return
m_mib
;
258
}
259
260
261
262
263
// ---------------------------------------------------------------------------
264
265
266
DlHarqFeedbackLteControlMessage::DlHarqFeedbackLteControlMessage
(
void
)
267
{
268
SetMessageType
(
LteControlMessage::DL_HARQ
);
269
}
270
271
272
DlHarqFeedbackLteControlMessage::~DlHarqFeedbackLteControlMessage
(
void
)
273
{
274
275
}
276
277
void
278
DlHarqFeedbackLteControlMessage::SetDlHarqFeedback
(
DlInfoListElement_s
m)
279
{
280
m_dlInfoListElement
= m;
281
}
282
283
284
DlInfoListElement_s
285
DlHarqFeedbackLteControlMessage::GetDlHarqFeedback
(
void
)
286
{
287
return
m_dlInfoListElement
;
288
}
289
290
291
}
// namespace ns3
292
src
lte
model
lte-control-messages.cc
Generated on Tue May 14 2013 11:08:25 for ns-3 by
1.8.1.2