A Discrete-Event Network Simulator
API
ns3::QKDL4TrafficControlHelper Class Reference

Build a set of QueueDisc objects. More...

#include "qkd-l4-traffic-control-helper.h"

+ Collaboration diagram for ns3::QKDL4TrafficControlHelper:

Public Types

typedef std::vector< uint16_t > ClassIdList
 Container type for Class IDs. More...
 
typedef std::vector< uint16_t > HandleList
 Container type for Handlers. More...
 

Public Member Functions

 QKDL4TrafficControlHelper ()
 Create a QKDL4TrafficControlHelper to make life easier when creating QueueDisc objects. More...
 
virtual ~QKDL4TrafficControlHelper ()
 
uint16_t AddChildQueueDisc (uint16_t handle, uint16_t classId, std::string type, std::string n01="", const AttributeValue &v01=EmptyAttributeValue(), std::string n02="", const AttributeValue &v02=EmptyAttributeValue(), std::string n03="", const AttributeValue &v03=EmptyAttributeValue(), std::string n04="", const AttributeValue &v04=EmptyAttributeValue(), std::string n05="", const AttributeValue &v05=EmptyAttributeValue(), std::string n06="", const AttributeValue &v06=EmptyAttributeValue(), std::string n07="", const AttributeValue &v07=EmptyAttributeValue(), std::string n08="", const AttributeValue &v08=EmptyAttributeValue(), std::string n09="", const AttributeValue &v09=EmptyAttributeValue(), std::string n10="", const AttributeValue &v10=EmptyAttributeValue(), std::string n11="", const AttributeValue &v11=EmptyAttributeValue(), std::string n12="", const AttributeValue &v12=EmptyAttributeValue(), std::string n13="", const AttributeValue &v13=EmptyAttributeValue(), std::string n14="", const AttributeValue &v14=EmptyAttributeValue(), std::string n15="", const AttributeValue &v15=EmptyAttributeValue())
 Helper function used to attach a child queue disc (of the given type and with the given attributes) to a given class (included in the queue disc having the given handle). More...
 
HandleList AddChildQueueDiscs (uint16_t handle, const ClassIdList &classes, std::string type, std::string n01="", const AttributeValue &v01=EmptyAttributeValue(), std::string n02="", const AttributeValue &v02=EmptyAttributeValue(), std::string n03="", const AttributeValue &v03=EmptyAttributeValue(), std::string n04="", const AttributeValue &v04=EmptyAttributeValue(), std::string n05="", const AttributeValue &v05=EmptyAttributeValue(), std::string n06="", const AttributeValue &v06=EmptyAttributeValue(), std::string n07="", const AttributeValue &v07=EmptyAttributeValue(), std::string n08="", const AttributeValue &v08=EmptyAttributeValue(), std::string n09="", const AttributeValue &v09=EmptyAttributeValue(), std::string n10="", const AttributeValue &v10=EmptyAttributeValue(), std::string n11="", const AttributeValue &v11=EmptyAttributeValue(), std::string n12="", const AttributeValue &v12=EmptyAttributeValue(), std::string n13="", const AttributeValue &v13=EmptyAttributeValue(), std::string n14="", const AttributeValue &v14=EmptyAttributeValue(), std::string n15="", const AttributeValue &v15=EmptyAttributeValue())
 Helper function used to attach a child queue disc (of the given type and with the given attributes) to each of the given classes (included in the queue disc having the given handle). More...
 
void AddInternalQueues (uint16_t handle, uint16_t count, std::string type, std::string n01="", const AttributeValue &v01=EmptyAttributeValue(), std::string n02="", const AttributeValue &v02=EmptyAttributeValue(), std::string n03="", const AttributeValue &v03=EmptyAttributeValue(), std::string n04="", const AttributeValue &v04=EmptyAttributeValue(), std::string n05="", const AttributeValue &v05=EmptyAttributeValue(), std::string n06="", const AttributeValue &v06=EmptyAttributeValue(), std::string n07="", const AttributeValue &v07=EmptyAttributeValue(), std::string n08="", const AttributeValue &v08=EmptyAttributeValue())
 Helper function used to add the given number of internal queues (of the given type and with the given attributes) to the queue disc having the given handle. More...
 
