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) | |
ServiceFlow & | operator= (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< WimaxConnection > | GetConnection (void) const |
void | SetIsEnabled (bool isEnabled) |
bool | GetIsEnabled (void) const |
void | SetRecord (ServiceFlowRecord *record) |
ServiceFlowRecord * | GetRecord (void) const |
Ptr< WimaxMacQueue > | GetQueue (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) |
This class implements service flows as described by the IEEE-802.16 standard
ns3::ServiceFlow::ServiceFlow | ( | Tlv | tlv | ) |
creates a service flow from a TLV
tlv | the tlv from which the service flow will be created |
bool ns3::ServiceFlow::CheckClassifierMatch | ( | Ipv4Address | srcAddress, | |
Ipv4Address | dstAddress, | |||
uint16_t | srcPort, | |||
uint16_t | dstPort, | |||
uint8_t | proto | |||
) | const |
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