20 #include "ns3/command-line.h"
21 #include "ns3/config.h"
22 #include "ns3/drop-tail-queue.h"
25 #include "ns3/point-to-point-net-device.h"
26 #include "ns3/pointer.h"
28 #include "ns3/queue.h"
29 #include "ns3/simulator.h"
30 #include "ns3/string.h"
31 #include "ns3/uinteger.h"
44 main(
int argc,
char* argv[])
74 cmd.AddValue(
"maxSize",
"ns3::DropTailQueue<Packet>::MaxSize");
75 cmd.Parse(argc, argv);
105 net0->GetAttribute(
"TxQueue", ptr);
119 QueueSizeValue limit;
126 txQueue->GetAttribute(
"MaxSize", limit);
133 txQueue->SetAttribute(
"MaxSize",
StringValue(
"60p"));
134 txQueue->GetAttribute(
"MaxSize", limit);
135 NS_LOG_INFO(
"3. txQueue limit changed: " << limit.Get());
145 txQueue->GetAttribute(
"MaxSize", limit);
146 NS_LOG_INFO(
"4. txQueue limit changed through namespace: " << limit.Get());
152 txQueue->GetAttribute(
"MaxSize", limit);
153 NS_LOG_INFO(
"5. txQueue limit changed through wildcarded namespace: " << limit.Get());
Parse command-line arguments.
A FIFO packet queue that drops tail-end packets on overflow.
uint32_t AddDevice(Ptr< NetDevice > device)
Associate a NetDevice to this node.
void GetAttribute(std::string name, AttributeValue &value) const
Get the value of an attribute, raising fatal errors if unsuccessful.
Hold objects of type Ptr<T>.
Template class for packet Queues.
Class for representing queue sizes.
static void Destroy()
Execute the events scheduled with ScheduleDestroy().
Hold variables of type string.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
void SetDefault(std::string name, const AttributeValue &value)
void Set(std::string path, const AttributeValue &value)
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_INFO(msg)
Use NS_LOG to output a message of level LOG_INFO.
@ PACKETS
Use number of packets for queue size.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void LogComponentEnable(const std::string &name, LogLevel level)
Enable the logging output associated with that log component.
@ LOG_LEVEL_INFO
LOG_INFO and above.