NS3 TypeId說(shuō)明以及使用

介紹

ns3的TypeId的設(shè)計(jì)非常巧妙,基本上每一個(gè)模塊類(lèi)都有TypeId屬性类缤。

TypeId將每一個(gè)模塊類(lèi)的屬性和跟蹤源集合在一起臼勉,非常方便的進(jìn)行屬性值的設(shè)定和跟蹤源的回調(diào)函數(shù)的設(shè)定。

可以參看NS3 Attribute和Config內(nèi)容翻譯

定義

TypeId
WifiPhy::GetTypeId (void)
{
  static TypeId tid = TypeId ("ns3::WifiPhy")
    .SetParent<Object> ()
    .SetGroupName ("Wifi")
    .AddAttribute ("Frequency",
                   "The operating center frequency (MHz)",
                   UintegerValue (0),
                   MakeUintegerAccessor (&WifiPhy::GetFrequency,
                                         &WifiPhy::SetFrequency),
                   MakeUintegerChecker<uint32_t> ())
    .AddTraceSource ("PhyTxBegin",
                     "Trace source indicating a packet "
                     "has begun transmitting over the channel medium",
                     MakeTraceSourceAccessor (&WifiPhy::m_phyTxBeginTrace),
                     "ns3::Packet::TracedCallback")
  ;
  return tid;
}

上面代碼
位置

/wifi/model/wifi-phy.cc

方法說(shuō)明

SetParent:設(shè)置WifiPhy類(lèi)的父類(lèi)

SetGroupName :設(shè)置WifiPhy類(lèi)所在模塊組

AddAttribute :添加屬性

AddTraceSource :添加跟蹤源

另外的常用的一個(gè)方法:

AddConstructor:添加構(gòu)造器

使用

//設(shè)置屬性
m_wifiphy->SetAttribute ("Frequency", TimeValue (m_frequency));

//設(shè)置屬性餐弱,返回bool值說(shuō)明是否成功
m_wifiphy->SetAttributeFailSafe("Frequency", DoubleValue (m_lookAroundRate));

//設(shè)置跟蹤源回調(diào)
m_wifiphy->TraceConnectWithoutContext ("PhyTxBegin",
                                          MakeCallback (&TcpSocketBase::UpdateCwnd, this));

//解除跟蹤源回調(diào)
m_wifiphy->TraceDisconnectWithoutContext ("PhyTxBegin", 
                                          MakeCallback (&HierarchicalMobilityModel::ChildChanged, this));

這些代碼只是示例宴霸,大家能看明白怎么使用就行了。

這些方法所在的位置是:/core/model/object-base.cc


另外:

NS3中很少使用上面的方式設(shè)置屬性值的膏蚓,最常用的是通過(guò)Config類(lèi)完成:

Config::Set ("/NodeList/0/DeviceList/*/$ns3::WifiNetDevice/Phy/$ns3::YansWifiPhy/ChannelNumber", 
             UintegerValue(40));

*是通配符

NodeList是一個(gè)類(lèi)瓢谢,每創(chuàng)建一個(gè)Node對(duì)象,都會(huì)保存NodeList中驮瞧。

DeviceList也是一個(gè)類(lèi)恩闻,每創(chuàng)建一個(gè)NetDevice對(duì)象都會(huì)保存在DeviceList中。

*表示全部剧董,0 1 2 這些數(shù)字表示第幾個(gè)Node對(duì)象或者NetDevice對(duì)象

$ns3::WifiNetDevice表示對(duì)象類(lèi)型

Phy表示$ns3::WifiNetDevice這個(gè)對(duì)象的屬性。這個(gè)屬性在類(lèi)WifiNetDevice或者其父類(lèi)里面的TypeId中有定義破停。

$ns3::YansWifiPhy](#)表示Phy這個(gè)屬性的類(lèi)型值

ChannelNumber表示$ns3::YansWifiPhy這個(gè)對(duì)象的屬性翅楼。這個(gè)屬性可以在類(lèi)YansWifiPhy或者其父類(lèi)里面的TypeId里面有定義。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末真慢,一起剝皮案震驚了整個(gè)濱河市毅臊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌黑界,老刑警劉巖管嬉,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異朗鸠,居然都是意外死亡蚯撩,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)烛占,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)胎挎,“玉大人沟启,你說(shuō)我怎么就攤上這事∮坦剑” “怎么了德迹?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)揭芍。 經(jīng)常有香客問(wèn)我胳搞,道長(zhǎng),這世上最難降的妖魔是什么称杨? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任肌毅,我火速辦了婚禮,結(jié)果婚禮上列另,老公的妹妹穿的比我還像新娘芽腾。我一直安慰自己,他們只是感情好页衙,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布摊滔。 她就那樣靜靜地躺著,像睡著了一般店乐。 火紅的嫁衣襯著肌膚如雪艰躺。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,158評(píng)論 1 308
  • 那天眨八,我揣著相機(jī)與錄音腺兴,去河邊找鬼。 笑死廉侧,一個(gè)胖子當(dāng)著我的面吹牛页响,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播段誊,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼闰蚕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了连舍?” 一聲冷哼從身側(cè)響起没陡,我...
    開(kāi)封第一講書(shū)人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎索赏,沒(méi)想到半個(gè)月后盼玄,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡潜腻,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年埃儿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片砾赔。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蝌箍,死狀恐怖青灼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情妓盲,我是刑警寧澤杂拨,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站悯衬,受9級(jí)特大地震影響弹沽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜筋粗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一策橘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧娜亿,春花似錦丽已、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至督赤,卻和暖如春嘁灯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背躲舌。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工丑婿, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人没卸。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓羹奉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親约计。 傳聞我的和親對(duì)象是個(gè)殘疾皇子尘奏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)病蛉,斷路器,智...
    卡卡羅2017閱讀 134,693評(píng)論 18 139
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 11,002評(píng)論 6 13
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法瑰煎,類(lèi)相關(guān)的語(yǔ)法铺然,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法酒甸,異常的語(yǔ)法魄健,線(xiàn)程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,660評(píng)論 18 399
  • 作者:莫言 第一次拜讀莫言的作品,源自研習(xí)《史記》的過(guò)程中對(duì)其中提到的刑罰的好奇插勤,經(jīng)推薦才找來(lái)翻看沽瘦,居然一整...
    百合燕燕閱讀 433評(píng)論 0 1
  • (1) 講個(gè)笑話(huà)先析恋。 王思聰問(wèn)王健林:粑粑良哲,錢(qián)是萬(wàn)能的嗎? 王健林答:誰(shuí)說(shuō)錢(qián)是萬(wàn)能的助隧?錢(qián)明明是萬(wàn)達(dá)的好嗎筑凫! 不好笑...
    獨(dú)戲清風(fēng)閱讀 389評(píng)論 0 1