A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::ServiceFlow Class Reference

This class implements service flows as described by the IEEE-802.16 standard. More...

#include <service-flow.h>

+ Collaboration diagram for ns3::ServiceFlow:

Public Types

enum  CsSpecification {
  ATM = 99, IPV4 = 100, IPV6 = 101, ETHERNET = 102,
  VLAN = 103, IPV4_OVER_ETHERNET = 104, IPV6_OVER_ETHERNET = 105, IPV4_OVER_VLAN = 106,
  IPV6_OVER_VLAN = 107
}
 
enum  Direction { SF_DIRECTION_DOWN, SF_DIRECTION_UP }
 
enum  ModulationType {
  MODULATION_TYPE_BPSK_12, MODULATION_TYPE_QPSK_12, MODULATION_TYPE_QPSK_34, MODULATION_TYPE_QAM16_12,
  MODULATION_TYPE_QAM16_34, MODULATION_TYPE_QAM64_23, MODULATION_TYPE_QAM64_34
}
 
enum  SchedulingType {
  SF_TYPE_NONE = 0, SF_TYPE_UNDEF = 1, SF_TYPE_BE = 2, SF_TYPE_NRTPS = 3,
  SF_TYPE_RTPS = 4, SF_TYPE_UGS = 6, SF_TYPE_ALL = 255
}
 
enum  Type { SF_TYPE_PROVISIONED, SF_TYPE_ADMITTED, SF_TYPE_ACTIVE }
 

Public Member Functions

 ServiceFlow (Tlv tlv)
 creates a service flow from a TLV More...
 
 ServiceFlow (enum Direction direction)
 
 ServiceFlow ()
 
 ServiceFlow (const ServiceFlow &sf)
 
 ServiceFlow (uint32_t sfid, enum Direction direction, Ptr< WimaxConnection > connection)
 
 ~ServiceFlow (void)
 
bool CheckClassifierMatch (Ipv4Address srcAddress, Ipv4Address dstAddress, uint16_t srcPort, uint16_t dstPort, uint8_t proto) const
 
void CleanUpQueue (void)
 
void CopyParametersFrom (ServiceFlow sf)
 
uint16_t GetArqBlockLifeTime (void) const
 
uint16_t GetArqBlockSize (void) const
 
uint8_t GetArqDeliverInOrder (void) const
 
uint8_t GetArqEnable (void) const
 
uint16_t GetArqPurgeTimeout (void) const
 
uint16_t GetArqRetryTimeoutRx (void) const
 
uint16_t GetArqRetryTimeoutTx (void) const
 
uint16_t GetArqSyncLoss (void) const
 
uint16_t GetArqWindowSize (void) const
 
uint16_t GetCid (void) const
 
Ptr< WimaxConnectionGetConnection (void) const
 
CsParameters GetConvergenceSublayerParam (void) const
 
enum CsSpecification GetCsSpecification (void) const
 
enum Direction GetDirection (void) const
 
uint8_t GetFixedversusVariableSduIndicator (void) const
 
bool GetIsEnabled (void) const
 
bool GetIsMulticast (void) const
 
uint32_t GetMaximumLatency (void) const
 
uint32_t GetMaxSustainedTrafficRate (void) const
 
uint32_t GetMaxTrafficBurst (void) const
 
uint32_t GetMinReservedTrafficRate (void) const
 
uint32_t GetMinTolerableTrafficRate (void) const
 
enum WimaxPhy::ModulationType GetModulation (void) const
 
uint8_t GetQosParamSetType (void) const
 
Ptr< WimaxMacQueueGetQueue (void) const
 
ServiceFlowRecordGetRecord (void) const
 
uint32_t GetRequestTransmissionPolicy (void) const
 
enum ServiceFlow::SchedulingType GetSchedulingType (void) const
 
char * GetSchedulingTypeStr (void) const
 
uint8_t GetSduSize (void) const
 
std::string GetServiceClassName () const
 
enum ServiceFlow::SchedulingType GetServiceSchedulingType (void) const
 
uint32_t GetSfid (void) const
 
uint16_t GetTargetSAID (void) const
 
uint32_t GetToleratedJitter (void) const
 
uint8_t GetTrafficPriority (void) const
 
enum Type GetType (void) const
 
uint16_t GetUnsolicitedGrantInterval (void) const
 
uint16_t GetUnsolicitedPollingInterval (void) const
 
bool HasPackets (void) const
 
bool HasPackets (MacHeaderType::HeaderType packetType) const
 
void InitValues (void)
 
ServiceFlowoperator= (ServiceFlow const &o)
 
