23 #include "ns3/simulator.h"
24 #include "ns3/packet.h"
32 #include "ns3/pointer.h"
39 #include "ns3/buffer.h"
47 m_maxDsaReqRetries (100),
50 m_currentTransactionId (0),
51 m_transactionIdIndex (1),
53 m_pendingServiceFlow (0)
110 NS_ASSERT_MSG (serviceFlow != 0,
"Error while initiating a new service flow: All service flows have been initiated");
163 NS_LOG_DEBUG (
"Service flows could not be initialized!");
206 (*m_pendingServiceFlow) = sf;
214 ss->GetConnectionManager ()->AddConnection (transportConnection,
220 if (serviceFlow == 0)
222 ss->SetAreServiceFlowsAllocated (
true);
uint8_t m_maxDsaReqRetries
smart pointer class similar to boost::intrusive_ptr
EventId GetDsaRspTimeoutEvent(void) const
void SetServiceFlow(ServiceFlow sf)
specify a service flow to be requested by this message
EventId GetDsaAckTimeoutEvent(void) const
void SetConnection(Ptr< WimaxConnection > connection)
ServiceFlow GetServiceFlow(void) const
Ptr< SubscriberStationNetDevice > m_device
#define NS_LOG_COMPONENT_DEFINE(name)
ServiceFlow * GetNextServiceFlowToAllocate()
static void Cancel(const EventId &id)
bool IsRunning(void) const
static EventId Schedule(Time const &time, MEM mem_ptr, OBJ obj)
void AddServiceFlow(ServiceFlow *serviceFlow)
add a service flow to the list
void SetMaxDsaReqRetries(uint8_t maxDsaReqRetries)
sets the maximum retries on DSA request message
void SetUnsolicitedPollingInterval(uint16_t)
void CopyParametersFrom(ServiceFlow sf)
~SsServiceFlowManager(void)
uint16_t m_currentTransactionId
void SetUnsolicitedGrantInterval(uint16_t)
SsServiceFlowManager(Ptr< SubscriberStationNetDevice > device)
creates a service flow manager and attaches it to a device
void InitiateServiceFlows(void)
ServiceFlow * m_pendingServiceFlow
EventId m_dsaAckTimeoutEvent
uint8_t GetMaxDsaReqRetries(void) const
DsaReq CreateDsaReq(const ServiceFlow *serviceFlow)
void SetTransactionId(uint16_t transactionId)
#define NS_ASSERT_MSG(condition, message)
void SetIsEnabled(bool isEnabled)
void SetTransactionId(uint16_t transactionId)
an identifier for simulation events.
void AddServiceFlow(ServiceFlow *serviceFlow)
uint16_t GetTransactionId(void) const
#define NS_LOG_DEBUG(msg)
uint16_t GetTransactionId(void) const
Ptr< Packet > CreateDsaAck(void)
uint16_t m_transactionIdIndex
void ProcessDsaRsp(const DsaRsp &dsaRsp)
EventId m_dsaRspTimeoutEvent
void AddHeader(const Header &header)
void SetConfirmationCode(uint16_t confirmationCode)
uint16_t GetCid(void) const
void ScheduleDsaReq(const ServiceFlow *serviceFlow)