22 #include "ss-record.h"
23 #include "service-flow.h"
28 SSRecord::SSRecord (
void)
33 SSRecord::SSRecord (Mac48Address macAddress)
35 m_macAddress = macAddress;
39 SSRecord::SSRecord (Mac48Address macAddress, Ipv4Address IPaddress)
41 m_macAddress = macAddress;
42 m_IPAddress = IPaddress;
47 SSRecord::Initialize (
void)
50 m_primaryCid = Cid ();
52 m_rangingCorrectionRetries = 0;
53 m_invitedRangingRetries = 0;
54 m_modulationType = WimaxPhy::MODULATION_TYPE_BPSK_12;
55 m_rangingStatus = WimaxNetDevice::RANGING_STATUS_EXPIRED;
56 m_pollForRanging =
false;
57 m_areServiceFlowsAllocated =
false;
60 m_sfTransactionId = 0;
63 m_serviceFlows =
new std::vector<ServiceFlow*> ();
68 SSRecord::~SSRecord (
void)
70 delete m_serviceFlows;
75 SSRecord::SetIPAddress (Ipv4Address IPAddress)
77 m_IPAddress = IPAddress;
80 Ipv4Address SSRecord::GetIPAddress (
void)
86 SSRecord::SetBasicCid (Cid basicCid)
88 m_basicCid = basicCid;
92 SSRecord::GetBasicCid (
void)
const
98 SSRecord::SetPrimaryCid (Cid primaryCid)
100 m_primaryCid = primaryCid;
104 SSRecord::GetPrimaryCid (
void)
const
110 SSRecord::SetMacAddress (Mac48Address macAddress)
112 m_macAddress = macAddress;
116 SSRecord::GetMacAddress (
void)
const
122 SSRecord::GetRangingCorrectionRetries (
void)
const
124 return m_rangingCorrectionRetries;
128 SSRecord::ResetRangingCorrectionRetries (
void)
130 m_rangingCorrectionRetries = 0;
134 SSRecord::IncrementRangingCorrectionRetries (
void)
136 m_rangingCorrectionRetries++;
140 SSRecord::GetInvitedRangRetries (
void)
const
142 return m_invitedRangingRetries;
146 SSRecord::ResetInvitedRangingRetries (
void)
148 m_invitedRangingRetries = 0;
152 SSRecord::IncrementInvitedRangingRetries (
void)
154 m_invitedRangingRetries++;
158 SSRecord::SetModulationType (WimaxPhy::ModulationType modulationType)
160 m_modulationType = modulationType;
163 WimaxPhy::ModulationType
164 SSRecord::GetModulationType (
void)
const
166 return m_modulationType;
170 SSRecord::SetRangingStatus (WimaxNetDevice::RangingStatus rangingStatus)
172 m_rangingStatus = rangingStatus;
175 WimaxNetDevice::RangingStatus
176 SSRecord::GetRangingStatus (
void)
const
178 return m_rangingStatus;
182 SSRecord::EnablePollForRanging (
void)
184 m_pollForRanging =
true;
188 SSRecord::DisablePollForRanging (
void)
190 m_pollForRanging =
false;
194 SSRecord::GetPollForRanging (
void)
const
196 return m_pollForRanging;
200 SSRecord::SetAreServiceFlowsAllocated (
bool val)
202 m_areServiceFlowsAllocated = val;
206 SSRecord::GetAreServiceFlowsAllocated (
void)
const
208 return m_areServiceFlowsAllocated;
212 SSRecord::SetPollMeBit (
bool pollMeBit)
214 m_pollMeBit = pollMeBit;
218 SSRecord::GetPollMeBit (
void)
const
224 SSRecord::AddServiceFlow (ServiceFlow *serviceFlow)
226 m_serviceFlows->push_back (serviceFlow);
229 std::vector<ServiceFlow*> SSRecord::GetServiceFlows (
enum ServiceFlow::SchedulingType schedulingType)
const
231 std::vector<ServiceFlow*> tmpServiceFlows;
232 for (std::vector<ServiceFlow*>::iterator iter = m_serviceFlows->begin (); iter != m_serviceFlows->end (); ++iter)
234 if (((*iter)->GetSchedulingType () == schedulingType) || (schedulingType == ServiceFlow::SF_TYPE_ALL))
236 tmpServiceFlows.push_back ((*iter));
239 return tmpServiceFlows;
243 SSRecord::SetIsBroadcastSS (
bool broadcast_enable)
245 m_broadcast = broadcast_enable;
249 SSRecord::GetIsBroadcastSS (
void)
255 SSRecord::GetHasServiceFlowUgs (
void)
const
257 for (std::vector<ServiceFlow*>::iterator iter = m_serviceFlows->begin (); iter != m_serviceFlows->end (); ++iter)
259 if ((*iter)->GetSchedulingType () == ServiceFlow::SF_TYPE_UGS)
268 SSRecord::GetHasServiceFlowRtps (
void)
const
270 for (std::vector<ServiceFlow*>::iterator iter = m_serviceFlows->begin (); iter != m_serviceFlows->end (); ++iter)
272 if ((*iter)->GetSchedulingType () == ServiceFlow::SF_TYPE_RTPS)
281 SSRecord::GetHasServiceFlowNrtps (
void)
const
283 for (std::vector<ServiceFlow*>::iterator iter = m_serviceFlows->begin (); iter != m_serviceFlows->end (); ++iter)
285 if ((*iter)->GetSchedulingType () == ServiceFlow::SF_TYPE_NRTPS)
294 SSRecord::GetHasServiceFlowBe (
void)
const
296 for (std::vector<ServiceFlow*>::iterator iter = m_serviceFlows->begin (); iter != m_serviceFlows->end (); ++iter)
298 if ((*iter)->GetSchedulingType () == ServiceFlow::SF_TYPE_BE)
307 SSRecord::SetSfTransactionId (uint16_t sfTransactionId)
309 m_sfTransactionId = sfTransactionId;
312 uint16_t SSRecord::GetSfTransactionId (
void)
const
314 return m_sfTransactionId;
318 SSRecord::SetDsaRspRetries (uint8_t dsaRspRetries)
320 m_dsaRspRetries = dsaRspRetries;
324 SSRecord::IncrementDsaRspRetries (
void)
330 SSRecord::GetDsaRspRetries (
void)
const
332 return m_dsaRspRetries;
336 SSRecord::SetDsaRsp (DsaRsp dsaRsp)
342 SSRecord::GetDsaRsp (
void)
const