void PrintQoSParameters (void) const
 
void SetArqBlockLifeTime (uint16_t)
 
void SetArqBlockSize (uint16_t)
 
void SetArqDeliverInOrder (uint8_t)
 
void SetArqEnable (uint8_t)
 
void SetArqPurgeTimeout (uint16_t)
 
void SetArqRetryTimeoutRx (uint16_t)
 
void SetArqRetryTimeoutTx (uint16_t)
 
void SetArqSyncLoss (uint16_t)
 
void SetArqWindowSize (uint16_t)
 
void SetConnection (Ptr< WimaxConnection > connection)
 
void SetConvergenceSublayerParam (CsParameters)
 
void SetCsSpecification (enum CsSpecification)
 
void SetDirection (enum Direction direction)
 
void SetFixedversusVariableSduIndicator (uint8_t)
 
void SetIsEnabled (bool isEnabled)
 
void SetIsMulticast (bool isMulticast)
 
void SetMaximumLatency (uint32_t)
 
void SetMaxSustainedTrafficRate (uint32_t)
 
void SetMaxTrafficBurst (uint32_t)
 
void SetMinReservedTrafficRate (uint32_t)
 
void SetMinTolerableTrafficRate (uint32_t)
 
void SetModulation (enum WimaxPhy::ModulationType modulationType)
 
void SetQosParamSetType (uint8_t)
 
void SetRecord (ServiceFlowRecord *record)
 
void SetRequestTransmissionPolicy (uint32_t)
 
void SetSduSize (uint8_t)
 
void SetServiceClassName (std::string)
 
void SetServiceSchedulingType (enum ServiceFlow::SchedulingType)
 
void SetSfid (uint32_t)
 
void SetTargetSAID (uint16_t)
 
void SetToleratedJitter (uint32_t)
 
void SetTrafficPriority (uint8_t)
 
void SetType (enum Type type)
 
void SetUnsolicitedGrantInterval (uint16_t)
 
void SetUnsolicitedPollingInterval (uint16_t)
 
Tlv ToTlv (void) const
 creates a TLV from this service flow More...
 

Private Attributes

uint16_t m_arqBlockLifeTime
 
uint16_t m_arqBlockSize
 
uint8_t m_arqDeliverInOrder
 
uint8_t m_arqEnable
 
uint16_t m_arqPurgeTimeout
 
uint16_t m_arqRetryTimeoutRx
 
uint16_t m_arqRetryTimeoutTx
 
uint16_t m_arqSyncLoss
 
uint16_t m_arqWindowSize
 
Ptr< WimaxConnectionm_connection
 
CsParameters m_convergenceSublayerParam
 
enum CsSpecification m_csSpecification
 
Direction m_direction
 
uint8_t m_fixedversusVariableSduIndicator
 
bool m_isEnabled
 
bool m_isMulticast
 
uint32_t m_maximumLatency
 
uint32_t m_maxSustainedTrafficRate
 
uint32_t m_maxTrafficBurst
 
uint32_t m_minReservedTrafficRate
 
uint32_t m_minTolerableTrafficRate
 
enum WimaxPhy::ModulationType m_modulationType
 
uint8_t m_qosParamSetType
 
ServiceFlowRecordm_record
 
uint32_t m_requestTransmissionPolicy
 
enum ServiceFlow::SchedulingType m_schedulingType
 
uint8_t m_sduSize
 
std::string m_serviceClassName
 
uint32_t m_sfid
 
uint16_t m_targetSAID
 
uint32_t m_toleratedJitter
 
uint8_t m_trafficPriority
 
Type m_type
 
uint16_t m_unsolicitedGrantInterval
 
uint16_t m_unsolicitedPollingInterval
 

Detailed Description

This class implements service flows as described by the IEEE-802.16 standard.

Definition at line 39 of file service-flow.h.

Member Enumeration Documentation

Enumerator
ATM 
IPV4 
IPV6 
ETHERNET 
VLAN 
IPV4_OVER_ETHERNET 
IPV6_OVER_ETHERNET 
IPV4_OVER_VLAN 
IPV6_OVER_VLAN 

Definition at line 59 of file service-flow.h.

Enumerator
SF_DIRECTION_DOWN 
SF_DIRECTION_UP 

Definition at line 42 of file service-flow.h.

Enumerator
MODULATION_TYPE_BPSK_12 
MODULATION_TYPE_QPSK_12 
MODULATION_TYPE_QPSK_34 
MODULATION_TYPE_QAM16_12 
MODULATION_TYPE_QAM16_34 
MODULATION_TYPE_QAM64_23 
MODULATION_TYPE_QAM64_34 

