ns-3
|
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. | |
ServiceFlow * | GetServiceFlow (uint32_t sfid) const |
ServiceFlow * | GetServiceFlow (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 | |
ServiceFlow * | ProcessDsaReq (const DsaReq &dsaReq, Cid cid) |
process a DSA-Req message | |
![]() | |
bool | AreServiceFlowsAllocated () |
bool | AreServiceFlowsAllocated (std::vector< ServiceFlow * > *serviceFlows) |
bool | AreServiceFlowsAllocated (std::vector< ServiceFlow * > serviceFlows) |
ServiceFlow * | GetNextServiceFlowToAllocate () |
uint32_t | GetNrServiceFlows (void) const |
ServiceFlow * | DoClassify (Ipv4Address SrcAddress, Ipv4Address DstAddress, uint16_t SrcPort, uint16_t DstPort, uint8_t Proto, ServiceFlow::Direction dir) const |
![]() | |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Dispose (void) |
void | AggregateObject (Ptr< Object > other) |
AggregateIterator | GetAggregateIterator (void) const |
void | Start (void) |
![]() | |
SimpleRefCount (const SimpleRefCount &o) | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
uint32_t | GetReferenceCount (void) const |
![]() | |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Additional Inherited Members | |
![]() | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::ServiceFlowManager. |
void ns3::BsServiceFlowManager::AddServiceFlow | ( | ServiceFlow * | serviceFlow | ) |
Add a new service flow.
serviceFlow | the service flow to add |
Reimplemented from ns3::ServiceFlowManager.
Referenced by AddMulticastServiceFlow(), and ProcessDsaReq().
|
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.
ServiceFlow * ns3::BsServiceFlowManager::GetServiceFlow | ( | uint32_t | sfid | ) | const |
Reimplemented from ns3::ServiceFlowManager.
Referenced by GetServiceFlow(), and ProcessDsaReq().
ServiceFlow * ns3::BsServiceFlowManager::GetServiceFlow | ( | Cid | cid | ) | const |
Reimplemented from ns3::ServiceFlowManager.
References GetServiceFlow().
std::vector< ServiceFlow * > ns3::BsServiceFlowManager::GetServiceFlows | ( | ServiceFlow::SchedulingType | schedulingType | ) | const |
Reimplemented from ns3::ServiceFlowManager.
Referenced by ns3::BSSchedulerRtps::BSSchedulerRTPSConnection().
process a DSA-ACK message
dsaAck | the message to process |
cid | the 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
dsaReq | the message to process |
cid | the identifier of the connection on which the message was received |
References AddServiceFlow(), ns3::ConnectionManager::CreateConnection(), ns3::WimaxNetDevice::GetConnectionManager(), ns3::Object::GetObject(), GetServiceFlow(), ns3::DsaReq::GetServiceFlow(), ns3::BaseStationNetDevice::GetSSManager(), NS_ASSERT_MSG, NS_LOG_INFO, and ns3::WimaxConnection::SetServiceFlow().