|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
25 #include "ns3/simulator.h"
45 m_direction (SF_DIRECTION_DOWN),
46 m_type (SF_TYPE_PROVISIONED),
92 for (std::vector<Tlv*>::const_iterator iter = param->
Begin (); iter != param->
End (); ++iter)
94 switch ((*iter)->GetType ())
103 uint16_t cid = ((
U16TlvValue*)((*iter)->PeekValue ()))->GetValue ();
298 packet =
m_connection->GetQueue ()->Peek (hdr, timeStamp);
786 return (
char*)
"UGS";
789 return (
char*)
"rtPS";
792 return (
char*)
"nrtPS";
Ptr< WimaxMacQueue > GetQueue(void) const
Get pointer to queue.
void SetArqBlockSize(uint16_t size)
Set ARQ block size.
enum WimaxPhy::ModulationType GetModulation(void) const
Get modulation.
uint16_t GetUnsolicitedGrantInterval(void) const
Get unsolicited grant interval.
void SetUnsolicitedGrantInterval(uint16_t unsolicitedGrantInterval)
Set unsolicied grant interval.
uint32_t GetMinReservedTrafficRate(void) const
Get minimum reserved traffic rate.
uint16_t m_arqBlockLifeTime
ARQ block life time.
uint8_t m_qosParamSetType
QOS parameter type.
uint16_t m_arqRetryTimeoutTx
ARQ retry timeout transmit.
static Time Now(void)
Return the current simulation virtual time.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Direction
Direction enumeration.
uint16_t m_arqWindowSize
ARQ window size.
uint32_t m_maximumLatency
maximum latency
uint32_t GetToleratedJitter(void) const
Get tolerated jitter.
uint32_t GetMaxTrafficBurst(void) const
Get max traffic burst.
void SetDirection(enum Direction direction)
Set direction.
uint16_t GetArqWindowSize(void) const
Get ARQ retry timeout transmit.
@ MODULATION_TYPE_QPSK_12
uint16_t GetCid(void) const
Get CID.
CsParameters GetConvergenceSublayerParam(void) const
Get convergence sublayer.
virtual uint32_t GetSerializedSize(void) const
Get serialized size in bytes.
uint8_t GetArqDeliverInOrder(void) const
Get ARQ deliver in order.
void SetArqBlockLifeTime(uint16_t lifeTime)
Set ARQ block lifetime.
uint16_t GetArqBlockLifeTime(void) const
Get ARQ block lifetime.
uint16_t m_unsolicitedPollingInterval
unsolicited polling interval
void SetServiceSchedulingType(enum ServiceFlow::SchedulingType schedType)
Set service scheduling type.
uint8_t m_fixedversusVariableSduIndicator
fixed versus variable SDI indicator
Ipv4 addresses are stored in host order in this class.
void SetMaxSustainedTrafficRate(uint32_t maxSustainedRate)
Set max sustained traffic rate.
void SetServiceClassName(std::string name)
Set service class name.
uint32_t m_maxSustainedTrafficRate
maximum sustained traffic rate
char * GetSchedulingTypeStr(void) const
Get scheduling type string.
uint8_t m_sduSize
SDU size.
std::string GetServiceClassName() const
Get service class name.
this class implements a structure to manage some parameters and statistics related to a service flow
void SetMaximumLatency(uint32_t MaximumLatency)
Set maximum latency.
uint32_t m_toleratedJitter
tolerated jitter
void SetType(enum Type type)
Set type of service flow.
bool GetIsEnabled(void) const
Get is enabled flag.
uint8_t GetType(void) const
Get type value.
@ Service_Flow_Scheduling_Type
enum ServiceFlow::SchedulingType GetSchedulingType(void) const
Get scheduling type.
uint16_t GetUnsolicitedPollingInterval(void) const
Get unsolicited polling interval.
uint32_t m_maxTrafficBurst
maximum traffic burst
ServiceFlowRecord * GetRecord(void) const
Get service flow record.
uint32_t GetMaxSustainedTrafficRate(void) const
Get max sustained traffic rate.
ServiceFlow & operator=(ServiceFlow const &o)
assignment operator
bool m_isMulticast
is multicast?
uint8_t GetSduSize(void) const
Get SDU size.
Smart pointer class similar to boost::intrusive_ptr.
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
Iterator Begin() const
Begin iterator.
void SetConvergenceSublayerParam(CsParameters csparam)
Set convergence sublayer parameters.
Tlv ToTlv(void) const
creates a tlv from the classifier record
uint16_t m_arqRetryTimeoutRx
ARQ retry timeout receive.
ModulationType
ModulationType enumeration.
Direction m_direction
direction
void SetUnsolicitedPollingInterval(uint16_t unsolicitedPollingInterval)
Set unsolicited polling interval.
void SetRecord(ServiceFlowRecord *record)
Set service flow record.
uint16_t m_arqPurgeTimeout
ARQ purge timeout.
@ Minimum_Reserved_Traffic_Rate
void SetConnection(Ptr< WimaxConnection > connection)
Set connection.
void SetArqEnable(uint8_t arqEnable)
Set ARQ enable.
bool CheckClassifierMatch(Ipv4Address srcAddress, Ipv4Address dstAddress, uint16_t srcPort, uint16_t dstPort, uint8_t proto) const
Time MilliSeconds(uint64_t value)
Construct a Time in the indicated unit.
uint32_t GetMaximumLatency(void) const
Get maximum latency.
void CopyParametersFrom(ServiceFlow sf)
Copy parameters from another service flow.
void SetIsMulticast(bool isMulticast)
Set is multicast.
Tlv ToTlv(void) const
creates a TLV from this service flow
void Add(const Tlv &val)
Add a TLV.
Simulation virtual time values and global simulation resolution.
ServiceFlow()
default constructor
CsSpecification
section 11.13.19.2 CS parameter encoding rules, page 707
uint8_t GetArqEnable(void) const
Get ARQ enable.
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
uint16_t m_arqSyncLoss
ARQ sync loss.
uint16_t m_arqBlockSize
ARQ block size.
void SetArqPurgeTimeout(uint16_t timeout)
Set ARQ purge timeout.
std::string m_serviceClassName
service class name
bool CheckMatch(Ipv4Address srcAddress, Ipv4Address dstAddress, uint16_t srcPort, uint16_t dstPort, uint8_t proto) const
check if a packets can be used with this classifier
enum Type GetType(void) const
Get type of service flow.
This class implements the Type-Len-Value structure channel encodings as described by "IEEE Standard f...
uint8_t GetFixedversusVariableSduIndicator(void) const
Get fixed versus varaiable SDU indicator.
void SetSduSize(uint8_t sduSize)
Set SDU size.
void InitValues(void)
Initial values.
uint16_t GetArqBlockSize(void) const
Get ARQ block size.
ServiceFlowRecord * m_record
service flow record
@ Minimum_Tolerable_Traffic_Rate
void SetMinReservedTrafficRate(uint32_t minResvRate)
Set minimum reserved traffic rate.
enum Direction GetDirection(void) const
Get direction.
uint16_t GetArqRetryTimeoutTx(void) const
Get ARQ retry timeout transmit.
void SetArqSyncLoss(uint16_t syncLoss)
Set ARQ sync loss.
void PrintQoSParameters(void) const
Print QOS parameters.
enum WimaxPhy::ModulationType m_modulationType
modulation type
void SetSfid(uint32_t sfid)
Set SFID.
Ptr< WimaxConnection > GetConnection(void) const
Can return a null connection is this service flow has not been associated yet to a connection.
void CleanUpQueue(void)
shall be called only by BS
IpcsClassifierRecord GetPacketClassifierRule(void) const
uint32_t m_requestTransmissionPolicy
request transmission policy
void SetMinTolerableTrafficRate(uint32_t minJitter)
Set minimum tolerable traffic rate.
@ Maximum_Sustained_Traffic_Rate
enum ServiceFlow::SchedulingType m_schedulingType
scheduling type
bool HasPackets(void) const
Check if packets are present.
void SetArqDeliverInOrder(uint8_t inOrder)
Set ARQ deliver in order.
uint8_t m_trafficPriority
traffic priority
void SetTrafficPriority(uint8_t priority)
Set traffic priority.
@ Fixed_length_versus_Variable_length_SDU_Indicator
void SetCsSpecification(enum CsSpecification spec)
Set CS specification.
uint8_t GetQosParamSetType(void) const
Get QOS parameter set type.
uint16_t GetArqSyncLoss(void) const
Get ARQ sync loss.
uint8_t GetTrafficPriority(void) const
Get traffic priority.
TlvValue * PeekValue(void)
Peek value.
enum CsSpecification GetCsSpecification(void) const
Get CS specification.
uint16_t GetTargetSAID(void) const
Get target SAID.
void SetIsEnabled(bool isEnabled)
Set is enabled flag.
SchedulingType
section 11.13.11 Service flow scheduling type, page 701
uint16_t m_unsolicitedGrantInterval
unsolicited grant interval
bool GetIsMulticast(void) const
Get is multicast.
void SetModulation(enum WimaxPhy::ModulationType modulationType)
Set modulation.
enum CsSpecification m_csSpecification
CS specification.
void SetToleratedJitter(uint32_t jitter)
Set tolerated jitter.
This class implements service flows as described by the IEEE-802.16 standard.
void SetArqWindowSize(uint16_t arqWindowSize)
Set ARQ retry timeout transmit.
void SetArqRetryTimeoutTx(uint16_t timeout)
Set ARQ retry timeout transmit.
CsParameters m_convergenceSublayerParam
convergence sublayer parameters
void SetQosParamSetType(uint8_t type)
Set QOS parameter set type.
uint16_t GetArqRetryTimeoutRx(void) const
Get ARQ retry timeout receive.
uint32_t GetMinTolerableTrafficRate(void) const
Get minimum tolerable traffic rate.
void SetTargetSAID(uint16_t targetSaid)
Set target SAID.
void SetFixedversusVariableSduIndicator(uint8_t sduIndicator)
Set fixed versus variable SDU indicator.
bool m_isEnabled
is enabled?
uint16_t m_targetSAID
traget SAID
void SetRequestTransmissionPolicy(uint32_t policy)
Set request transmission policy.
uint32_t GetSfid(void) const
Get SFID.
Ptr< WimaxConnection > m_connection
connection
Iterator End() const
End iterator.
uint8_t m_arqEnable
ARQ enable.
void SetMaxTrafficBurst(uint32_t maxTrafficBurst)
Set maximum traffic burst.
enum ServiceFlow::SchedulingType GetServiceSchedulingType(void) const
Get service scheduling type.
void SetArqRetryTimeoutRx(uint16_t timeout)
Set ARQ retry timeout receive.
uint32_t GetRequestTransmissionPolicy(void) const
Get request transmission policy.
uint32_t m_minTolerableTrafficRate
minimum tolerable traffic rate
uint16_t GetArqPurgeTimeout(void) const
Get ARQ purge timeout.
@ Request_Transmission_Policy
uint32_t m_minReservedTrafficRate
minimum reserved traffic rate
uint8_t m_arqDeliverInOrder
ARQ deliver in order.