23 #include "ns3/abort.h" 24 #include "ns3/queue-disc.h" 25 #include "ns3/uinteger.h" 26 #include "ns3/pointer.h" 27 #include "ns3/qkd-l4-traffic-control-layer.h" 70 factory.Set (n01, v01);
71 factory.Set (n02, v02);
72 factory.Set (n03, v03);
73 factory.Set (n04, v04);
74 factory.Set (n05, v05);
75 factory.Set (n06, v06);
76 factory.Set (n07, v07);
77 factory.Set (n08, v08);
78 factory.Set (n09, v09);
79 factory.Set (n10, v10);
80 factory.Set (n11, v11);
81 factory.Set (n12, v12);
82 factory.Set (n13, v13);
83 factory.Set (n14, v14);
84 factory.Set (n15, v15);
102 << handle <<
" does not exist");
107 factory.Set (n01, v01);
108 factory.Set (n02, v02);
109 factory.Set (n03, v03);
110 factory.Set (n04, v04);
111 factory.Set (n05, v05);
112 factory.Set (n06, v06);
113 factory.Set (n07, v07);
114 factory.Set (n08, v08);
116 for (
int i = 0; i < count; i++)
134 << handle <<
" does not exist");
138 factory.Set (n01, v01);
139 factory.Set (n02, v02);
140 factory.Set (n03, v03);
141 factory.Set (n04, v04);
142 factory.Set (n05, v05);
143 factory.Set (n06, v06);
144 factory.Set (n07, v07);
145 factory.Set (n08, v08);
162 << handle <<
" does not exist");
166 factory.Set (n01, v01);
167 factory.Set (n02, v02);
168 factory.Set (n03, v03);
169 factory.Set (n04, v04);
170 factory.Set (n05, v05);
171 factory.Set (n06, v06);
172 factory.Set (n07, v07);
173 factory.Set (n08, v08);
178 for (
int i = 0; i < count; i++)
181 list.push_back (classId);
205 << handle <<
" does not exist");
209 factory.Set (n01, v01);
210 factory.Set (n02, v02);
211 factory.Set (n03, v03);
212 factory.Set (n04, v04);
213 factory.Set (n05, v05);
214 factory.Set (n06, v06);
215 factory.Set (n07, v07);
216 factory.Set (n08, v08);
217 factory.Set (n09, v09);
218 factory.Set (n10, v10);
219 factory.Set (n11, v11);
220 factory.Set (n12, v12);
221 factory.Set (n13, v13);
222 factory.Set (n14, v14);
223 factory.Set (n15, v15);
252 for (ClassIdList::const_iterator c = classes.begin (); c != classes.end (); c++)
254 uint16_t childHandle =
AddChildQueueDisc (handle, *c, type, n01, v01, n02, v02, n03, v03,
255 n04, v04, n05, v05, n06, v06, n07, v07, n08, v08, n09, v09,
256 n10, v10, n11, v11, n12, v12, n13, v13, n14, v14, n15, v15);
257 list.push_back (childHandle);
324 tc->DeleteRootQueueDisc ();
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
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...
Ptr< T > GetObject(void) const
Get a pointer to the requested aggregated Object.
Build a set of QueueDisc objects.
Hold a value for an Attribute.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
void SetTypeId(TypeId tid)
Set the TypeId of the Objects to be created by this factory.
QKDL4TrafficControlHelper()
Create a QKDL4TrafficControlHelper to make life easier when creating QueueDisc objects.
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...
std::vector< Ptr< QueueDisc > > m_queueDiscs
Vector of all the created queue discs.
ObjectFactory m_queueLimitsFactory
Factory to create a queue limits object.
Holds a vector of ns3::QueueDisc pointers.
Hold an unsigned integer type.
std::vector< QueueDiscFactory > m_queueDiscFactory
QueueDisc factory, stores the configuration of all the queue discs.
void Uninstall(NetDeviceContainer c)
Every class exported by the ns3 library is enclosed in the ns3 namespace.
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) t...
static QKDL4TrafficControlHelper Default(void)
void Set(std::string name, const AttributeValue &value)
Set an attribute to be set during construction.
Instantiate subclasses of ns3::Object.
#define NS_ABORT_MSG_UNLESS(cond, msg)
Abnormal program termination if a condition is false, with a message.
#define NS_ABORT_MSG_IF(cond, msg)
Abnormal program termination if a condition is true, with a message.
uint32_t GetId(void) const
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 ...
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 gi...
This class stores object factories required to create a queue disc and all of its components (packet ...
std::vector< uint16_t > HandleList
Container type for Handlers.
std::vector< uint16_t > ClassIdList
Container type for Class IDs.
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...
QueueDiscContainer Install(NetDeviceContainer c)
QKD Traffic control layer definition.
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) t...