A Discrete-Event Network Simulator
API
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
}
 section 11.13.19.2 CS parameter encoding rules, page 707 More...
 
enum  Direction { SF_DIRECTION_DOWN, SF_DIRECTION_UP }
 Direction enumeration. More...
 
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
}
 Modulation type enumeration, Table 356 and 362. More...
 
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
}
 section 11.13.11 Service flow scheduling type, page 701 More...
 
enum  Type { SF_TYPE_PROVISIONED, SF_TYPE_ADMITTED, SF_TYPE_ACTIVE }
 Type enumeration. More...
 

Public Member Functions

 ServiceFlow (Tlv tlv)
 creates a service flow from a TLV More...
 
 ServiceFlow ()
 default constructor More...
 
 ServiceFlow (enum Direction direction)
 Constructor. More...
 
 ServiceFlow (const ServiceFlow &sf)
 Constructor. More...
 
 ServiceFlow (uint32_t sfid, enum Direction direction, Ptr< WimaxConnection > connection)
 Constructor. More...
 
 ~ServiceFlow (void)
 
bool CheckClassifierMatch (Ipv4Address srcAddress, Ipv4Address dstAddress, uint16_t srcPort, uint16_t dstPort, uint8_t proto) const
 
void CleanUpQueue (void)
 shall be called only by BS More...
 
void CopyParametersFrom (ServiceFlow sf)
 Copy parameters from another service flow. More...
 
uint16_t GetArqBlockLifeTime (void) const
 Get ARQ block lifetime. More...
 
uint16_t GetArqBlockSize (void) const
 Get ARQ block size. More...
 
uint8_t GetArqDeliverInOrder (void) const
 Get ARQ deliver in order. More...
 
uint8_t GetArqEnable (void) const
 Get ARQ enable. More...
 
uint16_t GetArqPurgeTimeout (void) const
 Get ARQ purge timeout. More...
 
uint16_t GetArqRetryTimeoutRx (void) const
 Get ARQ retry timeout receive. More...
 
uint16_t GetArqRetryTimeoutTx (void) const
 Get ARQ retry timeout transmit. More...
 
uint16_t GetArqSyncLoss (void) const
 Get ARQ sync loss. More...
 
uint16_t GetArqWindowSize (void) const
 Get ARQ retry timeout transmit. More...
 
uint16_t GetCid (void) const
 Get CID. More...
 
Ptr< WimaxConnectionGetConnection (void) const
 Can return a null connection is this service flow has not been associated yet to a connection. More...
 
CsParameters GetConvergenceSublayerParam (void) const
 Get convergence sublayer. More...
 
enum CsSpecification GetCsSpecification (void) const
 Get CS specification. More...
 
enum Direction GetDirection (void) const
 Get direction. More...
 
uint8_t GetFixedversusVariableSduIndicator (void) const
 Get fixed versus varaiable SDU indicator. More...
 
bool GetIsEnabled (void) const
 Get is enabled flag. More...
 
bool GetIsMulticast (void) const
 Get is multicast. More...
 
uint32_t GetMaximumLatency (void) const
 Get maximum latency. More...
 
uint32_t GetMaxSustainedTrafficRate (void) const
 Get max sustained traffic rate. More...
 
uint32_t GetMaxTrafficBurst (void) const
 Get max traffic burst. More...
 
uint32_t GetMinReservedTrafficRate (void) const
 Get minimum reserved traffic rate. More...
 
uint32_t GetMinTolerableTrafficRate (void) const
 Get minimum tolerable traffic rate. More...
 
enum WimaxPhy::ModulationType GetModulation (void) const
 Get modulation. More...
 
uint8_t GetQosParamSetType (void) const
 Get QOS parameter set type. More...
 
Ptr< WimaxMacQueueGetQueue (void) const
 Get pointer to queue. More...
 
ServiceFlowRecordGetRecord (void) const
 Get service flow record. More...
 
uint32_t GetRequestTransmissionPolicy (void) const
 Get request transmission policy. More...
 
enum ServiceFlow::SchedulingType GetSchedulingType (void) const
 Get scheduling type. More...
 
char * GetSchedulingTypeStr (void) const
 Get scheduling type string. More...
 
uint8_t GetSduSize (void) const
 Get SDU size. More...
 
std::string GetServiceClassName () const
 Get service class name. More...
 
enum ServiceFlow::SchedulingType GetServiceSchedulingType (void) const
 Get service scheduling type. More...
 
uint32_t GetSfid (void) const
 Get SFID. More...
 
