ns-3
|
Classes | |
struct | QueueElement |
Public Member Functions | |
WimaxMacQueue (uint32_t maxSize) | |
void | SetMaxSize (uint32_t maxSize) |
set the maximum queue size | |
uint32_t | GetMaxSize (void) const |
bool | Enqueue (Ptr< Packet > packet, const MacHeaderType &hdrType, const GenericMacHeader &hdr) |
Enqueue a packet. | |
Ptr< Packet > | Dequeue (MacHeaderType::HeaderType packetType) |
Dequeue a packet of type packetType from the queue. | |
Ptr< Packet > | Dequeue (MacHeaderType::HeaderType packetType, uint32_t availableByte) |
Dequeue a fragment of size availableByte from the queue. | |
Ptr< Packet > | Peek (GenericMacHeader &hdr) const |
Same as Dequeue but does not pop from queue. | |
Ptr< Packet > | Peek (GenericMacHeader &hdr, Time &timeStamp) const |
Ptr< Packet > | Peek (MacHeaderType::HeaderType packetType) const |
Two versions for SS without Generic MAC Header parameter, as SS's scheduler does not require to know the CID in Generic MAC Header. | |
Ptr< Packet > | Peek (MacHeaderType::HeaderType packetType, Time &timeStamp) const |
bool | IsEmpty (void) const |
bool | IsEmpty (MacHeaderType::HeaderType packetType) const |
uint32_t | GetSize (void) const |
uint32_t | GetNBytes (void) const |
bool | CheckForFragmentation (MacHeaderType::HeaderType packetType) |
Fragmentation utilities. | |
uint32_t | GetFirstPacketHdrSize (MacHeaderType::HeaderType packetType) |
uint32_t | GetFirstPacketPayloadSize (MacHeaderType::HeaderType packetType) |
uint32_t | GetFirstPacketRequiredByte (MacHeaderType::HeaderType packetType) |
uint32_t | GetQueueLengthWithMACOverhead (void) |
void | SetFragmentation (MacHeaderType::HeaderType packetType) |
void | SetFragmentNumber (MacHeaderType::HeaderType packetType) |
void | SetFragmentOffset (MacHeaderType::HeaderType packetType, uint32_t offset) |
const WimaxMacQueue::PacketQueue & | GetPacketQueue (void) const |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::WimaxMacQueue. |
Ptr< Packet > ns3::WimaxMacQueue::Dequeue | ( | MacHeaderType::HeaderType | packetType | ) |
Dequeue a packet of type packetType from the queue.
packetType | the type of the packet |
References ns3::Packet::AddHeader(), ns3::Packet::CreateFragment(), NS_ASSERT_MSG, and NS_LOG_INFO.
Referenced by ns3::WimaxConnection::Dequeue().
Ptr< Packet > ns3::WimaxMacQueue::Dequeue | ( | MacHeaderType::HeaderType | packetType, |
uint32_t | availableByte | ||
) |
Dequeue a fragment of size availableByte from the queue.
packetType | the type of the packet |
availableByte | the size of the fragment |
References ns3::Packet::Copy(), ns3::Packet::CreateFragment(), ns3::Packet::GetSize(), and NS_LOG_INFO.
bool ns3::WimaxMacQueue::Enqueue | ( | Ptr< Packet > | packet, |
const MacHeaderType & | hdrType, | ||
const GenericMacHeader & | hdr | ||
) |
Enqueue a packet.
packet | the packet to enqueue |
hdrType | the mac header type of the packet |
hdr | the header of the packet |
References ns3::Simulator::Now().
Referenced by ns3::WimaxConnection::Enqueue().
uint32_t ns3::WimaxMacQueue::GetMaxSize | ( | void | ) | const |
Referenced by GetTypeId().
TypeId ns3::WimaxMacQueue::GetTypeId | ( | void | ) | [static] |
This method returns the TypeId associated to ns3::WimaxMacQueue.
This object is accessible through the following paths with Config::Set and Config::Connect:
Attributes defined for this type:
TraceSources defined for this type:
Reimplemented from ns3::Object.
References GetMaxSize(), ns3::MakeTraceSourceAccessor(), SetMaxSize(), and ns3::TypeId::SetParent().
Ptr< Packet > ns3::WimaxMacQueue::Peek | ( | GenericMacHeader & | hdr | ) | const |
Same as Dequeue but does not pop from queue.
Exclusive for BS. Two versions of Peek function (with Generic MAC Header as parameter) only for BS, as BS's scheduler needs to know the CID in Generic MAC Header.
References ns3::Packet::AddHeader(), and ns3::Packet::Copy().
Referenced by ns3::BSSchedulerRtps::BSSchedulerRTPSConnection().
void ns3::WimaxMacQueue::SetMaxSize | ( | uint32_t | maxSize | ) |