20 #ifndef BS_SERVICE_FLOW_MANAGER_H
21 #define BS_SERVICE_FLOW_MANAGER_H
27 #include "ns3/buffer.h"
28 #include "ns3/event-id.h"
39 class WimaxConnection;
40 class BaseStationNetDevice;
ServiceFlow * GetServiceFlow(uint32_t sfid) const
uint8_t m_maxDsaRspRetries
maximum number of DSA response retries
void AllocateServiceFlows(const DsaReq &dsaReq, Cid cid)
allocate service flows
void DoDispose() override
Destructor implementation.
~BsServiceFlowManager() override
Cid m_inuseScheduleDsaRspCid
in use schedule DSA response CID
void AddMulticastServiceFlow(ServiceFlow sf, WimaxPhy::ModulationType modulation)
add a multicast service flow
Ptr< WimaxNetDevice > m_device
the device
void ScheduleDsaRsp(ServiceFlow *serviceFlow, Cid cid)
Create DSA response function.
ConfirmationCode
Confirmation code enumeration.
@ CONFIRMATION_CODE_SUCCESS
@ CONFIRMATION_CODE_REJECT
void ProcessDsaAck(const DsaAck &dsaAck, Cid cid)
process a DSA-ACK message
std::vector< ServiceFlow * > GetServiceFlows(ServiceFlow::SchedulingType schedulingType) const
static TypeId GetTypeId()
Register this type.
void AddServiceFlow(ServiceFlow *serviceFlow)
Add a new service flow.
uint8_t GetMaxDsaRspRetries() const
void SetMaxDsaRspRetries(uint8_t maxDsaRspRetries)
set the maximum Dynamic ServiceFlow Add (DSA) retries
DsaRsp CreateDsaRsp(const ServiceFlow *serviceFlow, uint16_t transactionId)
Create DSA response function.
EventId m_dsaAckTimeoutEvent
DSA ack timeout event.
EventId GetDsaAckTimeoutEvent() const
BsServiceFlowManager(Ptr< BaseStationNetDevice > device)
Constructor.
uint32_t m_sfidIndex
SFID index.
ServiceFlow * ProcessDsaReq(const DsaReq &dsaReq, Cid cid)
process a DSA-Req message
This class implements the DSA-ACK message described by "IEEE Standard for Local and metropolitan area...
This class implements the DSA-REQ message described by "IEEE Standard for Local and metropolitan area...
This class implements the DSA-RSP message described by "IEEE Standard for Local and metropolitan area...
An identifier for simulation events.
Smart pointer class similar to boost::intrusive_ptr.
This class implements service flows as described by the IEEE-802.16 standard.
SchedulingType
section 11.13.11 Service flow scheduling type, page 701
The same service flow manager class serves both for BS and SS though some functions are exclusive to ...
a unique identifier for an interface.
ModulationType
ModulationType enumeration.
Every class exported by the ns3 library is enclosed in the ns3 namespace.