void AddPacketFilter (uint16_t handle, std::string type, std::string n01="", const AttributeValue &v01=EmptyAttributeValue(), std::string n02="", const AttributeValue &v02=EmptyAttributeValue(), std::string n03="", const AttributeValue &v03=EmptyAttributeValue(), std::string n04="", const AttributeValue &v04=EmptyAttributeValue(), std::string n05="", const AttributeValue &v05=EmptyAttributeValue(), std::string n06="", const AttributeValue &v06=EmptyAttributeValue(), std::string n07="", const AttributeValue &v07=EmptyAttributeValue(), std::string n08="", const AttributeValue &v08=EmptyAttributeValue())
 Helper function used to add a packet filter (of the given type and with the given attributes) to the queue disc having the given handle. More...
 
ClassIdList AddQueueDiscClasses (uint16_t handle, uint16_t count, std::string type, std::string n01="", const AttributeValue &v01=EmptyAttributeValue(), std::string n02="", const AttributeValue &v02=EmptyAttributeValue(), std::string n03="", const AttributeValue &v03=EmptyAttributeValue(), std::string n04="", const AttributeValue &v04=EmptyAttributeValue(), std::string n05="", const AttributeValue &v05=EmptyAttributeValue(), std::string n06="", const AttributeValue &v06=EmptyAttributeValue(), std::string n07="", const AttributeValue &v07=EmptyAttributeValue(), std::string n08="", const AttributeValue &v08=EmptyAttributeValue())
 Helper function used to add the given number of queue disc classes (of the given type and with the given attributes) to the queue disc having the given handle. More...
 
QueueDiscContainer Install (NetDeviceContainer c)
 
QueueDiscContainer Install (Ptr< Node > d)
 
void SetQueueLimits (std::string type, std::string n01="", const AttributeValue &v01=EmptyAttributeValue(), std::string n02="", const AttributeValue &v02=EmptyAttributeValue(), std::string n03="", const AttributeValue &v03=EmptyAttributeValue(), std::string n04="", const AttributeValue &v04=EmptyAttributeValue(), std::string n05="", const AttributeValue &v05=EmptyAttributeValue(), std::string n06="", const AttributeValue &v06=EmptyAttributeValue(), std::string n07="", const AttributeValue &v07=EmptyAttributeValue(), std::string n08="", const AttributeValue &v08=EmptyAttributeValue())
 Helper function used to add a queue limits object to the transmission queues of the devices. More...
 
uint16_t SetRootQueueDisc (std::string type, std::string n01="", const AttributeValue &v01=EmptyAttributeValue(), std::string n02="", const AttributeValue &v02=EmptyAttributeValue(), std::string n03="", const AttributeValue &v03=EmptyAttributeValue(), std::string n04="", const AttributeValue &v04=EmptyAttributeValue(), std::string n05="", const AttributeValue &v05=EmptyAttributeValue(), std::string n06="", const AttributeValue &v06=EmptyAttributeValue(), std::string n07="", const AttributeValue &v07=EmptyAttributeValue(), std::string n08="", const AttributeValue &v08=EmptyAttributeValue(), std::string n09="", const AttributeValue &v09=EmptyAttributeValue(), std::string n10="", const AttributeValue &v10=EmptyAttributeValue(), std::string n11="", const AttributeValue &v11=EmptyAttributeValue(), std::string n12="", const AttributeValue &v12=EmptyAttributeValue(), std::string n13="", const AttributeValue &v13=EmptyAttributeValue(), std::string n14="", const AttributeValue &v14=EmptyAttributeValue(), std::string n15="", const AttributeValue &v15=EmptyAttributeValue())
 Helper function used to set a root queue disc of the given type and with the given attributes. More...
 