uint16_t GetTargetSAID (void) const
 Get target SAID. More...
 
uint32_t GetToleratedJitter (void) const
 Get tolerated jitter. More...
 
uint8_t GetTrafficPriority (void) const
 Get traffic priority. More...
 
enum Type GetType (void) const
 Get type of service flow. More...
 
uint16_t GetUnsolicitedGrantInterval (void) const
 Get unsolicited grant interval. More...
 
uint16_t GetUnsolicitedPollingInterval (void) const
 Get unsolicited polling interval. More...
 
bool HasPackets (void) const
 Check if packets are present. More...
 
bool HasPackets (MacHeaderType::HeaderType packetType) const
 Check if packets of particular type are present. More...
 
void InitValues (void)
 Initial values. More...
 
ServiceFlowoperator= (ServiceFlow const &o)
 assignment operator More...
 
void PrintQoSParameters (void) const
 Print QOS parameters. More...
 
void SetArqBlockLifeTime (uint16_t lifeTime)
 Set ARQ block lifetime. More...
 
void SetArqBlockSize (uint16_t size)
 Set ARQ block size. More...
 
void SetArqDeliverInOrder (uint8_t inOrder)
 Set ARQ deliver in order. More...
 
void SetArqEnable (uint8_t arqEnable)
 Set ARQ enable. More...
 
void SetArqPurgeTimeout (uint16_t timeout)
 Set ARQ purge timeout. More...
 
void SetArqRetryTimeoutRx (uint16_t timeout)
 Set ARQ retry timeout receive. More...
 
void SetArqRetryTimeoutTx (uint16_t timeout)
 Set ARQ retry timeout transmit. More...
 
void SetArqSyncLoss (uint16_t syncLoss)
 Set ARQ sync loss. More...
 
void SetArqWindowSize (uint16_t arqWindowSize)
 Set ARQ retry timeout transmit. More...
 
void SetConnection (Ptr< WimaxConnection > connection)
 Set connection. More...
 
void SetConvergenceSublayerParam (CsParameters csparam)
 Set convergence sublayer parameters. More...
 
void SetCsSpecification (enum CsSpecification spec)
 Set CS specification. More...
 
void SetDirection (enum Direction direction)
 Set direction. More...
 
void SetFixedversusVariableSduIndicator (uint8_t sduIndicator)
 Set fixed versus variable SDU indicator. More...
 
void SetIsEnabled (bool isEnabled)
 Set is enabled flag. More...
 
void SetIsMulticast (bool isMulticast)
 Set is multicast. More...
 
void SetMaximumLatency (uint32_t MaximumLatency)
 Set maximum latency. More...
 
void SetMaxSustainedTrafficRate (uint32_t maxSustainedRate)
 Set max sustained traffic rate. More...
 
void SetMaxTrafficBurst (uint32_t maxTrafficBurst)
 Set maximum traffic burst. More...
 
void SetMinReservedTrafficRate (uint32_t minResvRate)
 Set minimum reserved traffic rate. More...
 
void SetMinTolerableTrafficRate (uint32_t minJitter)
 Set minimum tolerable traffic rate. More...
 
void SetModulation (enum WimaxPhy::ModulationType modulationType)
 Set modulation. More...
 
void SetQosParamSetType (uint8_t type)
 Set QOS parameter set type. More...
 
void SetRecord (ServiceFlowRecord *record)
 Set service flow record. More...
 
void SetRequestTransmissionPolicy (uint32_t policy)
 Set request transmission policy. More...
 
void SetSduSize (uint8_t sduSize)
 Set SDU size. More...
 
void SetServiceClassName (std::string name)
 Set service class name. More...
 
void SetServiceSchedulingType (enum ServiceFlow::SchedulingType schedType)
 Set service scheduling type. More...
 
void SetSfid (uint32_t sfid)
 Set SFID. More...
 
void SetTargetSAID (uint16_t targetSaid)
 Set target SAID. More...
 
void SetToleratedJitter (uint32_t jitter)
 Set tolerated jitter. More...
 
void SetTrafficPriority (uint8_t priority)
 Set traffic priority. More...
 
void SetType (enum Type type)
 Set type of service flow. More...
 
void SetUnsolicitedGrantInterval (uint16_t unsolicitedGrantInterval)
 Set unsolicied grant interval. More...
 
void SetUnsolicitedPollingInterval (uint16_t unsolicitedPollingInterval)
 Set unsolicited polling interval. More...
 
Tlv ToTlv (void) const
 creates a TLV from this service flow More...
 

Private Attributes

