22 #ifndef SERVICE_FLOW_H 
   23 #define SERVICE_FLOW_H 
   32 class ServiceFlowRecord;
 
   33 class WimaxConnection;
 
  115                              uint8_t proto) 
const;
 
  254   uint16_t 
GetCid (
void) 
const;
 
void SetArqRetryTimeoutTx(uint16_t timeout)
Set ARQ retry timeout transmit. 
 
ServiceFlow()
default constructor 
 
uint16_t m_unsolicitedPollingInterval
unsolicited polling interval 
 
uint32_t GetMinTolerableTrafficRate(void) const 
Get minimum tolerable traffic rate. 
 
enum WimaxPhy::ModulationType GetModulation(void) const 
Get modulation. 
 
uint8_t GetFixedversusVariableSduIndicator(void) const 
Get fixed versus varaiable SDU indicator. 
 
bool GetIsEnabled(void) const 
Get is enabled flag. 
 
Smart pointer class similar to boost::intrusive_ptr. 
 
enum WimaxPhy::ModulationType m_modulationType
modulation type 
 
enum ServiceFlow::SchedulingType GetSchedulingType(void) const 
Get scheduling type. 
 
void PrintQoSParameters(void) const 
Print QOS parameters. 
 
ModulationType
Modulation type enumeration, Table 356 and 362. 
 
void SetConnection(Ptr< WimaxConnection > connection)
Set connection. 
 
uint32_t GetMaxTrafficBurst(void) const 
Get max traffic burst. 
 
void SetRequestTransmissionPolicy(uint32_t policy)
Set request transmission policy. 
 
uint16_t GetArqBlockSize(void) const 
Get ARQ block size. 
 
this class implements a structure to manage some parameters and statistics related to a service flow ...
 
uint16_t m_arqWindowSize
ARQ window size. 
 
void SetArqEnable(uint8_t arqEnable)
Set ARQ enable. 
 
void SetArqBlockLifeTime(uint16_t lifeTime)
Set ARQ block lifetime. 
 
Ptr< WimaxConnection > m_connection
connection 
 
void SetToleratedJitter(uint32_t jitter)
Set tolerated jitter. 
 
enum CsSpecification m_csSpecification
CS specification. 
 
std::string m_serviceClassName
service class name 
 
uint32_t GetSfid(void) const 
Get SFID. 
 
uint32_t GetRequestTransmissionPolicy(void) const 
Get request transmission policy. 
 
uint8_t m_arqDeliverInOrder
ARQ deliver in order. 
 
Ptr< WimaxMacQueue > GetQueue(void) const 
Get pointer to queue. 
 
uint8_t GetArqDeliverInOrder(void) const 
Get ARQ deliver in order. 
 
uint16_t m_targetSAID
traget SAID 
 
uint16_t m_arqRetryTimeoutTx
ARQ retry timeout transmit. 
 
uint8_t m_trafficPriority
traffic priority 
 
This class implements the Type-Len-Value structure channel encodings as described by "IEEE Standard f...
 
void SetSduSize(uint8_t sduSize)
Set SDU size. 
 
Ptr< WimaxConnection > GetConnection(void) const 
Can return a null connection is this service flow has not been associated yet to a connection...
 
void SetMinReservedTrafficRate(uint32_t minResvRate)
Set minimum reserved traffic rate. 
 
char * GetSchedulingTypeStr(void) const 
Get scheduling type string. 
 
uint32_t m_toleratedJitter
tolerated jitter 
 
void SetArqSyncLoss(uint16_t syncLoss)
Set ARQ sync loss. 
 
void SetQosParamSetType(uint8_t type)
Set QOS parameter set type. 
 
uint32_t GetMinReservedTrafficRate(void) const 
Get minimum reserved traffic rate. 
 
uint16_t GetArqRetryTimeoutTx(void) const 
Get ARQ retry timeout transmit. 
 
void InitValues(void)
Initial values. 
 
std::string GetServiceClassName() const 
Get service class name. 
 
uint16_t GetArqRetryTimeoutRx(void) const 
Get ARQ retry timeout receive. 
 
uint32_t m_maxTrafficBurst
maximum traffic burst 
 
void SetArqDeliverInOrder(uint8_t inOrder)
Set ARQ deliver in order. 
 
Direction m_direction
direction 
 
uint8_t GetArqEnable(void) const 
Get ARQ enable. 
 
uint16_t GetArqPurgeTimeout(void) const 
Get ARQ purge timeout. 
 
bool m_isMulticast
is multicast? 
 
uint8_t m_sduSize
SDU size. 
 
void CleanUpQueue(void)
shall be called only by BS 
 
void CopyParametersFrom(ServiceFlow sf)
Copy parameters from another service flow. 
 
void SetUnsolicitedGrantInterval(uint16_t unsolicitedGrantInterval)
Set unsolicied grant interval. 
 
CsParameters m_convergenceSublayerParam
convergence sublayer parameters 
 
uint8_t m_fixedversusVariableSduIndicator
fixed versus varaible SDI indicator 
 
enum CsSpecification GetCsSpecification(void) const 
Get CS specification. 
 
ModulationType
ModulationType enumeration. 
 
uint8_t GetQosParamSetType(void) const 
Get QOS parameter set type. 
 
uint32_t GetMaximumLatency(void) const 
Get maximum latency. 
 
uint8_t m_qosParamSetType
QOS parameter type. 
 