void Uninstall (NetDeviceContainer c)
 
void Uninstall (Ptr< Node > d)
 

Static Public Member Functions

static QKDL4TrafficControlHelper Default (void)
 

Private Attributes

std::vector< QueueDiscFactorym_queueDiscFactory
 QueueDisc factory, stores the configuration of all the queue discs. More...
 
std::vector< Ptr< QueueDisc > > m_queueDiscs
 Vector of all the created queue discs. More...
 
ObjectFactory m_queueLimitsFactory
 Factory to create a queue limits object. More...
 

Detailed Description

Build a set of QueueDisc objects.

This class can help to create QueueDisc objects and map them to the corresponding devices. This map is stored at the Traffic Control layer.

Definition at line 54 of file qkd-l4-traffic-control-helper.h.

Member Typedef Documentation

typedef std::vector<uint16_t> ns3::QKDL4TrafficControlHelper::ClassIdList

Container type for Class IDs.

Definition at line 197 of file qkd-l4-traffic-control-helper.h.

typedef std::vector<uint16_t> ns3::QKDL4TrafficControlHelper::HandleList

Container type for Handlers.

Definition at line 294 of file qkd-l4-traffic-control-helper.h.

Constructor & Destructor Documentation

ns3::QKDL4TrafficControlHelper::QKDL4TrafficControlHelper ( )

Create a QKDL4TrafficControlHelper to make life easier when creating QueueDisc objects.

Definition at line 34 of file qkd-l4-traffic-control-helper.cc.

virtual ns3::QKDL4TrafficControlHelper::~QKDL4TrafficControlHelper ( )
inlinevirtual

Definition at line 62 of file qkd-l4-traffic-control-helper.h.

References AddInternalQueues(), AddPacketFilter(), Default(), and SetRootQueueDisc().

+ Here is the call graph for this function:

Member Function Documentation

uint16_t ns3::QKDL4TrafficControlHelper::AddChildQueueDisc ( uint16_t  handle,
uint16_t  classId,
std::string  type,
std::string  n01 = "",
const AttributeValue v01 = EmptyAttributeValue (),
std::string  n02 = "",
const AttributeValue v02 = EmptyAttributeValue (),
std::string  n03 = "",
const AttributeValue v03 = EmptyAttributeValue (),
std::string  n04 = "",
const AttributeValue v04 = EmptyAttributeValue (),
std::string  n05 = "",
const AttributeValue v05 = EmptyAttributeValue (),
std::string  n06 = "",
const AttributeValue v06 = EmptyAttributeValue (),
std::string  n07 = "",
const AttributeValue v07 = EmptyAttributeValue (),
std::string  n08 = "",
const AttributeValue v08 = EmptyAttributeValue (),
std::string  n09 = "",
const AttributeValue v09 = EmptyAttributeValue (),
std::string  n10 = "",
const AttributeValue v10 = EmptyAttributeValue (),
std::string  n11 = "",
const AttributeValue v11 = EmptyAttributeValue (),
std::string  n12 = "",
const AttributeValue v12 = EmptyAttributeValue (),
std::string  n13 = "",
const AttributeValue v13 = EmptyAttributeValue (),
std::string  n14 = "",
const AttributeValue v14 = EmptyAttributeValue (),
std::string  n15 = "",
const AttributeValue v15 = EmptyAttributeValue () 
)

Helper function used to attach a child queue disc (of the given type and with the given attributes) to a given class (included in the queue disc having the given handle).

