#include <wimax-connection.h>
Inheritance diagram for ns3::WimaxConnection:
Collaboration diagram for ns3::WimaxConnection:Public Types | |
| typedef std::list< Ptr< const Packet > > | FragmentsQueue |
Public Member Functions | |
| WimaxConnection (Cid cid, enum Cid::Type type) | |
| ~WimaxConnection (void) | |
| void | ClearFragmentsQueue (void) |
| delete all enqueued fragments | |
| Ptr< Packet > | Dequeue (MacHeaderType::HeaderType packetType=MacHeaderType::HEADER_TYPE_GENERIC) |
| dequeue a packet from the queue of the connection | |
| Ptr< Packet > | Dequeue (MacHeaderType::HeaderType packetType, uint32_t availableByte) |
| bool | Enqueue (Ptr< Packet > packet, const MacHeaderType &hdrType, const GenericMacHeader &hdr) |
| enqueue a packet in the queue of the connection | |
| void | FragmentEnqueue (Ptr< const Packet > fragment) |
| enqueue a received packet (that is a fragment) into the fragments queue | |
| Cid | GetCid (void) const |
| const FragmentsQueue | GetFragmentsQueue (void) const |
| get a queue of received fragments | |
| Ptr< WimaxMacQueue > | GetQueue (void) const |
| uint8_t | GetSchedulingType (void) const |
| ServiceFlow * | GetServiceFlow (void) const |
| enum Cid::Type | GetType (void) const |
| std::string | GetTypeStr (void) const |
| bool | HasPackets (void) const |
| bool | HasPackets (MacHeaderType::HeaderType packetType) const |
| void | SetServiceFlow (ServiceFlow *serviceFlow) |
| set the service flow associated to this connection | |
Public Member Functions inherited from ns3::Object | |
| 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 | Start (void) |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
| SimpleRefCount () | |
| SimpleRefCount (const SimpleRefCount &o) | |
| uint32_t | GetReferenceCount (void) const |
| SimpleRefCount & | operator= (const SimpleRefCount &o) |
| void | Ref (void) const |
| void | Unref (void) const |
Public Member Functions inherited from ns3::ObjectBase | |
| 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) |
| This method returns the TypeId associated to ns3::WimaxConnection. | |
Private Member Functions | |
| virtual void | DoDispose (void) |
Private Attributes | |
| Cid | m_cid |
| enum Cid::Type | m_cidType |
| FragmentsQueue | m_fragmentsQueue |
| Ptr< WimaxMacQueue > | m_queue |
| ServiceFlow * | m_serviceFlow |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::Object | |
| Object (const Object &o) | |
| virtual void | DoDispose (void) |
| virtual void | DoStart (void) |
| virtual void | NotifyNewAggregate (void) |
Definition at line 41 of file wimax-connection.h.
| typedef std::list<Ptr<const Packet> > ns3::WimaxConnection::FragmentsQueue |
Definition at line 97 of file wimax-connection.h.
Definition at line 65 of file wimax-connection.cc.
| ns3::WimaxConnection::~WimaxConnection | ( | void | ) |
Definition at line 73 of file wimax-connection.cc.
| void ns3::WimaxConnection::ClearFragmentsQueue | ( | void | ) |
delete all enqueued fragments
Definition at line 195 of file wimax-connection.cc.
References m_fragmentsQueue.
Referenced by ns3::BaseStationNetDevice::DoReceive(), ns3::SubscriberStationNetDevice::DoReceive(), and Ns3WimaxFragmentationTestCase::DoRun().
Here is the caller graph for this function:| Ptr< Packet > ns3::WimaxConnection::Dequeue | ( | MacHeaderType::HeaderType | packetType = MacHeaderType::HEADER_TYPE_GENERIC | ) |
dequeue a packet from the queue of the connection
| packetType | the type of the packet to dequeue |
Definition at line 128 of file wimax-connection.cc.
References ns3::WimaxMacQueue::Dequeue(), and m_queue.
Referenced by ns3::BSSchedulerRtps::BSSchedulerBasicConnection(), ns3::BSSchedulerRtps::BSSchedulerBEConnection(), ns3::BSSchedulerRtps::BSSchedulerBroadcastConnection(), ns3::BSSchedulerRtps::BSSchedulerInitialRangingConnection(), ns3::BSSchedulerRtps::BSSchedulerNRTPSConnection(), ns3::BSSchedulerRtps::BSSchedulerPrimaryConnection(), ns3::BSSchedulerRtps::BSSchedulerRTPSConnection(), ns3::ServiceFlow::CleanUpQueue(), ns3::BSSchedulerSimple::CreateUgsBurst(), ns3::BSSchedulerRtps::CreateUgsBurst(), Ns3WimaxFragmentationTestCase::DoRun(), ns3::SSScheduler::Schedule(), and ns3::BSSchedulerSimple::Schedule().
Here is the call graph for this function:
Here is the caller graph for this function:| Ptr< Packet > ns3::WimaxConnection::Dequeue | ( | MacHeaderType::HeaderType | packetType, |
| uint32_t | availableByte | ||
| ) |
Definition at line 134 of file wimax-connection.cc.
References ns3::WimaxMacQueue::Dequeue(), and m_queue.
Here is the call graph for this function:
|
privatevirtual |
Definition at line 78 of file wimax-connection.cc.
References m_queue.
| bool ns3::WimaxConnection::Enqueue | ( | Ptr< Packet > | packet, |
| const MacHeaderType & | hdrType, | ||
| const GenericMacHeader & | hdr | ||
| ) |
enqueue a packet in the queue of the connection
| packet | the packet to be enqueued |
| hdrType | the header type of the packet |
| hdr | the header of the packet |
Definition at line 121 of file wimax-connection.cc.
References ns3::WimaxMacQueue::Enqueue(), and m_queue.
Referenced by Ns3WimaxFragmentationTestCase::DoRun(), ns3::BaseStationNetDevice::Enqueue(), and ns3::SubscriberStationNetDevice::Enqueue().
Here is the call graph for this function:
Here is the caller graph for this function:enqueue a received packet (that is a fragment) into the fragments queue
| fragment | received fragment |
Definition at line 189 of file wimax-connection.cc.
References m_fragmentsQueue.
Referenced by ns3::BaseStationNetDevice::DoReceive(), ns3::SubscriberStationNetDevice::DoReceive(), and Ns3WimaxFragmentationTestCase::DoRun().
Here is the caller graph for this function:| Cid ns3::WimaxConnection::GetCid | ( | void | ) | const |
Definition at line 85 of file wimax-connection.cc.
References m_cid.
Referenced by ns3::ConnectionManager::AllocateManagementConnections(), ns3::BSSchedulerRtps::BSSchedulerBasicConnection(), ns3::BSSchedulerRtps::BSSchedulerBEConnection(), ns3::BSSchedulerRtps::BSSchedulerBroadcastConnection(), ns3::BSSchedulerRtps::BSSchedulerInitialRangingConnection(), ns3::BSSchedulerRtps::BSSchedulerNRTPSConnection(), ns3::BSSchedulerRtps::BSSchedulerPrimaryConnection(), ns3::BSSchedulerRtps::BSSchedulerRTPSConnection(), ns3::BSSchedulerRtps::BSSchedulerUGSConnection(), ns3::SubscriberStationNetDevice::DoReceive(), Ns3WimaxFragmentationTestCase::DoRun(), ns3::SubscriberStationNetDevice::DoSend(), ns3::BaseStationNetDevice::Enqueue(), ns3::SubscriberStationNetDevice::Enqueue(), ns3::SubscriberStationNetDevice::GetBasicCid(), ns3::ServiceFlow::GetCid(), ns3::SubscriberStationNetDevice::GetPrimaryCid(), ns3::SSLinkManager::PerformRanging(), ns3::SubscriberStationNetDevice::ProcessDlMap(), ns3::SubscriberStationNetDevice::ProcessUlMap(), ns3::BSSchedulerSimple::Schedule(), ns3::BandwidthManager::SendBandwidthRequest(), ns3::SubscriberStationNetDevice::SendBurst(), ns3::UplinkSchedulerRtps::ServiceBandwidthRequests(), ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequests(), ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequestsBytes(), ns3::UplinkSchedulerSimple::ServiceUnsolicitedGrants(), ns3::UplinkSchedulerRtps::ServiceUnsolicitedGrants(), and ns3::UplinkSchedulerMBQoS::ServiceUnsolicitedGrants().
Here is the caller graph for this function:| const WimaxConnection::FragmentsQueue ns3::WimaxConnection::GetFragmentsQueue | ( | void | ) | const |
get a queue of received fragments
Definition at line 183 of file wimax-connection.cc.
References m_fragmentsQueue.
Referenced by ns3::BaseStationNetDevice::DoReceive(), and Ns3WimaxFragmentationTestCase::DoRun().
Here is the caller graph for this function:| Ptr< WimaxMacQueue > ns3::WimaxConnection::GetQueue | ( | void | ) | const |
Definition at line 97 of file wimax-connection.cc.
References m_queue.
Referenced by ns3::BSSchedulerRtps::BSSchedulerBasicConnection(), ns3::BSSchedulerRtps::BSSchedulerBEConnection(), ns3::BSSchedulerRtps::BSSchedulerBroadcastConnection(), ns3::BSSchedulerRtps::BSSchedulerInitialRangingConnection(), ns3::BSSchedulerRtps::BSSchedulerNRTPSConnection(), ns3::BSSchedulerRtps::BSSchedulerPrimaryConnection(), ns3::BSSchedulerRtps::BSSchedulerRTPSConnection(), ns3::BSScheduler::CheckForFragmentation(), ns3::ServiceFlow::CleanUpQueue(), ns3::BSSchedulerSimple::CreateUgsBurst(), ns3::BSSchedulerRtps::CreateUgsBurst(), Ns3WimaxFragmentationTestCase::DoRun(), ns3::ServiceFlow::GetQueue(), GetTypeId(), ns3::SSScheduler::Schedule(), ns3::BSSchedulerSimple::Schedule(), and ns3::BSSchedulerRtps::Schedule().
Here is the caller graph for this function:| uint8_t ns3::WimaxConnection::GetSchedulingType | ( | void | ) | const |
Definition at line 115 of file wimax-connection.cc.
References ns3::ServiceFlow::GetSchedulingType(), and m_serviceFlow.
Referenced by ns3::SubscriberStationNetDevice::Enqueue(), and ns3::BSSchedulerSimple::Schedule().
Here is the call graph for this function:
Here is the caller graph for this function:| ServiceFlow * ns3::WimaxConnection::GetServiceFlow | ( | void | ) | const |
Definition at line 109 of file wimax-connection.cc.
References m_serviceFlow.
Referenced by ns3::BSSchedulerRtps::BSSchedulerBEConnection(), ns3::BSSchedulerRtps::BSSchedulerNRTPSConnection(), ns3::BSSchedulerRtps::BSSchedulerRTPSConnection(), ns3::BSSchedulerRtps::BSSchedulerUGSConnection(), ns3::SubscriberStationNetDevice::DoReceive(), ns3::BSSchedulerSimple::Schedule(), and ns3::SubscriberStationNetDevice::SendBurst().
Here is the caller graph for this function:| enum Cid::Type ns3::WimaxConnection::GetType | ( | void | ) | const |
Definition at line 91 of file wimax-connection.cc.
References m_cidType.
Referenced by ns3::BSSchedulerRtps::BSSchedulerBEConnection(), ns3::BSSchedulerRtps::BSSchedulerNRTPSConnection(), ns3::BSSchedulerRtps::BSSchedulerUGSConnection(), ns3::BSScheduler::CheckForFragmentation(), ns3::SubscriberStationNetDevice::Enqueue(), GetTypeId(), ns3::SSScheduler::Schedule(), ns3::BSSchedulerSimple::Schedule(), and ns3::SubscriberStationNetDevice::SendBurst().
Here is the caller graph for this function:
|
static |
This method returns the TypeId associated to ns3::WimaxConnection.
This object is accessible through the following paths with Config::Set and Config::Connect:
Attributes defined for this type:
No TraceSources defined for this type.
Reimplemented from ns3::Object.
Definition at line 32 of file wimax-connection.cc.
References ns3::Cid::BASIC, ns3::Cid::BROADCAST, GetQueue(), GetType(), ns3::Cid::INITIAL_RANGING, ns3::MakeEnumAccessor(), ns3::MakeEnumChecker(), ns3::Cid::MULTICAST, ns3::Cid::PADDING, ns3::Cid::PRIMARY, ns3::TypeId::SetParent(), and ns3::Cid::TRANSPORT.
Here is the call graph for this function:| std::string ns3::WimaxConnection::GetTypeStr | ( | void | ) | const |
Definition at line 152 of file wimax-connection.cc.
References ns3::Cid::BASIC, ns3::Cid::BROADCAST, ns3::Cid::INITIAL_RANGING, m_cidType, ns3::Cid::MULTICAST, NS_FATAL_ERROR, ns3::Cid::PRIMARY, and ns3::Cid::TRANSPORT.
| bool ns3::WimaxConnection::HasPackets | ( | void | ) | const |
Definition at line 140 of file wimax-connection.cc.
References ns3::WimaxMacQueue::IsEmpty(), and m_queue.
Referenced by ns3::BSSchedulerRtps::BSSchedulerBroadcastConnection(), ns3::BSSchedulerRtps::BSSchedulerInitialRangingConnection(), ns3::ServiceFlow::CleanUpQueue(), ns3::ServiceFlow::HasPackets(), ns3::SSScheduler::Schedule(), ns3::BSSchedulerSimple::Schedule(), and ns3::SSScheduler::SelectConnection().
Here is the call graph for this function:
Here is the caller graph for this function:| bool ns3::WimaxConnection::HasPackets | ( | MacHeaderType::HeaderType | packetType | ) | const |
| packetType | type of packet to check in the queue |
Definition at line 146 of file wimax-connection.cc.
References ns3::WimaxMacQueue::IsEmpty(), and m_queue.
Here is the call graph for this function:| void ns3::WimaxConnection::SetServiceFlow | ( | ServiceFlow * | serviceFlow | ) |
set the service flow associated to this connection
| serviceFlow | The service flow to be associated to this connection |
Definition at line 103 of file wimax-connection.cc.
References m_serviceFlow.
Referenced by ns3::BsServiceFlowManager::ProcessDsaReq(), ns3::SsServiceFlowManager::ProcessDsaRsp(), ns3::ServiceFlow::ServiceFlow(), and ns3::ServiceFlow::SetConnection().
Here is the caller graph for this function:
|
private |
Definition at line 115 of file wimax-connection.h.
Referenced by GetCid().
|
private |
Definition at line 116 of file wimax-connection.h.
Referenced by GetType(), and GetTypeStr().
|
private |
Definition at line 121 of file wimax-connection.h.
Referenced by ClearFragmentsQueue(), FragmentEnqueue(), and GetFragmentsQueue().
|
private |
Definition at line 117 of file wimax-connection.h.
Referenced by Dequeue(), DoDispose(), Enqueue(), GetQueue(), and HasPackets().
|
private |
Definition at line 118 of file wimax-connection.h.
Referenced by GetSchedulingType(), GetServiceFlow(), and SetServiceFlow().