void SetMaximumLatency(uint32_t MaximumLatency)
Set maximum latency. 
 
uint32_t m_maxSustainedTrafficRate
maximum sustained traffic rate 
 
bool CheckClassifierMatch(Ipv4Address srcAddress, Ipv4Address dstAddress, uint16_t srcPort, uint16_t dstPort, uint8_t proto) const 
 
void SetTargetSAID(uint16_t targetSaid)
Set target SAID. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
void SetConvergenceSublayerParam(CsParameters csparam)
Set convergence sublayer parameters. 
 
uint8_t GetTrafficPriority(void) const 
Get traffic priority. 
 
uint8_t GetSduSize(void) const 
Get SDU size. 
 
ServiceFlow & operator=(ServiceFlow const &o)
assignment operator 
 
uint16_t GetTargetSAID(void) const 
Get target SAID. 
 
void SetRecord(ServiceFlowRecord *record)
Set service flow record. 
 
uint16_t m_arqPurgeTimeout
ARQ purge timeout. 
 
This class implements service flows as described by the IEEE-802.16 standard. 
 
uint16_t m_arqRetryTimeoutRx
ARQ retry timeout receive. 
 
uint16_t m_arqBlockSize
ARQ block size. 
 
CsSpecification
section 11.13.19.2 CS parameter encoding rules, page 707 
 
ServiceFlowRecord * GetRecord(void) const 
Get service flow record. 
 
uint32_t m_maximumLatency
maximum latency 
 
enum ServiceFlow::SchedulingType m_schedulingType
scheduling type 
 
uint16_t GetArqSyncLoss(void) const 
Get ARQ sync loss. 
 
uint16_t m_unsolicitedGrantInterval
unsolicited grant interval 
 
void SetModulation(enum WimaxPhy::ModulationType modulationType)
Set modulation. 
 
void SetMinTolerableTrafficRate(uint32_t minJitter)
Set minimum tolerable traffic rate. 
 
Ipv4 addresses are stored in host order in this class. 
 
enum Direction GetDirection(void) const 
Get direction. 
 
uint32_t GetToleratedJitter(void) const 
Get tolerated jitter. 
 
void SetDirection(enum Direction direction)
Set direction. 
 
void SetIsEnabled(bool isEnabled)
Set is enabled flag. 
 
uint16_t m_arqSyncLoss
ARQ sync loss. 
 
void SetType(enum Type type)
Set type of service flow. 
 
void SetUnsolicitedPollingInterval(uint16_t unsolicitedPollingInterval)
Set unsolicited polling interval. 
 
bool GetIsMulticast(void) const 
Get is multicast. 
 
uint16_t m_arqBlockLifeTime
ARQ block life time. 
 
void SetMaxTrafficBurst(uint32_t maxTrafficBurst)
Set maximum traffic burst. 
 
ServiceFlowRecord * m_record
service flow record 
 
bool m_isEnabled
is enabled? 
 
void SetFixedversusVariableSduIndicator(uint8_t sduIndicator)
Set fixed versus variable SDU indicator. 
 
void SetSfid(uint32_t sfid)
Set SFID. 
 
uint32_t m_minTolerableTrafficRate
minimum tolerable traffic rate 
 
uint32_t m_requestTransmissionPolicy
request transmission policy 
 
void SetTrafficPriority(uint8_t priority)
Set traffic priority. 
 
uint16_t GetArqWindowSize(void) const 
Get ARQ retry timeout transmit. 
 
uint32_t GetMaxSustainedTrafficRate(void) const 
Get max sustained traffic rate. 
 
uint16_t GetUnsolicitedGrantInterval(void) const 
Get unsolicited grant interval. 
 
void SetCsSpecification(enum CsSpecification spec)
Set CS specification. 
 
void SetMaxSustainedTrafficRate(uint32_t maxSustainedRate)
Set max sustained traffic rate. 
 
void SetServiceClassName(std::string name)
Set service class name. 
 
enum Type GetType(void) const 
Get type of service flow. 
 
void SetIsMulticast(bool isMulticast)
Set is multicast. 
 
Tlv ToTlv(void) const 
creates a TLV from this service flow 
 
CsParameters GetConvergenceSublayerParam(void) const 
Get convergence sublayer. 
 
void SetArqRetryTimeoutRx(uint16_t timeout)
Set ARQ retry timeout receive. 
 
uint8_t m_arqEnable
ARQ enable. 
 
uint16_t GetArqBlockLifeTime(void) const 
Get ARQ block lifetime. 
 
void SetServiceSchedulingType(enum ServiceFlow::SchedulingType schedType)
Set service scheduling type. 
 
uint32_t m_minReservedTrafficRate
minimum reserved traffic rate 
 
void SetArqPurgeTimeout(uint16_t timeout)
Set ARQ purge timeout. 
 
SchedulingType
section 11.13.11 Service flow scheduling type, page 701 
 
enum ServiceFlow::SchedulingType GetServiceSchedulingType(void) const 
Get service scheduling type. 
 
void SetArqBlockSize(uint16_t size)
Set ARQ block size. 
 
HeaderType
Header type enumeration. 
 
uint16_t GetCid(void) const 
Get CID. 
 
uint16_t GetUnsolicitedPollingInterval(void) const 
Get unsolicited polling interval. 
 
bool HasPackets(void) const 
Check if packets are present. 
 
Direction
Direction enumeration. 
 
void SetArqWindowSize(uint16_t arqWindowSize)
Set ARQ retry timeout transmit.