Parameters
handlethe handle of the parent queue disc
classIdthe class ID of the class to attach the queue disc to
typethe type of queue disc
n01the name of the attribute to set on the queue disc
v01the value of the attribute to set on the queue disc
n02the name of the attribute to set on the queue disc
v02the value of the attribute to set on the queue disc
n03the name of the attribute to set on the queue disc
v03the value of the attribute to set on the queue disc
n04the name of the attribute to set on the queue disc
v04the value of the attribute to set on the queue disc
n05the name of the attribute to set on the queue disc
v05the value of the attribute to set on the queue disc
n06the name of the attribute to set on the queue disc
v06the value of the attribute to set on the queue disc
n07the name of the attribute to set on the queue disc
v07the value of the attribute to set on the queue disc
n08the name of the attribute to set on the queue disc
v08the value of the attribute to set on the queue disc
n09the name of the attribute to set on the queue disc
v09the value of the attribute to set on the queue disc
n10the name of the attribute to set on the queue disc
v10the value of the attribute to set on the queue disc
n11the name of the attribute to set on the queue disc
v11the value of the attribute to set on the queue disc
n12the name of the attribute to set on the queue disc
v12the value of the attribute to set on the queue disc
n13the name of the attribute to set on the queue disc
v13the value of the attribute to set on the queue disc
n14the name of the attribute to set on the queue disc
v14the value of the attribute to set on the queue disc
n15the name of the attribute to set on the queue disc
v15the value of the attribute to set on the queue disc
Returns
the handle of the created child queue disc

Definition at line 187 of file qkd-l4-traffic-control-helper.cc.

References m_queueDiscFactory, NS_ABORT_MSG_IF, and ns3::ObjectFactory::SetTypeId().

Referenced by AddChildQueueDiscs().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

QKDL4TrafficControlHelper::HandleList ns3::QKDL4TrafficControlHelper::AddChildQueueDiscs ( uint16_t  handle,
const ClassIdList classes,
std::string  type,
std::string  n01 = "",
const AttributeValue v01 = EmptyAttributeValue (),
std::string  n02 = "",
const AttributeValue v02 = EmptyAttributeValue (),
std::string  n03 = "",
const AttributeValue v03 = EmptyAttributeValue (),
std::string  n04 = "",
const AttributeValue v04 = EmptyAttributeValue (),
std::string  n05 = "",
const AttributeValue v05 = EmptyAttributeValue (),
std::string  n06 = "",
const AttributeValue v06 = EmptyAttributeValue (),
std::string  n07 = "",
const AttributeValue v07 = EmptyAttributeValue (),
std::string  n08 = "",
const AttributeValue v08 = EmptyAttributeValue (),
std::string  n09 = "",
const AttributeValue v09 = EmptyAttributeValue (),
std::string  n10 = "",
const AttributeValue v10 = EmptyAttributeValue (),
std::string  n11 = "",
const AttributeValue v11 = EmptyAttributeValue (),
std::string  n12 = "",
const AttributeValue v12 = EmptyAttributeValue (),
std::string  n13 = "",
const AttributeValue v13 = EmptyAttributeValue (),
std::string  n14 = "",
const AttributeValue v14 = EmptyAttributeValue (),
std::string  n15 = "",
const AttributeValue v15 = EmptyAttributeValue () 
)

Helper function used to attach a child queue disc (of the given type and with the given attributes) to each of the given classes (included in the queue disc having the given handle).

Parameters
handlethe handle of the parent queue disc
classesthe class IDs of the classes to attach a queue disc to
typethe type of queue disc
n01the name of the attribute to set on the queue disc
v01the value of the attribute to set on the queue disc
n02the name of the attribute to set on the queue disc
v02the value of the attribute to set on the queue disc
n03the name of the attribute to set on the queue disc
v03the value of the attribute to set on the queue disc
n04the name of the attribute to set on the queue disc
v04the value of the attribute to set on the queue disc
n05the name of the attribute to set on the queue disc
v05the value of the attribute to set on the queue disc
n06the name of the attribute to set on the queue disc
v06the value of the attribute to set on the queue disc
n07the name of the attribute to set on the queue disc
v07the value of the attribute to set on the queue disc
n08the name of the attribute to set on the queue disc
v08the value of the attribute to set on the queue disc
n09the name of the attribute to set on the queue disc
v09the value of the attribute to set on the queue disc
n10the name of the attribute to set on the queue disc
v10the value of the attribute to set on the queue disc
n11the name of the attribute to set on the queue disc
v11the value of the attribute to set on the queue disc
n12the name of the attribute to set on the queue disc
v12the value of the attribute to set on the queue disc
n13the name of the attribute to set on the queue disc
v13the value of the attribute to set on the queue disc
n14the name of the attribute to set on the queue disc
v14the value of the attribute to set on the queue disc
n15the name of the attribute to set on the queue disc
v15the value of the attribute to set on the queue disc
Returns
the list of handles of the created child queue discs