uint16_t m_arqBlockLifeTime
 ARQ block life time. More...
 
uint16_t m_arqBlockSize
 ARQ block size. More...
 
uint8_t m_arqDeliverInOrder
 ARQ deliver in order. More...
 
uint8_t m_arqEnable
 ARQ enable. More...
 
uint16_t m_arqPurgeTimeout
 ARQ purge timeout. More...
 
uint16_t m_arqRetryTimeoutRx
 ARQ retry timeout receive. More...
 
uint16_t m_arqRetryTimeoutTx
 ARQ retry timeout transmit. More...
 
uint16_t m_arqSyncLoss
 ARQ sync loss. More...
 
uint16_t m_arqWindowSize
 ARQ window size. More...
 
Ptr< WimaxConnectionm_connection
 connection More...
 
CsParameters m_convergenceSublayerParam
 convergence sublayer parameters More...
 
enum CsSpecification m_csSpecification
 CS specification. More...
 
Direction m_direction
 direction More...
 
uint8_t m_fixedversusVariableSduIndicator
 fixed versus variable SDI indicator More...
 
bool m_isEnabled
 is enabled? More...
 
bool m_isMulticast
 is multicast? More...
 
uint32_t m_maximumLatency
 maximum latency More...
 
uint32_t m_maxSustainedTrafficRate
 maximum sustained traffic rate More...
 
uint32_t m_maxTrafficBurst
 maximum traffic burst More...
 
uint32_t m_minReservedTrafficRate
 minimum reserved traffic rate More...
 
uint32_t m_minTolerableTrafficRate
 minimum tolerable traffic rate More...
 
enum WimaxPhy::ModulationType m_modulationType
 modulation type More...
 
uint8_t m_qosParamSetType
 QOS parameter type. More...
 
ServiceFlowRecordm_record
 service flow record More...
 
uint32_t m_requestTransmissionPolicy
 request transmission policy More...
 
enum ServiceFlow::SchedulingType m_schedulingType
 scheduling type More...
 
uint8_t m_sduSize
 SDU size. More...
 
std::string m_serviceClassName
 service class name More...
 
uint32_t m_sfid
 SFID. More...
 
uint16_t m_targetSAID
 traget SAID More...
 
uint32_t m_toleratedJitter
 tolerated jitter More...
 
uint8_t m_trafficPriority
 traffic priority More...
 
Type m_type
 type More...
 
uint16_t m_unsolicitedGrantInterval
 unsolicited grant interval More...
 
uint16_t m_unsolicitedPollingInterval
 unsolicited polling interval More...
 

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

◆ CsSpecification

section 11.13.19.2 CS parameter encoding rules, page 707

Enumerator
ATM 
IPV4 
IPV6 
ETHERNET 
VLAN 
IPV4_OVER_ETHERNET 
IPV6_OVER_ETHERNET 
IPV4_OVER_VLAN 
IPV6_OVER_VLAN 

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

◆ Direction

Direction enumeration.

Enumerator
SF_DIRECTION_DOWN 
SF_DIRECTION_UP 

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

◆ ModulationType

Modulation type enumeration, Table 356 and 362.

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 82 of file service-flow.h.

◆ SchedulingType

section 11.13.11 Service flow scheduling type, page 701

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 58 of file service-flow.h.

◆ Type

Type enumeration.

Enumerator
SF_TYPE_PROVISIONED 
SF_TYPE_ADMITTED 
SF_TYPE_ACTIVE 

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

Constructor & Destructor Documentation

◆ ServiceFlow() [1/5]

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:

◆ ServiceFlow() [2/5]

ns3::ServiceFlow::ServiceFlow ( )

default constructor

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:

◆ ServiceFlow() [3/5]

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

Constructor.

Parameters
directionthe direction

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

References InitValues(), m_connection, m_direction, m_isEnabled, m_isMulticast, m_modulationType, m_record, m_sfid, m_type, ns3::WimaxPhy::MODULATION_TYPE_QPSK_12, and SF_TYPE_PROVISIONED.

+ Here is the call graph for this function:

◆ ServiceFlow() [4/5]

◆ ServiceFlow() [5/5]

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

Constructor.

Parameters
sfidthe SFID
directionthe direction
connectionthe connection object

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

References InitValues(), m_connection, m_direction, m_isEnabled, m_isMulticast, m_modulationType, m_record, m_sfid, m_type, ns3::WimaxPhy::MODULATION_TYPE_QPSK_12, and SF_TYPE_PROVISIONED.

+ Here is the call graph for this function:

◆ ~ServiceFlow()

