NS3 -- 获取/设置部件属性

NS3中类的属性在静态函数 GetTypeId 中查看,可以通过SetAttribute 和 GetAttribute 函数来设置或查看属性。也可以直接通过Config::Set 设置所有或部分部件的属性。


#include 
#include 
using namespace std;

#include "ns3/core-module.h"
#include "ns3/point-to-point-module.h"
#include "ns3/network-module.h"

using namespace ns3;

NS_LOG_COMPONENT_DEFINE("attri");

int main(void)
{
	NodeContainer nodes;
	nodes.Create(2);

	PointToPointHelper pointToPoint;
	NetDeviceContainer netDevices = pointToPoint.Install(nodes);
	Ptr p = netDevices.Get(0);

	UintegerValue value;

	p->GetAttribute("Mtu", value); //获取Mtu的值
	NS_LOG_INFO("Default Mtu is: " << value.Get());

	Config::Set("/NodeList/*/DeviceList/*/Mtu", UintegerValue(256)); //设置所有NetDevice的Mtu为256
	//p->SetAttribute("Mtu", UintegerValue(128)); //设置p指向的NetDevice的Mtu为128
	
	p->GetAttribute("Mtu", value);
	NS_LOG_INFO("Now Mtu is: " << value.Get());

	return 0;
}


你可能感兴趣的:(NS3)