Definition at line 233 of file qkd-l4-traffic-control-helper.cc.

References AddChildQueueDisc(), and list.

+ Here is the call graph for this function:

void ns3::QKDL4TrafficControlHelper::AddInternalQueues ( uint16_t  handle,
uint16_t  count,
std::string  type,
std::string  n01 = "",
const AttributeValue v01 = EmptyAttributeValue (),
std::string  n02 = "",
const AttributeValue v02 = EmptyAttributeValue (),
std::string  n03 = "",
const AttributeValue v03 = EmptyAttributeValue (),
std::string  n04 = "",
const AttributeValue v04 = EmptyAttributeValue (),
std::string  n05 = "",
const AttributeValue v05 = EmptyAttributeValue (),
std::string  n06 = "",
const AttributeValue v06 = EmptyAttributeValue (),
std::string  n07 = "",
const AttributeValue v07 = EmptyAttributeValue (),
std::string  n08 = "",
const AttributeValue v08 = EmptyAttributeValue () 
)

Helper function used to add the given number of internal queues (of the given type and with the given attributes) to the queue disc having the given handle.

Parameters
handlethe handle of the parent queue disc
countthe number of queues to add
typethe type of queue
n01the name of the attribute to set on the queue
v01the value of the attribute to set on the queue
n02the name of the attribute to set on the queue
v02the value of the attribute to set on the queue
n03the name of the attribute to set on the queue
v03the value of the attribute to set on the queue
n04the name of the attribute to set on the queue
v04the value of the attribute to set on the queue
n05the name of the attribute to set on the queue
v05the value of the attribute to set on the queue
n06the name of the attribute to set on the queue
v06the value of the attribute to set on the queue
n07the name of the attribute to set on the queue
v07the value of the attribute to set on the queue
n08the name of the attribute to set on the queue
v08the value of the attribute to set on the queue

Definition at line 91 of file qkd-l4-traffic-control-helper.cc.

References m_queueDiscFactory, NS_ABORT_MSG_IF, and ns3::ObjectFactory::SetTypeId().

Referenced by Default(), ns3::QKDHelper::InstallOverlayQKD(), ns3::QKDHelper::InstallQKD(), and ~QKDL4TrafficControlHelper().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::QKDL4TrafficControlHelper::AddPacketFilter ( uint16_t  handle,
std::string  type,
std::string  n01 = "",
const AttributeValue v01 = EmptyAttributeValue (),
std::string  n02 = "",
const AttributeValue v02 = EmptyAttributeValue (),
std::string  n03 = "",
const AttributeValue v03 = EmptyAttributeValue (),
std::string  n04 = "",
const AttributeValue v04 = EmptyAttributeValue (),
std::string  n05 = "",
const AttributeValue v05 = EmptyAttributeValue (),
std::string  n06 = "",
const AttributeValue v06 = EmptyAttributeValue (),
std::string  n07 = "",
const AttributeValue v07 = EmptyAttributeValue (),
std::string  n08 = "",
const AttributeValue v08 = EmptyAttributeValue () 
)

Helper function used to add a packet filter (of the given type and with the given attributes) to the queue disc having the given handle.

