#include <connection-manager.h>
Public Member Functions | |
ConnectionManager (void) | |
~ConnectionManager (void) | |
void | AddConnection (Ptr< WimaxConnection > connection, Cid::Type type) |
add a connection to the list of managed connections | |
void | AllocateManagementConnections (SSRecord *ssRecord, RngRsp *rngrsp) |
allocates the management connection for an ss record. This method is only used by BS | |
Ptr< WimaxConnection > | CreateConnection (Cid::Type type) |
create a connection of type type | |
void | DoDispose (void) |
Ptr< WimaxConnection > | GetConnection (Cid cid) |
std::vector< Ptr < WimaxConnection > > | GetConnections (Cid::Type type) const |
uint32_t | GetNPackets (Cid::Type type, ServiceFlow::SchedulingType schedulingType) const |
bool | HasPackets (void) const |
void | SetCidFactory (CidFactory *cidFactory) |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~ObjectBase () |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
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) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Private Attributes | |
std::vector< Ptr < WimaxConnection > > | m_basicConnections |
CidFactory * | m_cidFactory |
std::vector< Ptr < WimaxConnection > > | m_multicastConnections |
std::vector< Ptr < WimaxConnection > > | m_primaryConnections |
std::vector< Ptr < WimaxConnection > > | m_transportConnections |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | DoInitialize (void) |
virtual void | NotifyNewAggregate (void) |
The same connection manager class serves both for BS and SS though some functions are exclusive to only one of them.
ns3::ConnectionManager is accessible through the following paths with Config::Set and Config::Connect:
No Attributes are defined for this type.
No TraceSources are defined for this type.
Definition at line 44 of file connection-manager.h.
ns3::ConnectionManager::ConnectionManager | ( | void | ) |
Definition at line 47 of file connection-manager.cc.
ns3::ConnectionManager::~ConnectionManager | ( | void | ) |
Definition at line 57 of file connection-manager.cc.
void ns3::ConnectionManager::AddConnection | ( | Ptr< WimaxConnection > | connection, |
Cid::Type | type | ||
) |
add a connection to the list of managed connections
connection | the connection to add |
type | the type of connection to add |
Definition at line 104 of file connection-manager.cc.
References ns3::Cid::BASIC, m_basicConnections, m_multicastConnections, m_primaryConnections, m_transportConnections, ns3::Cid::MULTICAST, NS_FATAL_ERROR, ns3::Cid::PRIMARY, and ns3::Cid::TRANSPORT.
Referenced by CreateConnection(), and ns3::SsServiceFlowManager::ProcessDsaRsp().
allocates the management connection for an ss record. This method is only used by BS
ssRecord | the ss record to wich the management connection will be allocated |
rngrsp | the ranging response message |
Definition at line 68 of file connection-manager.cc.
References ns3::Cid::BASIC, CreateConnection(), ns3::WimaxConnection::GetCid(), ns3::Cid::PRIMARY, ns3::SSRecord::SetBasicCid(), ns3::RngRsp::SetBasicCid(), ns3::SSRecord::SetPrimaryCid(), and ns3::RngRsp::SetPrimaryCid().
Referenced by ns3::BSLinkManager::PerformInitialRanging().
Ptr< WimaxConnection > ns3::ConnectionManager::CreateConnection | ( | Cid::Type | type | ) |
create a connection of type type
type | type of the connection to create |
Definition at line 81 of file connection-manager.cc.
References AddConnection(), ns3::CidFactory::Allocate(), ns3::CidFactory::AllocateTransportOrSecondary(), ns3::Cid::BASIC, m_cidFactory, ns3::Cid::MULTICAST, NS_FATAL_ERROR, ns3::Cid::PRIMARY, and ns3::Cid::TRANSPORT.
Referenced by ns3::BsServiceFlowManager::AddMulticastServiceFlow(), AllocateManagementConnections(), and ns3::BsServiceFlowManager::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::Object.
Definition at line 53 of file connection-manager.cc.
Ptr< WimaxConnection > ns3::ConnectionManager::GetConnection | ( | Cid | cid | ) |
Definition at line 127 of file connection-manager.cc.
References m_basicConnections, m_primaryConnections, and m_transportConnections.
Referenced by ns3::BaseStationNetDevice::DoReceive(), ns3::SubscriberStationNetDevice::DoReceive(), ns3::BaseStationNetDevice::GetConnection(), ns3::BandwidthManager::ProcessBandwidthRequest(), and ns3::UplinkSchedulerMBQoS::ProcessBandwidthRequest().
std::vector< Ptr< WimaxConnection > > ns3::ConnectionManager::GetConnections | ( | Cid::Type | type | ) | const |
Definition at line 159 of file connection-manager.cc.
References ns3::Cid::BASIC, m_basicConnections, m_primaryConnections, m_transportConnections, NS_FATAL_ERROR, ns3::Cid::PRIMARY, and ns3::Cid::TRANSPORT.
Referenced by ns3::BSSchedulerRtps::BSSchedulerBasicConnection(), ns3::BSSchedulerRtps::BSSchedulerPrimaryConnection(), and ns3::BSSchedulerSimple::SelectConnection().
uint32_t ns3::ConnectionManager::GetNPackets | ( | Cid::Type | type, |
ServiceFlow::SchedulingType | schedulingType | ||
) | const |
Definition at line 183 of file connection-manager.cc.
References ns3::Cid::BASIC, m_basicConnections, m_primaryConnections, m_transportConnections, NS_FATAL_ERROR, ns3::Cid::PRIMARY, ns3::ServiceFlow::SF_TYPE_ALL, and ns3::Cid::TRANSPORT.
Referenced by ns3::BSSchedulerSimple::Schedule(), and ns3::BSSchedulerRtps::Schedule().
|
static |
Reimplemented from ns3::Object.
Definition at line 40 of file connection-manager.cc.
References ns3::TypeId::SetParent().
bool ns3::ConnectionManager::HasPackets | ( | void | ) | const |
Definition at line 228 of file connection-manager.cc.
References m_basicConnections, m_primaryConnections, and m_transportConnections.
void ns3::ConnectionManager::SetCidFactory | ( | CidFactory * | cidFactory | ) |
Definition at line 62 of file connection-manager.cc.
References m_cidFactory.
Referenced by ns3::BaseStationNetDevice::Start().
|
private |
Definition at line 83 of file connection-manager.h.
Referenced by AddConnection(), GetConnection(), GetConnections(), GetNPackets(), and HasPackets().
|
private |
Definition at line 88 of file connection-manager.h.
Referenced by CreateConnection(), and SetCidFactory().
|
private |
Definition at line 86 of file connection-manager.h.
Referenced by AddConnection().
|
private |
Definition at line 84 of file connection-manager.h.
Referenced by AddConnection(), GetConnection(), GetConnections(), GetNPackets(), and HasPackets().
|
private |
Definition at line 85 of file connection-manager.h.
Referenced by AddConnection(), GetConnection(), GetConnections(), GetNPackets(), and HasPackets().