Public Types | Public Member Functions

ns3::ServiceFlow Class Reference

Collaboration diagram for ns3::ServiceFlow:
Collaboration graph
[legend]

List of all members.

Public Types

enum  Direction { SF_DIRECTION_DOWN, SF_DIRECTION_UP }
enum  Type { SF_TYPE_PROVISIONED, SF_TYPE_ADMITTED, SF_TYPE_ACTIVE }
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  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  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
}

Public Member Functions

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

Member Enumeration Documentation

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


Constructor & Destructor Documentation

ns3::ServiceFlow::ServiceFlow ( Tlv  tlv  ) 

creates a service flow from a TLV

Parameters:
tlv the tlv from which the service flow will be created

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:
srcAddress the source ip address
dstAddress the destination ip address
srcPort the source port
dstPort the destination port
proto the layer 4 protocol
Tlv ns3::ServiceFlow::ToTlv ( void   )  const

creates a TLV from this service flow

Returns:
the created tlv

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