Parameters
handlethe handle of the parent queue disc
typethe type of packet filter
n01the name of the attribute to set on the packet filter
v01the value of the attribute to set on the packet filter
n02the name of the attribute to set on the packet filter
v02the value of the attribute to set on the packet filter
n03the name of the attribute to set on the packet filter
v03the value of the attribute to set on the packet filter
n04the name of the attribute to set on the packet filter
v04the value of the attribute to set on the packet filter
n05the name of the attribute to set on the packet filter
v05the value of the attribute to set on the packet filter
n06the name of the attribute to set on the packet filter
v06the value of the attribute to set on the packet filter
n07the name of the attribute to set on the packet filter
v07the value of the attribute to set on the packet filter
n08the name of the attribute to set on the packet filter
v08the value of the attribute to set on the packet filter

Definition at line 123 of file qkd-l4-traffic-control-helper.cc.

References m_queueDiscFactory, NS_ABORT_MSG_IF, and ns3::ObjectFactory::SetTypeId().

Referenced by Default(), and ~QKDL4TrafficControlHelper().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

QKDL4TrafficControlHelper::ClassIdList ns3::QKDL4TrafficControlHelper::AddQueueDiscClasses ( uint16_t  handle,
uint16_t  count,
std::string  type,
std::string  n01 = "",
const AttributeValue v01 = EmptyAttributeValue (),
std::string  n02 = "",
const AttributeValue v02 = EmptyAttributeValue (),
std::string  n03 = "",
const AttributeValue v03 = EmptyAttributeValue (),
std::string  n04 = "",
const AttributeValue v04 = EmptyAttributeValue (),
std::string  n05 = "",
const AttributeValue v05 = EmptyAttributeValue (),
std::string  n06 = "",
const AttributeValue v06 = EmptyAttributeValue (),
std::string  n07 = "",
const AttributeValue v07 = EmptyAttributeValue (),
std::string  n08 = "",
const AttributeValue v08 = EmptyAttributeValue () 
)

Helper function used to add the given number of queue disc classes (of the given type and with the given attributes) to the queue disc having the given handle.

Parameters
handlethe handle of the parent queue disc
countthe number of queue disc classes to add
typethe type of queue disc class
n01the name of the attribute to set on the queue disc class
v01the value of the attribute to set on the queue disc class
n02the name of the attribute to set on the queue disc class
v02the value of the attribute to set on the queue disc class
n03the name of the attribute to set on the queue disc class
v03the value of the attribute to set on the queue disc class
n04the name of the attribute to set on the queue disc class
v04the value of the attribute to set on the queue disc class
n05the name of the attribute to set on the queue disc class
v05the value of the attribute to set on the queue disc class
n06the name of the attribute to set on the queue disc class
v06the value of the attribute to set on the queue disc class
n07the name of the attribute to set on the queue disc class
v07the value of the attribute to set on the queue disc class
n08the name of the attribute to set on the queue disc class
v08the value of the attribute to set on the queue disc class
Returns
the list of class IDs

Definition at line 151 of file qkd-l4-traffic-control-helper.cc.

References list, m_queueDiscFactory, NS_ABORT_MSG_IF, and ns3::ObjectFactory::SetTypeId().

+ Here is the call graph for this function:

QKDL4TrafficControlHelper ns3::QKDL4TrafficControlHelper::Default ( void  )
static
Returns
a new QKDL4TrafficControlHelper with a default configuration

The default configuration is a PfifoFastQueueDisc with three internal queues of type DropTailQueue and size 1000 packets.

Definition at line 39 of file qkd-l4-traffic-control-helper.cc.

References AddInternalQueues(), AddPacketFilter(), and SetRootQueueDisc().

Referenced by ~QKDL4TrafficControlHelper().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

QueueDiscContainer ns3::QKDL4TrafficControlHelper::Install ( NetDeviceContainer  c)
Parameters
cset of devices
Returns
a QueueDisc container with the queue discs installed on the devices

