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
ss-record.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2007,2008, 2009 INRIA, UDcast
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: Jahanzeb Farooq <jahanzeb.farooq@sophia.inria.fr>
19
* Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
20
*/
21
22
#ifndef SS_RECORD_H
23
#define SS_RECORD_H
24
25
#include <stdint.h>
26
#include <ostream>
27
#include "ns3/mac48-address.h"
28
#include "
wimax-connection.h
"
29
#include "
wimax-phy.h
"
30
#include "
wimax-net-device.h
"
31
#include "ns3/ipv4-address.h"
32
#include <stdint.h>
33
#include "
service-flow.h
"
34
35
namespace
ns3 {
36
37
class
ServiceFlow;
38
43
class
SSRecord
44
{
45
public
:
46
SSRecord
(
void
);
47
SSRecord
(
Mac48Address
macAddress);
48
SSRecord
(
Mac48Address
macAddress,
Ipv4Address
IPaddress);
49
~SSRecord
(
void
);
50
51
void
SetBasicCid
(
Cid
basicCid);
52
Cid
GetBasicCid
(
void
)
const
;
53
54
void
SetPrimaryCid
(
Cid
primaryCid);
55
Cid
GetPrimaryCid
(
void
)
const
;
56
57
void
SetMacAddress
(
Mac48Address
macAddress);
58
Mac48Address
GetMacAddress
(
void
)
const
;
59
60
uint8_t
GetRangingCorrectionRetries
(
void
)
const
;
61
void
ResetRangingCorrectionRetries
(
void
);
62
void
IncrementRangingCorrectionRetries
(
void
);
63
uint8_t
GetInvitedRangRetries
(
void
)
const
;
64
void
ResetInvitedRangingRetries
(
void
);
65
void
IncrementInvitedRangingRetries
(
void
);
66
void
SetModulationType
(
WimaxPhy::ModulationType
modulationType);
67
WimaxPhy::ModulationType
GetModulationType
(
void
)
const
;
68
69
void
SetRangingStatus
(
WimaxNetDevice::RangingStatus
rangingStatus);
70
WimaxNetDevice::RangingStatus
GetRangingStatus
(
void
)
const
;
71
72
void
EnablePollForRanging
(
void
);
73
void
DisablePollForRanging
(
void
);
74
bool
GetPollForRanging
(
void
)
const
;
75
76
bool
GetAreServiceFlowsAllocated
(
void
)
const
;
77
78
void
SetPollMeBit
(
bool
pollMeBit);
79
bool
GetPollMeBit
(
void
)
const
;
80
81
void
AddServiceFlow
(
ServiceFlow
*serviceFlow);
82
std::vector<ServiceFlow*>
GetServiceFlows
(
enum
ServiceFlow::SchedulingType
schedulingType)
const
;
83
bool
GetHasServiceFlowUgs
(
void
)
const
;
84
bool
GetHasServiceFlowRtps
(
void
)
const
;
85
bool
GetHasServiceFlowNrtps
(
void
)
const
;
86
bool
GetHasServiceFlowBe
(
void
)
const
;
87
88
void
SetSfTransactionId
(uint16_t sfTransactionId);
89
uint16_t
GetSfTransactionId
(
void
)
const
;
90
91
void
SetDsaRspRetries
(uint8_t dsaRspRetries);
92
void
IncrementDsaRspRetries
(
void
);
93
uint8_t
GetDsaRspRetries
(
void
)
const
;
94
95
void
SetDsaRsp
(
DsaRsp
dsaRsp);
96
DsaRsp
GetDsaRsp
(
void
)
const
;
97
void
SetIsBroadcastSS
(
bool
);
98
bool
GetIsBroadcastSS
(
void
);
99
100
Ipv4Address
GetIPAddress
(
void
);
101
void
SetIPAddress
(
Ipv4Address
IPaddress);
102
void
SetAreServiceFlowsAllocated
(
bool
val);
103
private
:
104
void
Initialize
(
void
);
105
106
Mac48Address
m_macAddress
;
107
Ipv4Address
m_IPAddress
;
108
109
Cid
m_basicCid
;
110
Cid
m_primaryCid
;
111
112
uint8_t
m_rangingCorrectionRetries
;
113
uint8_t
m_invitedRangingRetries
;
114
115
WimaxPhy::ModulationType
m_modulationType
;
// least robust burst profile (modulation type) for this SS
116
WimaxNetDevice::RangingStatus
m_rangingStatus
;
117
bool
m_pollForRanging
;
118
bool
m_areServiceFlowsAllocated
;
119
bool
m_pollMeBit
;
// if PM (poll me) bit set for this SS
120
bool
m_broadcast
;
121
122
std::vector<ServiceFlow*> *
m_serviceFlows
;
123
124
// fields for service flow creation
125
uint16_t
m_sfTransactionId
;
126
uint8_t
m_dsaRspRetries
;
127
DsaRsp
m_dsaRsp
;
128
};
129
130
}
// namespace ns3
131
132
#endif
/* SS_RECORD_H */
src
wimax
model
ss-record.h
Generated on Tue Oct 9 2012 16:45:50 for ns-3 by
1.8.1.2