ns3::ServiceFlow::~ServiceFlow ( void  )

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

References m_connection, and m_record.

Member Function Documentation

◆ CheckClassifierMatch()

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:

◆ CleanUpQueue()

void ns3::ServiceFlow::CleanUpQueue ( void  )

shall be called only by BS

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

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

+ Here is the call graph for this function:

◆ CopyParametersFrom()

void ns3::ServiceFlow::CopyParametersFrom ( ServiceFlow  sf)

Copy parameters from another service flow.

Parameters
sfthe service flow

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

References GetArqEnable(), GetArqRetryTimeoutRx(), GetArqRetryTimeoutTx(), GetArqWindowSize(), GetConvergenceSublayerParam(), GetCsSpecification(), GetDirection(), GetFixedversusVariableSduIndicator(), GetIsMulticast(), GetMaximumLatency(), GetMaxSustainedTrafficRate(), GetMaxTrafficBurst(), GetMinReservedTrafficRate(), GetMinTolerableTrafficRate(), GetModulation(), GetQosParamSetType(), GetRequestTransmissionPolicy(), GetSduSize(), GetServiceClassName(), GetServiceSchedulingType(), GetTargetSAID(), GetToleratedJitter(), GetTrafficPriority(), GetUnsolicitedGrantInterval(), GetUnsolicitedPollingInterval(), m_arqEnable, m_arqRetryTimeoutRx, m_arqRetryTimeoutTx, m_arqWindowSize, m_convergenceSublayerParam, m_csSpecification, m_direction, m_fixedversusVariableSduIndicator, m_isMulticast, m_maximumLatency, m_maxSustainedTrafficRate, m_maxTrafficBurst, m_minReservedTrafficRate, m_minTolerableTrafficRate, m_modulationType, m_qosParamSetType, m_requestTransmissionPolicy, m_schedulingType, m_sduSize, m_serviceClassName, m_targetSAID, m_toleratedJitter, m_trafficPriority, m_unsolicitedGrantInterval, and m_unsolicitedPollingInterval.

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetArqBlockLifeTime()

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

Get ARQ block lifetime.

Returns
the ARQ block lifetime

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

References m_arqBlockLifeTime.

◆ GetArqBlockSize()

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

Get ARQ block size.

Returns
the ARQ block size

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

References m_arqBlockSize.

◆ GetArqDeliverInOrder()

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

Get ARQ deliver in order.

Returns
the ARQ deliver in order

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

References m_arqDeliverInOrder.

◆ GetArqEnable()

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

Get ARQ enable.

Returns
the ARQ enable

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:

◆ GetArqPurgeTimeout()

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

Get ARQ purge timeout.

Returns
the ARQ purge timeout value

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

References m_arqPurgeTimeout.

◆ GetArqRetryTimeoutRx()

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

Get ARQ retry timeout receive.

Returns
the ARQ retry timeout receive

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:

◆ GetArqRetryTimeoutTx()

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

Get ARQ retry timeout transmit.

Returns
the ARQ retry timeout transmit

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:

◆ GetArqSyncLoss()

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

Get ARQ sync loss.

Returns
the ARQ sync loss value

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

References m_arqSyncLoss.

◆ GetArqWindowSize()

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

Get ARQ retry timeout transmit.

Returns
the ARQ retry timeout

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:

◆ GetCid()

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

Get CID.

Returns
the CID

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:

◆ GetConnection()

◆ GetConvergenceSublayerParam()

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

Get convergence sublayer.

Returns
the convergence sublayer

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:

◆ GetCsSpecification()

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

Get CS specification.

Returns
the CS specification

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:

◆ GetDirection()

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

Get direction.

Returns
the direction

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:

◆ GetFixedversusVariableSduIndicator()

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

Get fixed versus varaiable SDU indicator.

Returns
the fixed vs variable SDU indicator

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:

◆ GetIsEnabled()

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

Get is enabled flag.

Returns
is enabled

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:

◆ GetIsMulticast()

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

Get is multicast.

Returns
the is multicast flag

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

References m_isMulticast.

Referenced by CopyParametersFrom(), operator=(), ServiceFlow(), ns3::UplinkSchedulerSimple::SetupServiceFlow(), ns3::UplinkSchedulerMBQoS::SetupServiceFlow(), and ns3::UplinkSchedulerRtps::SetupServiceFlow().

+ Here is the caller graph for this function:

◆ GetMaximumLatency()

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

Get maximum latency.

Returns
the maximum latency

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

References m_maximumLatency.