Definition at line 65 of file service-flow.h.

Enumerator
SF_TYPE_NONE 
SF_TYPE_UNDEF 
SF_TYPE_BE 
SF_TYPE_NRTPS 
SF_TYPE_RTPS 
SF_TYPE_UGS 
SF_TYPE_ALL 

Definition at line 53 of file service-flow.h.

Enumerator
SF_TYPE_PROVISIONED 
SF_TYPE_ADMITTED 
SF_TYPE_ACTIVE 

Definition at line 47 of file service-flow.h.

Constructor & Destructor Documentation

ns3::ServiceFlow::ServiceFlow ( Tlv  tlv)

creates a service flow from a TLV

Parameters
tlvthe tlv from which the service flow will be created

Definition at line 71 of file service-flow.cc.

References ns3::SfVectorTlvValue::CID, ns3::SfVectorTlvValue::CS_Specification, ns3::Tlv::DOWNLINK_SERVICE_FLOW, ns3::SfVectorTlvValue::Fixed_length_versus_Variable_length_SDU_Indicator, ns3::Tlv::GetType(), InitValues(), ns3::SfVectorTlvValue::IPV4_CS_Parameters, m_connection, m_convergenceSublayerParam, m_csSpecification, m_direction, m_fixedversusVariableSduIndicator, m_isEnabled, m_isMulticast, m_maximumLatency, m_maxSustainedTrafficRate, m_maxTrafficBurst, m_minReservedTrafficRate, m_minTolerableTrafficRate, m_modulationType, m_qosParamSetType, m_record, m_requestTransmissionPolicy, m_schedulingType, m_sfid, m_toleratedJitter, m_trafficPriority, ns3::SfVectorTlvValue::Maximum_Latency, ns3::SfVectorTlvValue::Maximum_Sustained_Traffic_Rate, ns3::SfVectorTlvValue::Maximum_Traffic_Burst, ns3::SfVectorTlvValue::Minimum_Reserved_Traffic_Rate, ns3::SfVectorTlvValue::Minimum_Tolerable_Traffic_Rate, ns3::WimaxPhy::MODULATION_TYPE_QPSK_12, NS_ASSERT_MSG, ns3::Tlv::PeekValue(), ns3::SfVectorTlvValue::QoS_Parameter_Set_Type, ns3::SfVectorTlvValue::Request_Transmission_Policy, ns3::SfVectorTlvValue::Service_Flow_Scheduling_Type, SF_DIRECTION_DOWN, SF_DIRECTION_UP, ns3::SfVectorTlvValue::SFID, ns3::SfVectorTlvValue::Tolerated_Jitter, ns3::SfVectorTlvValue::Traffic_Priority, ns3::Cid::TRANSPORT, and ns3::Tlv::UPLINK_SERVICE_FLOW.

+ Here is the call graph for this function:

ns3::ServiceFlow::ServiceFlow ( enum Direction  direction)
ns3::ServiceFlow::ServiceFlow ( )

Definition at line 43 of file service-flow.cc.

References InitValues(), m_isMulticast, m_modulationType, and ns3::WimaxPhy::MODULATION_TYPE_QPSK_12.

+ Here is the call graph for this function:

ns3::ServiceFlow::ServiceFlow ( uint32_t  sfid,
enum Direction  direction,
Ptr< WimaxConnection connection 
)
ns3::ServiceFlow::~ServiceFlow ( void  )

Definition at line 180 of file service-flow.cc.

References m_connection, and m_record.

Member Function Documentation

bool ns3::ServiceFlow::CheckClassifierMatch ( Ipv4Address  srcAddress,
Ipv4Address  dstAddress,
uint16_t  srcPort,
uint16_t  dstPort,
uint8_t  proto 
) const
Returns
true if the passed parameters match the classifier of the service flow, false otherwise
Parameters
srcAddressthe source ip address
dstAddressthe destination ip address
srcPortthe source port
dstPortthe destination port
protothe layer 4 protocol

Definition at line 837 of file service-flow.cc.

References ns3::IpcsClassifierRecord::CheckMatch(), ns3::CsParameters::GetPacketClassifierRule(), and m_convergenceSublayerParam.

+ Here is the call graph for this function:

void ns3::ServiceFlow::CleanUpQueue ( void  )

Definition at line 288 of file service-flow.cc.

References GetMaximumLatency(), m_connection, and ns3::Simulator::Now().

+ Here is the call graph for this function:

uint16_t ns3::ServiceFlow::GetArqBlockLifeTime ( void  ) const