This method creates a QueueDisc object of the type and with the attributes configured by QKDL4TrafficControlHelper::SetQueueDisc for each device in the container. Then, stores the mapping between a device and the associated queue disc into the traffic control layer of the corresponding node. This method creates the queue discs (along with their packet filters, internal queues, classes) configured with the methods provided by this class and installs them on each device in the given container. Additionally, if configured, a queue limits object is installed on each transmission queue of the devices.

Referenced by ns3::QKDHelper::InstallOverlayQKD(), and ns3::QKDHelper::InstallQKD().

+ Here is the caller graph for this function:

QueueDiscContainer ns3::QKDL4TrafficControlHelper::Install ( Ptr< Node d)
Parameters
ddevice
Returns
a QueueDisc container with the queue discs installed on the device

This method creates the queue discs (along with their packet filters, internal queues, classes) configured with the methods provided by this class and installs them on the given device. Additionally, if configured, a queue limits object is installed on each transmission queue of the device.

Definition at line 285 of file qkd-l4-traffic-control-helper.cc.

References ns3::Node::GetId(), ns3::Object::GetObject(), m_queueDiscFactory, m_queueDiscs, NS_ASSERT, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::QKDL4TrafficControlHelper::SetQueueLimits ( std::string  type,
std::string  n01 = "",
const AttributeValue v01 = EmptyAttributeValue (),
std::string  n02 = "",
const AttributeValue v02 = EmptyAttributeValue (),
std::string  n03 = "",
const AttributeValue v03 = EmptyAttributeValue (),
std::string  n04 = "",
const AttributeValue v04 = EmptyAttributeValue (),
std::string  n05 = "",
const AttributeValue v05 = EmptyAttributeValue (),
std::string  n06 = "",
const AttributeValue v06 = EmptyAttributeValue (),
std::string  n07 = "",
const AttributeValue v07 = EmptyAttributeValue (),
std::string  n08 = "",
const AttributeValue v08 = EmptyAttributeValue () 
)

Helper function used to add a queue limits object to the transmission queues of the devices.

Parameters
typethe type of queue
n01the name of the attribute to set on the queue limits object
v01the value of the attribute to set on the queue limits object
n02the name of the attribute to set on the queue limits object
v02the value of the attribute to set on the queue limits object
n03the name of the attribute to set on the queue limits object
v03the value of the attribute to set on the queue limits object
n04the name of the attribute to set on the queue limits object
v04the value of the attribute to set on the queue limits object
n05the name of the attribute to set on the queue limits object
v05the value of the attribute to set on the queue limits object
n06the name of the attribute to set on the queue limits object
v06the value of the attribute to set on the queue limits object
n07the name of the attribute to set on the queue limits object
v07the value of the attribute to set on the queue limits object
n08the name of the attribute to set on the queue limits object
v08the value of the attribute to set on the queue limits object

Definition at line 263 of file qkd-l4-traffic-control-helper.cc.

References m_queueLimitsFactory, ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().

+ Here is the call graph for this function:

uint16_t ns3::QKDL4TrafficControlHelper::SetRootQueueDisc ( std::string  type,
std::string  n01 = "",
const AttributeValue v01 = EmptyAttributeValue (),
std::string  n02 = "",
const AttributeValue v02 = EmptyAttributeValue (),
std::string  n03 = "",
const AttributeValue v03 = EmptyAttributeValue (),
std::string  n04 = "",
const AttributeValue v04 = EmptyAttributeValue (),
std::string  n05 = "",
const AttributeValue v05 = EmptyAttributeValue (),
std::string  n06 = "",
const AttributeValue v06 = EmptyAttributeValue (),
std::string  n07 = "",
const AttributeValue v07 = EmptyAttributeValue (),
std::string  n08 = "",
const AttributeValue v08 = EmptyAttributeValue (),
std::string  n09 = "",
const AttributeValue v09 = EmptyAttributeValue (),
std::string  n10 = "",
const AttributeValue v10 = EmptyAttributeValue (),
std::string  n11 = "",
const AttributeValue v11 = EmptyAttributeValue (),
std::string  n12 = "",
const AttributeValue v12 = EmptyAttributeValue (),
std::string  n13 = "",
const AttributeValue v13 = EmptyAttributeValue (),
std::string  n14 = "",
const AttributeValue v14 = EmptyAttributeValue (),
std::string  n15 = "",
const AttributeValue v15 = EmptyAttributeValue () 
)