Referenced by CleanUpQueue(), CopyParametersFrom(), ns3::UplinkSchedulerMBQoS::DetermineDeadline(), DsaRequestTestCase::DoRun(), Ns3WimaxSfTlvTestCase::DoRun(), operator=(), and ServiceFlow().

+ Here is the caller graph for this function:

◆ GetMaxSustainedTrafficRate()

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

Get max sustained traffic rate.

Returns
the maximum sustained traffic rate

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:

◆ GetMaxTrafficBurst()

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

Get max traffic burst.

Returns
the maximum traffic burst

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:

◆ GetMinReservedTrafficRate()

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

◆ GetMinTolerableTrafficRate()

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

Get minimum tolerable traffic rate.

Returns
the minimum tolerable traffic rate

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:

◆ GetModulation()

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

Get modulation.

Returns
the modulation

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

References m_modulationType.

Referenced by CopyParametersFrom(), operator=(), ServiceFlow(), ns3::UplinkSchedulerSimple::SetupServiceFlow(), ns3::UplinkSchedulerMBQoS::SetupServiceFlow(), and ns3::UplinkSchedulerRtps::SetupServiceFlow().

+ Here is the caller graph for this function:

◆ GetQosParamSetType()

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

Get QOS parameter set type.

Returns
the QOS parameter set type

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:

◆ GetQueue()

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

Get pointer to queue.

Returns
pointer to the wimax mac queue

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:

◆ GetRecord()

◆ GetRequestTransmissionPolicy()

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

Get request transmission policy.

Returns
the request transmission policy

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:

◆ GetSchedulingType()

◆ GetSchedulingTypeStr()

char * ns3::ServiceFlow::GetSchedulingTypeStr ( void  ) const

◆ GetSduSize()

◆ GetServiceClassName()

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

Get service class name.

Returns
the service class name

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:

◆ GetServiceSchedulingType()

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

Get service scheduling type.

Returns
the scheduling type

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:

◆ GetSfid()

◆ GetTargetSAID()

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

Get target SAID.

Returns
the target SAID

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:

◆ GetToleratedJitter()

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

Get tolerated jitter.

Returns
the tolerated jitter

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

References m_toleratedJitter.

Referenced by CopyParametersFrom(), operator=(), ServiceFlow(), ns3::UplinkSchedulerSimple::SetupServiceFlow(), ns3::UplinkSchedulerMBQoS::SetupServiceFlow(), and ns3::UplinkSchedulerRtps::SetupServiceFlow().

+ Here is the caller graph for this function:

◆ GetTrafficPriority()

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

Get traffic priority.

Returns
the traffic priority

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:

◆ GetType()

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

Get type of service flow.

Returns
the type

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:

◆ GetUnsolicitedGrantInterval()

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

Get unsolicited grant interval.

Returns
the unsolicited grant interval

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:

◆ GetUnsolicitedPollingInterval()

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

Get unsolicited polling interval.

Returns
the unsolicited polling interval

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

References m_unsolicitedPollingInterval.

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

+ Here is the caller graph for this function:

◆ HasPackets() [1/2]

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

Check if packets are present.

Returns
true if there are packets

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:

◆ HasPackets() [2/2]

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

Check if packets of particular type are present.

Parameters
packetTypethe packet type to select
Returns
true if there are packets of the packet type

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

References m_connection.

◆ InitValues()

◆ operator=()

ServiceFlow & ns3::ServiceFlow::operator= ( ServiceFlow const &  o)

◆ PrintQoSParameters()

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

Print QOS parameters.

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

◆ SetArqBlockLifeTime()

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

Set ARQ block lifetime.

Parameters
lifeTimethe ARQ block life time

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

References m_arqBlockLifeTime.

◆ SetArqBlockSize()

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

Set ARQ block size.

Parameters
sizethe size

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

References m_arqBlockSize.

◆ SetArqDeliverInOrder()

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

Set ARQ deliver in order.

Parameters
inOrderthe deliver in order setting

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

References m_arqDeliverInOrder.

◆ SetArqEnable()

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

Set ARQ enable.

Parameters
arqEnablethe ARQ enable setting

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

References m_arqEnable.

◆ SetArqPurgeTimeout()

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

Set ARQ purge timeout.

Parameters
timeoutthe timeout value

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

References m_arqPurgeTimeout, and timeout.

◆ SetArqRetryTimeoutRx()

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

Set ARQ retry timeout receive.

Parameters
timeoutthe timeout

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

References m_arqRetryTimeoutRx, and timeout.

◆ SetArqRetryTimeoutTx()

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