Definition at line 425 of file service-flow.cc.

References m_arqBlockLifeTime.

uint16_t ns3::ServiceFlow::GetArqBlockSize ( void  ) const

Definition at line 445 of file service-flow.cc.

References m_arqBlockSize.

uint8_t ns3::ServiceFlow::GetArqDeliverInOrder ( void  ) const

Definition at line 435 of file service-flow.cc.

References m_arqDeliverInOrder.

uint8_t ns3::ServiceFlow::GetArqEnable ( void  ) const

Definition at line 404 of file service-flow.cc.

References m_arqEnable.

Referenced by CopyParametersFrom(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

uint16_t ns3::ServiceFlow::GetArqPurgeTimeout ( void  ) const

Definition at line 440 of file service-flow.cc.

References m_arqPurgeTimeout.

uint16_t ns3::ServiceFlow::GetArqRetryTimeoutRx ( void  ) const

Definition at line 419 of file service-flow.cc.

References m_arqRetryTimeoutRx.

Referenced by CopyParametersFrom(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

uint16_t ns3::ServiceFlow::GetArqRetryTimeoutTx ( void  ) const

Definition at line 414 of file service-flow.cc.

References m_arqRetryTimeoutTx.

Referenced by CopyParametersFrom(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

uint16_t ns3::ServiceFlow::GetArqSyncLoss ( void  ) const

Definition at line 430 of file service-flow.cc.

References m_arqSyncLoss.

uint16_t ns3::ServiceFlow::GetArqWindowSize ( void  ) const

Definition at line 409 of file service-flow.cc.

References m_arqWindowSize.

Referenced by CopyParametersFrom(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

uint16_t ns3::ServiceFlow::GetCid ( void  ) const

Definition at line 325 of file service-flow.cc.

References m_connection.

Referenced by ns3::SubscriberStationNetDevice::DoSend(), ns3::BsServiceFlowManager::ProcessDsaReq(), ns3::SsServiceFlowManager::ProcessDsaRsp(), and ToTlv().

+ Here is the caller graph for this function:

CsParameters ns3::ServiceFlow::GetConvergenceSublayerParam ( void  ) const

Definition at line 455 of file service-flow.cc.

References m_convergenceSublayerParam.

Referenced by CopyParametersFrom(), operator=(), ns3::BsServiceFlowManager::ProcessDsaReq(), and ServiceFlow().

+ Here is the caller graph for this function:

enum ServiceFlow::CsSpecification ns3::ServiceFlow::GetCsSpecification ( void  ) const

Definition at line 450 of file service-flow.cc.

References m_csSpecification.

Referenced by CopyParametersFrom(), DsaRequestTestCase::DoRun(), Ns3WimaxSfTlvTestCase::DoRun(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

ServiceFlow::Direction ns3::ServiceFlow::GetDirection ( void  ) const

Definition at line 197 of file service-flow.cc.

References m_direction.

Referenced by CopyParametersFrom(), DsaRequestTestCase::DoRun(), Ns3WimaxSfTlvTestCase::DoRun(), operator=(), ns3::BsServiceFlowManager::ProcessDsaReq(), and ServiceFlow().

+ Here is the caller graph for this function:

uint8_t ns3::ServiceFlow::GetFixedversusVariableSduIndicator ( void  ) const

Definition at line 389 of file service-flow.cc.

References m_fixedversusVariableSduIndicator.

Referenced by CopyParametersFrom(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

bool ns3::ServiceFlow::GetIsEnabled ( void  ) const

Definition at line 234 of file service-flow.cc.

References m_isEnabled.

Referenced by ns3::SubscriberStationNetDevice::DoSend(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

bool ns3::ServiceFlow::GetIsMulticast ( void  ) const
uint32_t ns3::ServiceFlow::GetMaximumLatency ( void  ) const
uint32_t ns3::ServiceFlow::GetMaxSustainedTrafficRate ( void  ) const

Definition at line 349 of file service-flow.cc.

References m_maxSustainedTrafficRate.

Referenced by CopyParametersFrom(), DsaRequestTestCase::DoRun(), Ns3WimaxSfTlvTestCase::DoRun(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

uint32_t ns3::ServiceFlow::GetMaxTrafficBurst ( void  ) const

Definition at line 354 of file service-flow.cc.

References m_maxTrafficBurst.

Referenced by CopyParametersFrom(), DsaRequestTestCase::DoRun(), Ns3WimaxSfTlvTestCase::DoRun(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

uint32_t ns3::ServiceFlow::GetMinTolerableTrafficRate ( void  ) const

Definition at line 364 of file service-flow.cc.

References m_minTolerableTrafficRate.

Referenced by CopyParametersFrom(), DsaRequestTestCase::DoRun(), Ns3WimaxSfTlvTestCase::DoRun(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

enum WimaxPhy::ModulationType ns3::ServiceFlow::GetModulation ( void  ) const
uint8_t ns3::ServiceFlow::GetQosParamSetType ( void  ) const

Definition at line 339 of file service-flow.cc.

References m_qosParamSetType.

Referenced by CopyParametersFrom(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

Ptr< WimaxMacQueue > ns3::ServiceFlow::GetQueue ( void  ) const

Definition at line 252 of file service-flow.cc.

References m_connection.

Referenced by ns3::BandwidthManager::SelectFlowForRequest().

+ Here is the caller graph for this function:

uint32_t ns3::ServiceFlow::GetRequestTransmissionPolicy ( void  ) const

Definition at line 374 of file service-flow.cc.

References m_requestTransmissionPolicy.

Referenced by CopyParametersFrom(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

std::string ns3::ServiceFlow::GetServiceClassName ( ) const

Definition at line 334 of file service-flow.cc.

References m_serviceClassName.

Referenced by CopyParametersFrom(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

enum ServiceFlow::SchedulingType ns3::ServiceFlow::GetServiceSchedulingType ( void  ) const

Definition at line 369 of file service-flow.cc.

References m_schedulingType.

Referenced by CopyParametersFrom(), DsaRequestTestCase::DoRun(), Ns3WimaxSfTlvTestCase::DoRun(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

uint16_t ns3::ServiceFlow::GetTargetSAID ( void  ) const

Definition at line 399 of file service-flow.cc.

References m_targetSAID.

Referenced by CopyParametersFrom(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

uint32_t ns3::ServiceFlow::GetToleratedJitter ( void  ) const
uint8_t ns3::ServiceFlow::GetTrafficPriority ( void  ) const

Definition at line 344 of file service-flow.cc.

References m_trafficPriority.

Referenced by CopyParametersFrom(), DsaRequestTestCase::DoRun(), Ns3WimaxSfTlvTestCase::DoRun(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

ServiceFlow::Type ns3::ServiceFlow::GetType ( void  ) const

Definition at line 209 of file service-flow.cc.

References m_type.

Referenced by operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

uint16_t ns3::ServiceFlow::GetUnsolicitedGrantInterval ( void  ) const

Definition at line 460 of file service-flow.cc.

References m_unsolicitedGrantInterval.

Referenced by ns3::BandwidthManager::CalculateAllocationSize(), CopyParametersFrom(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

uint16_t ns3::ServiceFlow::GetUnsolicitedPollingInterval ( void  ) const
bool ns3::ServiceFlow::HasPackets ( void  ) const

Definition at line 268 of file service-flow.cc.

References m_connection.

Referenced by ns3::BSSchedulerSimple::CreateUgsBurst(), ns3::BSSchedulerRtps::CreateUgsBurst(), and ns3::BandwidthManager::SelectFlowForRequest().

+ Here is the caller graph for this function:

bool ns3::ServiceFlow::HasPackets ( MacHeaderType::HeaderType  packetType) const

Definition at line 278 of file service-flow.cc.

References m_connection.

void ns3::ServiceFlow::PrintQoSParameters ( void  ) const

Definition at line 313 of file service-flow.cc.

void ns3::ServiceFlow::SetArqBlockLifeTime ( uint16_t  lifeTime)

Definition at line 580 of file service-flow.cc.

References m_arqBlockLifeTime.

void ns3::ServiceFlow::SetArqBlockSize ( uint16_t  size)

Definition at line 600 of file service-flow.cc.

References m_arqBlockSize.

void ns3::ServiceFlow::SetArqDeliverInOrder ( uint8_t  inOrder)

Definition at line 590 of file service-flow.cc.

References m_arqDeliverInOrder.

void ns3::ServiceFlow::SetArqEnable ( uint8_t  arqEnable)

Definition at line 560 of file service-flow.cc.

References m_arqEnable.

void ns3::ServiceFlow::SetArqPurgeTimeout ( uint16_t  timeout)

Definition at line 595 of file service-flow.cc.

References m_arqPurgeTimeout, and timeout.

void ns3::ServiceFlow::SetArqRetryTimeoutRx ( uint16_t  timeout)

Definition at line 575 of file service-flow.cc.

References m_arqRetryTimeoutRx, and timeout.

void ns3::ServiceFlow::SetArqRetryTimeoutTx ( uint16_t  timeout)

Definition at line 570 of file service-flow.cc.

References m_arqRetryTimeoutTx, and timeout.

void ns3::ServiceFlow::SetArqSyncLoss ( uint16_t  syncLoss)

Definition at line 585 of file service-flow.cc.

References m_arqSyncLoss.

void ns3::ServiceFlow::SetArqWindowSize ( uint16_t  arqWindowSize)

Definition at line 565 of file service-flow.cc.

References m_arqWindowSize.

void ns3::ServiceFlow::SetConnection ( Ptr< WimaxConnection connection)

Definition at line 215 of file service-flow.cc.

References m_connection.

Referenced by ns3::BsServiceFlowManager::AddMulticastServiceFlow(), and ns3::SsServiceFlowManager::ProcessDsaRsp().

+ Here is the caller graph for this function:

void ns3::ServiceFlow::SetConvergenceSublayerParam ( CsParameters  csparam)
void ns3::ServiceFlow::SetCsSpecification ( enum  CsSpecification)

Definition at line 605 of file service-flow.cc.

References m_csSpecification.

Referenced by ns3::WimaxHelper::CreateServiceFlow(), DsaRequestTestCase::DoRun(), Ns3WimaxSfCreationTestCase::DoRun(), and Ns3WimaxSfTlvTestCase::DoRun().

+ Here is the caller graph for this function:

void ns3::ServiceFlow::SetDirection ( enum Direction  direction)

Definition at line 191 of file service-flow.cc.

References m_direction.

void ns3::ServiceFlow::SetFixedversusVariableSduIndicator ( uint8_t  sduIndicator)

Definition at line 545 of file service-flow.cc.

References m_fixedversusVariableSduIndicator.

void ns3::ServiceFlow::SetIsEnabled ( bool  isEnabled)

Definition at line 228 of file service-flow.cc.

References m_isEnabled.

Referenced by ns3::BsServiceFlowManager::AddMulticastServiceFlow(), ns3::SsServiceFlowManager::ProcessDsaRsp(), and ns3::BsServiceFlowManager::ScheduleDsaRsp().

+ Here is the caller graph for this function:

void ns3::ServiceFlow::SetIsMulticast ( bool  isMulticast)

Definition at line 625 of file service-flow.cc.

References m_isMulticast.

Referenced by ns3::BsServiceFlowManager::AddMulticastServiceFlow().

+ Here is the caller graph for this function:

void ns3::ServiceFlow::SetMaximumLatency ( uint32_t  MaximumLatency)

Definition at line 540 of file service-flow.cc.

References m_maximumLatency.

Referenced by ns3::WimaxHelper::CreateServiceFlow(), DsaRequestTestCase::DoRun(), Ns3WimaxSfCreationTestCase::DoRun(), and Ns3WimaxSfTlvTestCase::DoRun().

+ Here is the caller graph for this function:

void ns3::ServiceFlow::SetMaxSustainedTrafficRate ( uint32_t  maxSustainedRate)
void ns3::ServiceFlow::SetMaxTrafficBurst ( uint32_t  maxTrafficBurst)

Definition at line 510 of file service-flow.cc.

References m_maxTrafficBurst.

Referenced by ns3::WimaxHelper::CreateServiceFlow(), DsaRequestTestCase::DoRun(), Ns3WimaxSfCreationTestCase::DoRun(), and Ns3WimaxSfTlvTestCase::DoRun().

+ Here is the caller graph for this function:

void ns3::ServiceFlow::SetMinReservedTrafficRate ( uint32_t  minResvRate)

Definition at line 515 of file service-flow.cc.

References m_minReservedTrafficRate.

Referenced by ns3::WimaxHelper::CreateServiceFlow(), DsaRequestTestCase::DoRun(), Ns3WimaxSfCreationTestCase::DoRun(), and Ns3WimaxSfTlvTestCase::DoRun().

+ Here is the caller graph for this function:

void ns3::ServiceFlow::SetMinTolerableTrafficRate ( uint32_t  minJitter)
void ns3::ServiceFlow::SetModulation ( enum WimaxPhy::ModulationType  modulationType)

Definition at line 630 of file service-flow.cc.

References m_modulationType.

Referenced by ns3::BsServiceFlowManager::AddMulticastServiceFlow().

+ Here is the caller graph for this function:

void ns3::ServiceFlow::SetQosParamSetType ( uint8_t  type)

Definition at line 495 of file service-flow.cc.

References m_qosParamSetType.

void ns3::ServiceFlow::SetRecord ( ServiceFlowRecord record)

Definition at line 240 of file service-flow.cc.

References m_record.

void ns3::ServiceFlow::SetRequestTransmissionPolicy ( uint32_t  policy)

Definition at line 530 of file service-flow.cc.

References m_requestTransmissionPolicy.

Referenced by ns3::WimaxHelper::CreateServiceFlow().

+ Here is the caller graph for this function:

void ns3::ServiceFlow::SetSduSize ( uint8_t  sduSize)

Definition at line 550 of file service-flow.cc.

References m_sduSize.

Referenced by ns3::WimaxHelper::CreateServiceFlow().

+ Here is the caller graph for this function:

void ns3::ServiceFlow::SetServiceClassName ( std::string  name)

Definition at line 490 of file service-flow.cc.

References m_serviceClassName.

void ns3::ServiceFlow::SetServiceSchedulingType ( enum ServiceFlow::SchedulingType  schedType)

Definition at line 525 of file service-flow.cc.

References m_schedulingType.

Referenced by ns3::WimaxHelper::CreateServiceFlow(), DsaRequestTestCase::DoRun(), Ns3WimaxSfCreationTestCase::DoRun(), and Ns3WimaxSfTlvTestCase::DoRun().

+ Here is the caller graph for this function:

void ns3::ServiceFlow::SetSfid ( uint32_t  sfid)

Definition at line 485 of file service-flow.cc.

References m_sfid.

Referenced by DsaRequestTestCase::DoRun(), and Ns3WimaxSfTlvTestCase::DoRun().

+ Here is the caller graph for this function:

void ns3::ServiceFlow::SetTargetSAID ( uint16_t  targetSaid)

Definition at line 555 of file service-flow.cc.

References m_targetSAID.

void ns3::ServiceFlow::SetToleratedJitter ( uint32_t  jitter)

Definition at line 535 of file service-flow.cc.

References m_toleratedJitter.

Referenced by ns3::WimaxHelper::CreateServiceFlow().

+ Here is the caller graph for this function:

void ns3::ServiceFlow::SetTrafficPriority ( uint8_t  priority)

Definition at line 500 of file service-flow.cc.

References m_trafficPriority.

Referenced by ns3::WimaxHelper::CreateServiceFlow(), DsaRequestTestCase::DoRun(), Ns3WimaxSfCreationTestCase::DoRun(), and Ns3WimaxSfTlvTestCase::DoRun().

+ Here is the caller graph for this function:

void ns3::ServiceFlow::SetType ( enum Type  type)

Definition at line 203 of file service-flow.cc.

References m_type.

Referenced by ns3::BsServiceFlowManager::AddMulticastServiceFlow(), and ns3::BsServiceFlowManager::ScheduleDsaRsp().

+ Here is the caller graph for this function:

void ns3::ServiceFlow::SetUnsolicitedGrantInterval ( uint16_t  unsolicitedGrantInterval)
void ns3::ServiceFlow::SetUnsolicitedPollingInterval ( uint16_t  unsolicitedPollingInterval)
Tlv ns3::ServiceFlow::ToTlv ( void  ) const

creates a TLV from this service flow

Returns
the created tlv

Definition at line 804 of file service-flow.cc.

References ns3::VectorTlvValue::Add(), ns3::SfVectorTlvValue::CID, ns3::SfVectorTlvValue::CS_Specification, ns3::Tlv::DOWNLINK_SERVICE_FLOW, ns3::SfVectorTlvValue::Fixed_length_versus_Variable_length_SDU_Indicator, GetCid(), ns3::VectorTlvValue::GetSerializedSize(), m_convergenceSublayerParam, m_csSpecification, m_direction, m_fixedversusVariableSduIndicator, m_maximumLatency, m_maxSustainedTrafficRate, m_maxTrafficBurst, m_minReservedTrafficRate, m_minTolerableTrafficRate, m_qosParamSetType, m_requestTransmissionPolicy, m_schedulingType, m_sduSize, m_sfid, m_targetSAID, m_toleratedJitter, m_trafficPriority, ns3::SfVectorTlvValue::Maximum_Latency, ns3::SfVectorTlvValue::Maximum_Sustained_Traffic_Rate, ns3::SfVectorTlvValue::Maximum_Traffic_Burst, ns3::SfVectorTlvValue::Minimum_Reserved_Traffic_Rate, ns3::SfVectorTlvValue::Minimum_Tolerable_Traffic_Rate, ns3::SfVectorTlvValue::QoS_Parameter_Set_Type, ns3::SfVectorTlvValue::Request_Transmission_Policy, ns3::SfVectorTlvValue::SDU_Size, ns3::SfVectorTlvValue::Service_Flow_Scheduling_Type, SF_DIRECTION_UP, ns3::SfVectorTlvValue::SFID, ns3::SfVectorTlvValue::Target_SAID, ns3::SfVectorTlvValue::Tolerated_Jitter, ns3::CsParameters::ToTlv(), ns3::SfVectorTlvValue::Traffic_Priority, and ns3::Tlv::UPLINK_SERVICE_FLOW.

Referenced by Ns3WimaxSfTlvTestCase::DoRun(), ns3::DsaReq::GetSerializedSize(), ns3::DsaRsp::GetSerializedSize(), ns3::DsaReq::Serialize(), and ns3::DsaRsp::Serialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

uint16_t ns3::ServiceFlow::m_arqBlockLifeTime
private

Definition at line 221 of file service-flow.h.

Referenced by GetArqBlockLifeTime(), InitValues(), and SetArqBlockLifeTime().

uint16_t ns3::ServiceFlow::m_arqBlockSize
private

Definition at line 225 of file service-flow.h.

Referenced by GetArqBlockSize(), InitValues(), and SetArqBlockSize().

uint8_t ns3::ServiceFlow::m_arqDeliverInOrder
private

Definition at line 223 of file service-flow.h.

Referenced by GetArqDeliverInOrder(), InitValues(), and SetArqDeliverInOrder().

uint8_t ns3::ServiceFlow::m_arqEnable
private
uint16_t ns3::ServiceFlow::m_arqPurgeTimeout
private

Definition at line 224 of file service-flow.h.

Referenced by GetArqPurgeTimeout(), InitValues(), and SetArqPurgeTimeout().

uint16_t ns3::ServiceFlow::m_arqRetryTimeoutRx
private
uint16_t ns3::ServiceFlow::m_arqRetryTimeoutTx
private
uint16_t ns3::ServiceFlow::m_arqSyncLoss
private

Definition at line 222 of file service-flow.h.

Referenced by GetArqSyncLoss(), InitValues(), and SetArqSyncLoss().

uint16_t ns3::ServiceFlow::m_arqWindowSize
private
Ptr<WimaxConnection> ns3::ServiceFlow::m_connection
private
CsParameters ns3::ServiceFlow::m_convergenceSublayerParam
private
enum CsSpecification ns3::ServiceFlow::m_csSpecification
private
Direction ns3::ServiceFlow::m_direction
private
uint8_t ns3::ServiceFlow::m_fixedversusVariableSduIndicator
private
bool ns3::ServiceFlow::m_isEnabled
private

Definition at line 233 of file service-flow.h.

Referenced by GetIsEnabled(), operator=(), ServiceFlow(), and SetIsEnabled().

bool ns3::ServiceFlow::m_isMulticast
private
uint32_t ns3::ServiceFlow::m_maximumLatency
private
uint32_t ns3::ServiceFlow::m_maxSustainedTrafficRate
private
uint32_t ns3::ServiceFlow::m_maxTrafficBurst
private
uint32_t ns3::ServiceFlow::m_minReservedTrafficRate
private
uint32_t ns3::ServiceFlow::m_minTolerableTrafficRate
private
enum WimaxPhy::ModulationType ns3::ServiceFlow::m_modulationType
private
uint8_t ns3::ServiceFlow::m_qosParamSetType
private
ServiceFlowRecord* ns3::ServiceFlow::m_record
private

Definition at line 237 of file service-flow.h.

Referenced by GetRecord(), operator=(), ServiceFlow(), SetRecord(), and ~ServiceFlow().

uint32_t ns3::ServiceFlow::m_requestTransmissionPolicy
private
uint8_t ns3::ServiceFlow::m_sduSize
private
std::string ns3::ServiceFlow::m_serviceClassName
private
uint32_t ns3::ServiceFlow::m_sfid
private

Definition at line 202 of file service-flow.h.

Referenced by GetSfid(), InitValues(), operator=(), ServiceFlow(), SetSfid(), and ToTlv().

uint16_t ns3::ServiceFlow::m_targetSAID
private
uint32_t ns3::ServiceFlow::m_toleratedJitter
private
uint8_t ns3::ServiceFlow::m_trafficPriority
private
Type ns3::ServiceFlow::m_type
private

Definition at line 231 of file service-flow.h.

Referenced by GetType(), InitValues(), operator=(), ServiceFlow(), and SetType().

uint16_t ns3::ServiceFlow::m_unsolicitedGrantInterval
private
uint16_t ns3::ServiceFlow::m_unsolicitedPollingInterval
private

The documentation for this class was generated from the following files: