This class stores object factories required to create a queue disc and all of its components (packet filters, internal queues, classes). More...
#include "traffic-control-helper.h"
Collaboration diagram for ns3::QueueDiscFactory:Public Member Functions | |
| QueueDiscFactory ()=delete | |
| QueueDiscFactory (ObjectFactory factory) | |
| Constructor. | |
| virtual | ~QueueDiscFactory () |
| void | AddInternalQueue (ObjectFactory factory) |
| Add a factory to create an internal queue. | |
| void | AddPacketFilter (ObjectFactory factory) |
| Add a factory to create a packet filter. | |
| uint16_t | AddQueueDiscClass (ObjectFactory factory) |
| Add a factory to create a queue disc class. | |
| Ptr< QueueDisc > | CreateQueueDisc (const std::vector< Ptr< QueueDisc > > &queueDiscs) |
| Create a queue disc with the currently stored configuration. | |
| void | SetChildQueueDisc (uint16_t classId, uint16_t handle) |
| Set the (child) queue disc to attach to a class. | |
Private Attributes | |
| std::map< uint16_t, uint16_t > | m_classIdChildHandleMap |
| Map storing the associations between class IDs and child queue disc handles. | |
| std::vector< ObjectFactory > | m_internalQueuesFactory |
| Vector of factories to create internal queues. | |
| std::vector< ObjectFactory > | m_packetFiltersFactory |
| Vector of factories to create packet filters. | |
| std::vector< ObjectFactory > | m_queueDiscClassesFactory |
| Vector of factories to create queue disc classes. | |
| ObjectFactory | m_queueDiscFactory |
| Factory to create this queue disc. | |
This class stores object factories required to create a queue disc and all of its components (packet filters, internal queues, classes).
Definition at line 30 of file traffic-control-helper.h.
| ns3::QueueDiscFactory::QueueDiscFactory | ( | ObjectFactory | factory | ) |
Constructor.
| factory | the factory used to create this queue disc |
Definition at line 24 of file traffic-control-helper.cc.
References m_queueDiscFactory.
|
inlinevirtual |
Definition at line 40 of file traffic-control-helper.h.
|
delete |
| void ns3::QueueDiscFactory::AddInternalQueue | ( | ObjectFactory | factory | ) |
Add a factory to create an internal queue.
| factory | the factory used to create an internal queue |
Definition at line 30 of file traffic-control-helper.cc.
References m_internalQueuesFactory.
| void ns3::QueueDiscFactory::AddPacketFilter | ( | ObjectFactory | factory | ) |
Add a factory to create a packet filter.
| factory | the factory used to create a packet filter |
Definition at line 36 of file traffic-control-helper.cc.
References m_packetFiltersFactory.
| uint16_t ns3::QueueDiscFactory::AddQueueDiscClass | ( | ObjectFactory | factory | ) |
Add a factory to create a queue disc class.
| factory | the factory used to create a queue disc class |
Definition at line 42 of file traffic-control-helper.cc.
References m_queueDiscClassesFactory.
| Ptr< QueueDisc > ns3::QueueDiscFactory::CreateQueueDisc | ( | const std::vector< Ptr< QueueDisc > > & | queueDiscs | ) |
Create a queue disc with the currently stored configuration.
| queueDiscs | the vector of queue discs held by the helper |
Definition at line 57 of file traffic-control-helper.cc.
References ns3::Create(), m_classIdChildHandleMap, m_internalQueuesFactory, m_packetFiltersFactory, m_queueDiscClassesFactory, m_queueDiscFactory, and NS_ABORT_MSG_IF.
Here is the call graph for this function:| void ns3::QueueDiscFactory::SetChildQueueDisc | ( | uint16_t | classId, |
| uint16_t | handle ) |
Set the (child) queue disc to attach to a class.
| classId | the id of the class to attach a child queue disc to |
| handle | the handle of the child queue disc to attach to the class |
Definition at line 49 of file traffic-control-helper.cc.
References m_classIdChildHandleMap, m_queueDiscClassesFactory, and NS_ABORT_MSG_IF.
|
private |
Map storing the associations between class IDs and child queue disc handles.
Definition at line 95 of file traffic-control-helper.h.
Referenced by CreateQueueDisc(), and SetChildQueueDisc().
|
private |
Vector of factories to create internal queues.
Definition at line 89 of file traffic-control-helper.h.
Referenced by AddInternalQueue(), and CreateQueueDisc().
|
private |
Vector of factories to create packet filters.
Definition at line 91 of file traffic-control-helper.h.
Referenced by AddPacketFilter(), and CreateQueueDisc().
|
private |
Vector of factories to create queue disc classes.
Definition at line 93 of file traffic-control-helper.h.
Referenced by AddQueueDiscClass(), CreateQueueDisc(), and SetChildQueueDisc().
|
private |
Factory to create this queue disc.
Definition at line 87 of file traffic-control-helper.h.
Referenced by QueueDiscFactory(), and CreateQueueDisc().