Set ARQ retry timeout transmit.

Parameters
timeoutthe ARQ retry timeout transmit

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

References m_arqRetryTimeoutTx, and timeout.

◆ SetArqSyncLoss()

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

Set ARQ sync loss.

Parameters
syncLossthe ARQ sync loss

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

References m_arqSyncLoss.

◆ SetArqWindowSize()

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

Set ARQ retry timeout transmit.

Parameters
arqWindowSizethe ARQ retry timeout transmit

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

References m_arqWindowSize.

◆ SetConnection()

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

Set connection.

Parameters
connectionthe 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:

◆ SetConvergenceSublayerParam()

void ns3::ServiceFlow::SetConvergenceSublayerParam ( CsParameters  csparam)

Set convergence sublayer parameters.

Parameters
csparamthe convergence sublayer parameters

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

References m_convergenceSublayerParam.

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

+ Here is the caller graph for this function:

◆ SetCsSpecification()

void ns3::ServiceFlow::SetCsSpecification ( enum CsSpecification  spec)

Set CS specification.

Parameters
specthe CS specification

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:

◆ SetDirection()

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

Set direction.

Parameters
directionthe direction value

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

References m_direction.

◆ SetFixedversusVariableSduIndicator()

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

Set fixed versus variable SDU indicator.

Parameters
sduIndicatorfixed vs variable SDU indicator

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

References m_fixedversusVariableSduIndicator.

◆ SetIsEnabled()

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

Set is enabled flag.

Parameters
isEnabledis enabled flag

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:

◆ SetIsMulticast()

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

Set is multicast.

Parameters
isMulticastthe is multicast flag

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:

◆ SetMaximumLatency()

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

Set maximum latency.

Parameters
MaximumLatencythe maximjum latency

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:

◆ SetMaxSustainedTrafficRate()

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

Set max sustained traffic rate.

Parameters
maxSustainedRatethe maximum sustained traffic rate

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

References m_maxSustainedTrafficRate.

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

+ Here is the caller graph for this function:

◆ SetMaxTrafficBurst()

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

Set maximum traffic burst.

Parameters
maxTrafficBurstthe maximum traffic burst

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:

◆ SetMinReservedTrafficRate()

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

Set minimum reserved traffic rate.

Parameters
minResvRatethe minimum reserved traffic rate

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:

◆ SetMinTolerableTrafficRate()

void ns3::ServiceFlow::SetMinTolerableTrafficRate ( uint32_t  minJitter)

Set minimum tolerable traffic rate.

Parameters
minJitterthe minimum tolerable traffic rate

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

References m_minTolerableTrafficRate.

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

+ Here is the caller graph for this function:

◆ SetModulation()

void ns3::ServiceFlow::SetModulation ( enum WimaxPhy::ModulationType  modulationType)

Set modulation.

Parameters
modulationTypethe modulation type

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:

◆ SetQosParamSetType()

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

Set QOS parameter set type.

Parameters
typethe QOS paraneter set type

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

References m_qosParamSetType.

◆ SetRecord()

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

Set service flow record.

Parameters
recordpointer to the service flow record

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

References m_record.

◆ SetRequestTransmissionPolicy()

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

Set request transmission policy.

Parameters
policythe request transmission 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:

◆ SetSduSize()

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

Set SDU size.

Parameters
sduSizethe SDU size

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:

◆ SetServiceClassName()

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

Set service class name.

Parameters
namethe service class name

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

References m_serviceClassName.

◆ SetServiceSchedulingType()

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

Set service scheduling type.

Parameters
schedTypethe service scheduling type

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:

◆ SetSfid()

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

Set SFID.

Parameters
sfidthe 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:

◆ SetTargetSAID()

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

Set target SAID.

Parameters
targetSaidthe target SAID value

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

References m_targetSAID.

◆ SetToleratedJitter()

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

Set tolerated jitter.

Parameters
jitterthe tolerated 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:

◆ SetTrafficPriority()

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

Set traffic priority.

Parameters
prioritythe traffic 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:

◆ SetType()

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

Set type of service flow.

Parameters
typethe type value

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:

◆ SetUnsolicitedGrantInterval()

void ns3::ServiceFlow::SetUnsolicitedGrantInterval ( uint16_t  unsolicitedGrantInterval)

Set unsolicied grant interval.

Parameters
unsolicitedGrantIntervalthe unsolicited grant interval

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

References m_unsolicitedGrantInterval.

