ns-3
ns3::BsServiceFlowManager Class Reference
Inheritance diagram for ns3::BsServiceFlowManager:
Collaboration diagram for ns3::BsServiceFlowManager:

List of all members.

Public Types

enum  ConfirmationCode { CONFIRMATION_CODE_SUCCESS, CONFIRMATION_CODE_REJECT }

Public Member Functions

 BsServiceFlowManager (Ptr< BaseStationNetDevice > device)
void DoDispose (void)
void AddServiceFlow (ServiceFlow *serviceFlow)
 Add a new service flow.
ServiceFlowGetServiceFlow (uint32_t sfid) const
ServiceFlowGetServiceFlow (Cid cid) const
std::vector< ServiceFlow * > GetServiceFlows (ServiceFlow::SchedulingType schedulingType) const
void SetMaxDsaRspRetries (uint8_t maxDsaRspRetries)
 set the maximum Dynamic ServiceFlow Add (DSA) retries
EventId GetDsaAckTimeoutEvent (void) const
void AllocateServiceFlows (const DsaReq &dsaReq, Cid cid)
void AddMulticastServiceFlow (ServiceFlow sf, enum WimaxPhy::ModulationType modulation)
 add a multicast service flow
void ProcessDsaAck (const DsaAck &dsaAck, Cid cid)
 process a DSA-ACK message
ServiceFlowProcessDsaReq (const DsaReq &dsaReq, Cid cid)
 process a DSA-Req message

Member Function Documentation

Add a new service flow.

Parameters:
serviceFlowthe service flow to add

Reimplemented from ns3::ServiceFlowManager.

Referenced by AddMulticastServiceFlow(), and ProcessDsaReq().

void ns3::BsServiceFlowManager::DoDispose ( void  ) [virtual]

This method is called by Object::Dispose or by the object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.

It is safe to call GetObject from within this method.

Reimplemented from ns3::ServiceFlowManager.

Returns:
the service flow which has as identifier sfid

Reimplemented from ns3::ServiceFlowManager.

Referenced by GetServiceFlow(), and ProcessDsaReq().

Returns:
the service flow which has as connection identifier cid

Reimplemented from ns3::ServiceFlowManager.

References GetServiceFlow().

std::vector< ServiceFlow * > ns3::BsServiceFlowManager::GetServiceFlows ( ServiceFlow::SchedulingType  schedulingType) const
Returns:
the list of service flows configured with schedulingType as a QoS class

Reimplemented from ns3::ServiceFlowManager.

Referenced by ns3::BSSchedulerRtps::BSSchedulerRTPSConnection().

void ns3::BsServiceFlowManager::ProcessDsaAck ( const DsaAck &  dsaAck,
Cid  cid 
)

process a DSA-ACK message

Parameters:
dsaAckthe message to process
cidthe identifier of the connection on which the message was received

References ns3::ServiceFlowManager::AreServiceFlowsAllocated(), ns3::Object::GetObject(), and ns3::BaseStationNetDevice::GetSSManager().

ServiceFlow * ns3::BsServiceFlowManager::ProcessDsaReq ( const DsaReq &  dsaReq,
Cid  cid 
)

process a DSA-Req message

Parameters:
dsaReqthe message to process
cidthe identifier of the connection on which the message was received

References AddServiceFlow(), ns3::ConnectionManager::CreateConnection(), ns3::WimaxNetDevice::GetConnectionManager(), ns3::Object::GetObject(), GetServiceFlow(), ns3::BaseStationNetDevice::GetSSManager(), NS_ASSERT_MSG, NS_LOG_INFO, and ns3::WimaxConnection::SetServiceFlow().


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