26#include "ns3/pointer.h" 
   27#include "ns3/uinteger.h" 
   41                            .SetGroupName(
"Wimax")
 
   62                            .AddAttribute(
"TxQueue",
 
   66                                          MakePointerChecker<WimaxMacQueue>());
 
   74      m_serviceFlow(nullptr)
 
  130    return m_queue->Enqueue(packet, hdrType, hdr);
 
  136    return m_queue->Dequeue(packetType);
 
  142    return m_queue->Dequeue(packetType, availableByte);
 
  154    return !
m_queue->IsEmpty(packetType);
 
  165        return "Initial Ranging";
 
Hold variables of type enum.
 
A base class which provides memory management and object aggregation.
 
Hold objects of type Ptr<T>.
 
Smart pointer class similar to boost::intrusive_ptr.
 
This class implements service flows as described by the IEEE-802.16 standard.
 
ServiceFlow::SchedulingType GetSchedulingType() const
Get scheduling type.
 
a unique identifier for an interface.
 
TypeId SetParent(TypeId tid)
Set the parent TypeId.
 
ServiceFlow * m_serviceFlow
service flow
 
bool Enqueue(Ptr< Packet > packet, const MacHeaderType &hdrType, const GenericMacHeader &hdr)
enqueue a packet in the queue of the connection
 
std::string GetTypeStr() const
Get type string.
 
ServiceFlow * GetServiceFlow() const
 
void DoDispose() override
Destructor implementation.
 
Cid::Type GetType() const
Get type function.
 
Ptr< Packet > Dequeue(MacHeaderType::HeaderType packetType=MacHeaderType::HEADER_TYPE_GENERIC)
dequeue a packet from the queue of the connection
 
void ClearFragmentsQueue()
delete all enqueued fragments
 
Cid GetCid() const
Get CID function.
 
uint8_t GetSchedulingType() const
 
WimaxConnection(Cid cid, Cid::Type type)
Constructor.
 
void SetServiceFlow(ServiceFlow *serviceFlow)
set the service flow associated to this connection
 
Ptr< WimaxMacQueue > GetQueue() const
 
Ptr< WimaxMacQueue > m_queue
queue
 
Cid::Type m_cidType
CID type.
 
static TypeId GetTypeId()
Get the type ID.
 
std::list< Ptr< const Packet > > FragmentsQueue
Definition of Fragments Queue data type.
 
FragmentsQueue m_fragmentsQueue
fragments queue
 
const FragmentsQueue GetFragmentsQueue() const
get a queue of received fragments
 
void FragmentEnqueue(Ptr< const Packet > fragment)
enqueue a received packet (that is a fragment) into the fragments queue
 
~WimaxConnection() override
 
Class implementing the device packet queue.
 
Ptr< const AttributeAccessor > MakeEnumAccessor(T1 a1)
 
Ptr< const AttributeAccessor > MakePointerAccessor(T1 a1)
 
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
 
Ptr< T > CreateObject(Args &&... args)
Create an object by type, with varying number of constructor parameters.
 
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
 
Every class exported by the ns3 library is enclosed in the ns3 namespace.
 
Ptr< const AttributeChecker > MakeEnumChecker(int v, std::string n, Ts... args)
Make an EnumChecker pre-configured with a set of allowed values by name.