Helper function used to set a root queue disc of the given type and with the given attributes.

To set the InternalQueueList, PacketFilterList and ChildQueueDiscList attributes, use the AddInternalQueue, AddPacketFilter and AddChildQueueDisc methods.

Parameters
typethe type of queue disc
n01the name of the attribute to set on the queue disc
v01the value of the attribute to set on the queue disc
n02the name of the attribute to set on the queue disc
v02the value of the attribute to set on the queue disc
n03the name of the attribute to set on the queue disc
v03the value of the attribute to set on the queue disc
n04the name of the attribute to set on the queue disc
v04the value of the attribute to set on the queue disc
n05the name of the attribute to set on the queue disc
v05the value of the attribute to set on the queue disc
n06the name of the attribute to set on the queue disc
v06the value of the attribute to set on the queue disc
n07the name of the attribute to set on the queue disc
v07the value of the attribute to set on the queue disc
n08the name of the attribute to set on the queue disc
v08the value of the attribute to set on the queue disc
n09the name of the attribute to set on the queue disc
v09the value of the attribute to set on the queue disc
n10the name of the attribute to set on the queue disc
v10the value of the attribute to set on the queue disc
n11the name of the attribute to set on the queue disc
v11the value of the attribute to set on the queue disc
n12the name of the attribute to set on the queue disc
v12the value of the attribute to set on the queue disc
n13the name of the attribute to set on the queue disc
v13the value of the attribute to set on the queue disc
n14the name of the attribute to set on the queue disc
v14the value of the attribute to set on the queue disc
n15the name of the attribute to set on the queue disc
v15the value of the attribute to set on the queue disc
Returns
the handle of the root queue disc (zero)

Definition at line 49 of file qkd-l4-traffic-control-helper.cc.

References m_queueDiscFactory, NS_ABORT_MSG_UNLESS, and ns3::ObjectFactory::SetTypeId().

Referenced by Default(), ns3::QKDHelper::InstallOverlayQKD(), ns3::QKDHelper::InstallQKD(), and ~QKDL4TrafficControlHelper().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::QKDL4TrafficControlHelper::Uninstall ( NetDeviceContainer  c)
Parameters
cset of devices

This method removes the root queue discs (and associated filters, classes and queues) installed on the given devices.

void ns3::QKDL4TrafficControlHelper::Uninstall ( Ptr< Node d)
Parameters
ddevice

This method removes the root queue disc (and associated filters, classes and queues) installed on the given device.

Definition at line 319 of file qkd-l4-traffic-control-helper.cc.

References ns3::Object::GetObject(), and NS_ASSERT.

+ Here is the call graph for this function:

Member Data Documentation

std::vector<QueueDiscFactory> ns3::QKDL4TrafficControlHelper::m_queueDiscFactory
private

QueueDisc factory, stores the configuration of all the queue discs.

Definition at line 431 of file qkd-l4-traffic-control-helper.h.

Referenced by AddChildQueueDisc(), AddInternalQueues(), AddPacketFilter(), AddQueueDiscClasses(), Install(), and SetRootQueueDisc().

std::vector<Ptr<QueueDisc> > ns3::QKDL4TrafficControlHelper::m_queueDiscs
private

Vector of all the created queue discs.

Definition at line 433 of file qkd-l4-traffic-control-helper.h.

Referenced by Install().

ObjectFactory ns3::QKDL4TrafficControlHelper::m_queueLimitsFactory
private

Factory to create a queue limits object.

Definition at line 435 of file qkd-l4-traffic-control-helper.h.

Referenced by SetQueueLimits().


The documentation for this class was generated from the following files: