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.h
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
* Author: Marco Miozzo <marco.miozzo@cttc.es>
20
*/
21
22
#ifndef LTE_CONTROL_MESSAGES_H
23
#define LTE_CONTROL_MESSAGES_H
24
25
#include "ns3/ptr.h"
26
#include "ns3/simple-ref-count.h"
27
#include <list>
28
29
namespace
ns3 {
30
31
class
LteNetDevice;
32
33
41
class
LteControlMessage
:
public
SimpleRefCount
<LteControlMessage>
42
{
43
public
:
47
enum
MessageType
48
{
49
DL_DCI
,
UL_DCI
,
// Downlink/Uplink Data Control Indicator
50
DL_CQI
,
UL_CQI
,
// Downlink/Uplink Channel Quality Indicator
51
BSR
// Buffer Status Report
52
};
53
54
LteControlMessage
(
void
);
55
virtual
~LteControlMessage
(
void
);
56
61
void
SetMessageType
(
MessageType
type);
66
MessageType
GetMessageType
(
void
);
67
68
private
:
69
Ptr<LteNetDevice>
m_source
;
70
Ptr<LteNetDevice>
m_destination
;
71
MessageType
m_type
;
72
};
73
}
// namespace ns3
74
75
#endif
/* LTE_CONTROL_MESSAGES_H */
76
77
78
79
80
// ----------------------------------------------------------------------------------------------------------
81
82
83
#ifndef DL_DCI_LTE_CONTROL_MESSAGES_H
84
#define DL_DCI_LTE_CONTROL_MESSAGES_H
85
86
#include <ns3/object.h>
87
#include <ns3/ff-mac-common.h>
88
89
namespace
ns3 {
90
96
class
DlDciLteControlMessage
:
public
LteControlMessage
97
{
98
public
:
99
DlDciLteControlMessage
(
void
);
100
virtual
~DlDciLteControlMessage
(
void
);
101
106
void
SetDci
(
DlDciListElement_s
dci);
107
112
DlDciListElement_s
GetDci
(
void
);
113
114
115
private
:
116
DlDciListElement_s
m_dci
;
117
};
118
}
// namespace ns3
119
120
#endif
/* DL_DCI_LTE_CONTROL_MESSAGES_H */
121
122
123
// ----------------------------------------------------------------------------------------------------------
124
125
126
#ifndef UL_DCI_LTE_CONTROL_MESSAGES_H
127
#define UL_DCI_LTE_CONTROL_MESSAGES_H
128
129
#include <ns3/object.h>
130
#include <ns3/ff-mac-common.h>
131
132
namespace
ns3 {
133
139
class
UlDciLteControlMessage
:
public
LteControlMessage
140
{
141
public
:
142
UlDciLteControlMessage
(
void
);
143
virtual
~UlDciLteControlMessage
(
void
);
144
149
void
SetDci
(
UlDciListElement_s
dci);
150
155
UlDciListElement_s
GetDci
(
void
);
156
157
158
private
:
159
UlDciListElement_s
m_dci
;
160
};
161
}
// namespace ns3
162
163
#endif
/* UL_DCI_LTE_CONTROL_MESSAGES_H */
164
165
166
167
// ----------------------------------------------------------------------------------------------------------
168
169
170
171
#ifndef DLCQI_LTE_CONTROL_MESSAGES_H
172
#define DLCQI_LTE_CONTROL_MESSAGES_H
173
174
#include <ns3/object.h>
175
#include <ns3/ff-mac-common.h>
176
177
namespace
ns3 {
178
179
class
LteNetDevice;
180
186
class
DlCqiLteControlMessage
:
public
LteControlMessage
187
{
188
public
:
189
DlCqiLteControlMessage
(
void
);
190
virtual
~DlCqiLteControlMessage
(
void
);
191
196
void
SetDlCqi
(
CqiListElement_s
dlcqi);
197
202
CqiListElement_s
GetDlCqi
(
void
);
203
204
205
private
:
206
CqiListElement_s
m_dlCqi
;
207
};
208
}
// namespace ns3
209
210
#endif
/* DLCQI_LTE_CONTROL_MESSAGES_H */
211
212
213
// ----------------------------------------------------------------------------------------------------------
214
215
#ifndef BSR_LTE_CONTROL_MESSAGES_H
216
#define BSR_LTE_CONTROL_MESSAGES_H
217
218
#include <ns3/object.h>
219
#include <ns3/ff-mac-common.h>
220
221
namespace
ns3 {
222
223
class
LteNetDevice;
224
230
class
BsrLteControlMessage
:
public
LteControlMessage
231
{
232
public
:
233
BsrLteControlMessage
(
void
);
234
virtual
~BsrLteControlMessage
(
void
);
235
240
void
SetBsr
(
MacCeListElement_s
ulcqi);
241
246
MacCeListElement_s
GetBsr
(
void
);
247
248
249
private
:
250
MacCeListElement_s
m_bsr
;
251
252
253
};
254
}
// namespace ns3
255
256
#endif
/* LTE_CONTROL_MESSAGES_H */
257
src
lte
model
lte-control-messages.h
Generated on Fri Dec 21 2012 19:00:39 for ns-3 by
1.8.1.2