23 #include "ns3/pointer.h"
25 #include "ns3/uinteger.h"
38 .AddAttribute (
"Type",
57 .AddAttribute (
"TxQueue",
61 MakePointerChecker<WimaxMacQueue> ());
124 return m_queue->Enqueue (packet, hdrType, hdr);
130 return m_queue->Dequeue (packetType);
136 return m_queue->Dequeue (packetType, availableByte);
148 return !
m_queue->IsEmpty (packetType);
160 return "Initial Ranging";
Smart pointer class similar to boost::intrusive_ptr.
enum ServiceFlow::SchedulingType GetSchedulingType(void) const
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Ptr< const AttributeAccessor > MakeEnumAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
void FragmentEnqueue(Ptr< const Packet > fragment)
enqueue a received packet (that is a fragment) into the fragments queue
ServiceFlow * m_serviceFlow
uint8_t GetSchedulingType(void) const
#define NS_FATAL_ERROR(msg)
Fatal error handling.
ServiceFlow * GetServiceFlow(void) const
Ptr< WimaxMacQueue > GetQueue(void) const
Ptr< const AttributeAccessor > MakePointerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
Hold variables of type enum.
WimaxConnection(Cid cid, enum Cid::Type type)
const FragmentsQueue GetFragmentsQueue(void) const
get a queue of received fragments
enum Cid::Type GetType(void) const
virtual void DoDispose(void)
Destructor implementation.
bool HasPackets(void) const
void ClearFragmentsQueue(void)
delete all enqueued fragments
bool Enqueue(Ptr< Packet > packet, const MacHeaderType &hdrType, const GenericMacHeader &hdr)
enqueue a packet in the queue of the connection
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Hold objects of type Ptr.
This class implements service flows as described by the IEEE-802.16 standard.
std::list< Ptr< const Packet > > FragmentsQueue
Ptr< Packet > Dequeue(MacHeaderType::HeaderType packetType=MacHeaderType::HEADER_TYPE_GENERIC)
dequeue a packet from the queue of the connection
Ptr< const AttributeChecker > MakeEnumChecker(int v1, std::string n1, int v2, std::string n2, int v3, std::string n3, int v4, std::string n4, int v5, std::string n5, int v6, std::string n6, int v7, std::string n7, int v8, std::string n8, int v9, std::string n9, int v10, std::string n10, int v11, std::string n11, int v12, std::string n12, int v13, std::string n13, int v14, std::string n14, int v15, std::string n15, int v16, std::string n16, int v17, std::string n17, int v18, std::string n18, int v19, std::string n19, int v20, std::string n20, int v21, std::string n21, int v22, std::string n22)
Make an EnumChecker pre-configured with a set of allowed values by name.
void SetServiceFlow(ServiceFlow *serviceFlow)
set the service flow associated to this connection
FragmentsQueue m_fragmentsQueue
static TypeId GetTypeId(void)
std::string GetTypeStr(void) const
Ptr< T > CreateObject(void)
Create an object by type, with varying number of constructor parameters.
A base class which provides memory management and object aggregation.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
HeaderType
this class implements the mac header type field.
Ptr< WimaxMacQueue > m_queue