Referenced by ns3::WimaxHelper::CreateServiceFlow(), ns3::BsServiceFlowManager::ProcessDsaReq(), ns3::SsServiceFlowManager::ProcessDsaRsp(), ns3::UplinkSchedulerSimple::SetupServiceFlow(), ns3::UplinkSchedulerMBQoS::SetupServiceFlow(), and ns3::UplinkSchedulerRtps::SetupServiceFlow().

+ Here is the caller graph for this function:

◆ SetUnsolicitedPollingInterval()

void ns3::ServiceFlow::SetUnsolicitedPollingInterval ( uint16_t  unsolicitedPollingInterval)

Set unsolicited polling interval.

Parameters
unsolicitedPollingIntervalthe unsolicited polling interval

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

References m_unsolicitedPollingInterval.

Referenced by ns3::BsServiceFlowManager::ProcessDsaReq(), ns3::SsServiceFlowManager::ProcessDsaRsp(), ns3::UplinkSchedulerSimple::SetupServiceFlow(), ns3::UplinkSchedulerMBQoS::SetupServiceFlow(), and ns3::UplinkSchedulerRtps::SetupServiceFlow().

+ Here is the caller graph for this function:

◆ ToTlv()

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

◆ m_arqBlockLifeTime

uint16_t ns3::ServiceFlow::m_arqBlockLifeTime
private

ARQ block life time.

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

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

◆ m_arqBlockSize

uint16_t ns3::ServiceFlow::m_arqBlockSize
private

ARQ block size.

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

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

◆ m_arqDeliverInOrder

uint8_t ns3::ServiceFlow::m_arqDeliverInOrder
private

ARQ deliver in order.

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

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

◆ m_arqEnable

uint8_t ns3::ServiceFlow::m_arqEnable
private

ARQ enable.

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

Referenced by CopyParametersFrom(), GetArqEnable(), InitValues(), operator=(), ServiceFlow(), and SetArqEnable().

◆ m_arqPurgeTimeout

uint16_t ns3::ServiceFlow::m_arqPurgeTimeout
private

ARQ purge timeout.

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

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

◆ m_arqRetryTimeoutRx

uint16_t ns3::ServiceFlow::m_arqRetryTimeoutRx
private

ARQ retry timeout receive.

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

Referenced by CopyParametersFrom(), GetArqRetryTimeoutRx(), InitValues(), operator=(), ServiceFlow(), and SetArqRetryTimeoutRx().

◆ m_arqRetryTimeoutTx

uint16_t ns3::ServiceFlow::m_arqRetryTimeoutTx
private

ARQ retry timeout transmit.

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

Referenced by CopyParametersFrom(), GetArqRetryTimeoutTx(), InitValues(), operator=(), ServiceFlow(), and SetArqRetryTimeoutTx().

◆ m_arqSyncLoss

uint16_t ns3::ServiceFlow::m_arqSyncLoss
private

ARQ sync loss.

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

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

◆ m_arqWindowSize

uint16_t ns3::ServiceFlow::m_arqWindowSize
private

ARQ window size.

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

Referenced by CopyParametersFrom(), GetArqWindowSize(), InitValues(), operator=(), ServiceFlow(), and SetArqWindowSize().

◆ m_connection

Ptr<WimaxConnection> ns3::ServiceFlow::m_connection
private

◆ m_convergenceSublayerParam

CsParameters ns3::ServiceFlow::m_convergenceSublayerParam
private

◆ m_csSpecification

enum CsSpecification ns3::ServiceFlow::m_csSpecification
private

CS specification.

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

Referenced by CopyParametersFrom(), GetCsSpecification(), InitValues(), operator=(), ServiceFlow(), SetCsSpecification(), and ToTlv().

◆ m_direction

Direction ns3::ServiceFlow::m_direction
private

direction

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

Referenced by CopyParametersFrom(), GetDirection(), InitValues(), operator=(), ServiceFlow(), SetDirection(), and ToTlv().

◆ m_fixedversusVariableSduIndicator

uint8_t ns3::ServiceFlow::m_fixedversusVariableSduIndicator
private

◆ m_isEnabled

bool ns3::ServiceFlow::m_isEnabled
private

is enabled?

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

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

◆ m_isMulticast

bool ns3::ServiceFlow::m_isMulticast
private

is multicast?

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

Referenced by CopyParametersFrom(), GetIsMulticast(), InitValues(), operator=(), ServiceFlow(), and SetIsMulticast().

◆ m_maximumLatency

uint32_t ns3::ServiceFlow::m_maximumLatency
private

maximum latency

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

Referenced by CopyParametersFrom(), GetMaximumLatency(), InitValues(), operator=(), ServiceFlow(), SetMaximumLatency(), and ToTlv().

