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
ideal-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 IDEAL_CONTROL_MESSAGES_H
23
#define IDEAL_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
IdealControlMessage
:
public
SimpleRefCount
<IdealControlMessage>
42
{
43
public
:
47
enum
MessageType
48
{
49
CQI_FEEDBACKS
,
ALLOCATION_MAP
,
50
DL_DCI
,
UL_DCI
,
// Downlink/Uplink Data Control Indicator
51
DL_CQI
,
UL_CQI
,
// Downlink/Uplink Channel Quality Indicator
52
BSR
// Buffer Status Report
53
};
54
55
IdealControlMessage
(
void
);
56
virtual
~IdealControlMessage
(
void
);
57
62
void
SetSourceDevice
(
Ptr<LteNetDevice>
src);
67
void
SetDestinationDevice
(
Ptr<LteNetDevice>
dst);
68
73
Ptr<LteNetDevice>
GetSourceDevice
(
void
);
78
Ptr<LteNetDevice>
GetDestinationDevice
(
void
);
79
84
void
SetMessageType
(
MessageType
type);
89
MessageType
GetMessageType
(
void
);
90
91
private
:
92
Ptr<LteNetDevice>
m_source
;
93
Ptr<LteNetDevice>
m_destination
;
94
MessageType
m_type
;
95
};
96
}
// namespace ns3
97
98
#endif
/* IDEAL_CONTROL_MESSAGES_H */
99
100
101
102
103
// ----------------------------------------------------------------------------------------------------------
104
105
106
#ifndef DL_DCI_IDEAL_CONTROL_MESSAGES_H
107
#define DL_DCI_IDEAL_CONTROL_MESSAGES_H
108
109
#include <ns3/object.h>
110
#include <ns3/ff-mac-common.h>
111
112
namespace
ns3 {
113
119
class
DlDciIdealControlMessage
:
public
IdealControlMessage
120
{
121
public
:
122
DlDciIdealControlMessage
(
void
);
123
virtual
~DlDciIdealControlMessage
(
void
);
124
129
void
SetDci
(
DlDciListElement_s
dci);
130
135
DlDciListElement_s
GetDci
(
void
);
136
137
138
private
:
139
DlDciListElement_s
m_dci
;
140
};
141
}
// namespace ns3
142
143
#endif
/* DL_DCI_IDEAL_CONTROL_MESSAGES_H */
144
145
146
// ----------------------------------------------------------------------------------------------------------
147
148
149
#ifndef UL_DCI_IDEAL_CONTROL_MESSAGES_H
150
#define UL_DCI_IDEAL_CONTROL_MESSAGES_H
151
152
#include <ns3/object.h>
153
#include <ns3/ff-mac-common.h>
154
155
namespace
ns3 {
156
162
class
UlDciIdealControlMessage
:
public
IdealControlMessage
163
{
164
public
:
165
UlDciIdealControlMessage
(
void
);
166
virtual
~UlDciIdealControlMessage
(
void
);
167
172
void
SetDci
(
UlDciListElement_s
dci);
173
178
UlDciListElement_s
GetDci
(
void
);
179
180
181
private
:
182
UlDciListElement_s
m_dci
;
183
};
184
}
// namespace ns3
185
186
#endif
/* UL_DCI_IDEAL_CONTROL_MESSAGES_H */
187
188
189
190
// ----------------------------------------------------------------------------------------------------------
191
192
193
194
#ifndef DLCQI_IDEAL_CONTROL_MESSAGES_H
195
#define DLCQI_IDEAL_CONTROL_MESSAGES_H
196
197
#include <ns3/object.h>
198
#include <ns3/ff-mac-common.h>
199
200
namespace
ns3 {
201
202
class
LteNetDevice;
203
209
class
DlCqiIdealControlMessage
:
public
IdealControlMessage
210
{
211
public
:
212
DlCqiIdealControlMessage
(
void
);
213
virtual
~DlCqiIdealControlMessage
(
void
);
214
219
void
SetDlCqi
(
CqiListElement_s
dlcqi);
220
225
CqiListElement_s
GetDlCqi
(
void
);
226
227
228
private
:
229
CqiListElement_s
m_dlCqi
;
230
};
231
}
// namespace ns3
232
233
#endif
/* DLCQI_IDEAL_CONTROL_MESSAGES_H */
234
235
236
// ----------------------------------------------------------------------------------------------------------
237
238
#ifndef BSR_IDEAL_CONTROL_MESSAGES_H
239
#define BSR_IDEAL_CONTROL_MESSAGES_H
240
241
#include <ns3/object.h>
242
#include <ns3/ff-mac-common.h>
243
244
namespace
ns3 {
245
246
class
LteNetDevice;
247
253
class
BsrIdealControlMessage
:
public
IdealControlMessage
254
{
255
public
:
256
BsrIdealControlMessage
(
void
);
257
virtual
~BsrIdealControlMessage
(
void
);
258
263
void
SetBsr
(
MacCeListElement_s
ulcqi);
264
269
MacCeListElement_s
GetBsr
(
void
);
270
271
272
private
:
273
MacCeListElement_s
m_bsr
;
274
275
276
};
277
}
// namespace ns3
278
279
#endif
/* BSR_IDEAL_CONTROL_MESSAGES_H */
280
src
lte
model
ideal-control-messages.h
Generated on Tue Oct 9 2012 16:45:40 for ns-3 by
1.8.1.2