#include <wimax-connection.h>
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 | |
![]() | |
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) |
![]() | |
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 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 | |
![]() | |
Object (const Object &o) | |
virtual void | DoDispose (void) |
virtual void | DoStart (void) |
virtual void | NotifyNewAggregate (void) |
ns3::WimaxConnection is accessible through the following paths with Config::Set and Config::Connect:
No TraceSources are defined for this type.
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().
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().
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.
|
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().
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().
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().
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().
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().
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().
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().
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().
|
static |
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.
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().
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.
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().
|
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().