◆ m_maxSustainedTrafficRate

uint32_t ns3::ServiceFlow::m_maxSustainedTrafficRate
private

maximum sustained traffic rate

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

Referenced by CopyParametersFrom(), GetMaxSustainedTrafficRate(), InitValues(), operator=(), ServiceFlow(), SetMaxSustainedTrafficRate(), and ToTlv().

◆ m_maxTrafficBurst

uint32_t ns3::ServiceFlow::m_maxTrafficBurst
private

maximum traffic burst

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

Referenced by CopyParametersFrom(), GetMaxTrafficBurst(), InitValues(), operator=(), ServiceFlow(), SetMaxTrafficBurst(), and ToTlv().

◆ m_minReservedTrafficRate

uint32_t ns3::ServiceFlow::m_minReservedTrafficRate
private

minimum reserved traffic rate

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

Referenced by CopyParametersFrom(), GetMinReservedTrafficRate(), InitValues(), operator=(), ServiceFlow(), SetMinReservedTrafficRate(), and ToTlv().

◆ m_minTolerableTrafficRate

uint32_t ns3::ServiceFlow::m_minTolerableTrafficRate
private

minimum tolerable traffic rate

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

Referenced by CopyParametersFrom(), GetMinTolerableTrafficRate(), InitValues(), operator=(), ServiceFlow(), SetMinTolerableTrafficRate(), and ToTlv().

◆ m_modulationType

enum WimaxPhy::ModulationType ns3::ServiceFlow::m_modulationType
private

modulation type

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

Referenced by CopyParametersFrom(), GetModulation(), InitValues(), operator=(), ServiceFlow(), and SetModulation().

◆ m_qosParamSetType

uint8_t ns3::ServiceFlow::m_qosParamSetType
private

QOS parameter type.

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

Referenced by CopyParametersFrom(), GetQosParamSetType(), InitValues(), operator=(), ServiceFlow(), SetQosParamSetType(), and ToTlv().

◆ m_record

ServiceFlowRecord* ns3::ServiceFlow::m_record
private

service flow record

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

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

◆ m_requestTransmissionPolicy

uint32_t ns3::ServiceFlow::m_requestTransmissionPolicy
private

◆ m_schedulingType

◆ m_sduSize

uint8_t ns3::ServiceFlow::m_sduSize
private

SDU size.

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

Referenced by CopyParametersFrom(), GetSduSize(), InitValues(), operator=(), ServiceFlow(), SetSduSize(), and ToTlv().

◆ m_serviceClassName

std::string ns3::ServiceFlow::m_serviceClassName
private

service class name

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

Referenced by CopyParametersFrom(), GetServiceClassName(), InitValues(), operator=(), ServiceFlow(), and SetServiceClassName().

◆ m_sfid

uint32_t ns3::ServiceFlow::m_sfid
private

SFID.

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

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

◆ m_targetSAID

uint16_t ns3::ServiceFlow::m_targetSAID
private

traget SAID

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

Referenced by CopyParametersFrom(), GetTargetSAID(), InitValues(), operator=(), ServiceFlow(), SetTargetSAID(), and ToTlv().

◆ m_toleratedJitter

uint32_t ns3::ServiceFlow::m_toleratedJitter
private

tolerated jitter

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

Referenced by CopyParametersFrom(), GetToleratedJitter(), InitValues(), operator=(), ServiceFlow(), SetToleratedJitter(), and ToTlv().

◆ m_trafficPriority

uint8_t ns3::ServiceFlow::m_trafficPriority
private

traffic priority

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

Referenced by CopyParametersFrom(), GetTrafficPriority(), InitValues(), operator=(), ServiceFlow(), SetTrafficPriority(), and ToTlv().

◆ m_type

Type ns3::ServiceFlow::m_type
private

type

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

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

◆ m_unsolicitedGrantInterval

uint16_t ns3::ServiceFlow::m_unsolicitedGrantInterval
private

unsolicited grant interval

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

Referenced by CopyParametersFrom(), GetUnsolicitedGrantInterval(), InitValues(), operator=(), ServiceFlow(), and SetUnsolicitedGrantInterval().

◆ m_unsolicitedPollingInterval

uint16_t ns3::ServiceFlow::m_unsolicitedPollingInterval
private

unsolicited polling interval

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

Referenced by CopyParametersFrom(), GetUnsolicitedPollingInterval(), InitValues(), operator=(), ServiceFlow(), and SetUnsolicitedPollingInterval().


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