以下是基于《开源网络模拟器ns3 架构与实践》的学习笔记
这个元信息感觉很重要,但是现在还不知道具体为啥那么重要。就大概了解一下,懂多少算多少。
定义
元信息是一组关于ObjectBase及其子类的辅助信息。每个子类有且只有一组元信息。
所有子类的元信息分组存在向量容器中,用类名称作为子类元信息分组的唯一标识符, IidManager类是NS3的一个单例模式实例,管理向量容器。
建立索引值与类名称的映射关系,就可以通过子类中存贮的索引值直接访问向量中的元信息。
元信息的交互管理接口
ns3定义了一个C++类,TypeId。这个类存贮索引值,还定义了各种接口函数。各个ObjectBase子类中都包含有一个TypeId对象,通过其接口函数访问IidManager实例。
常用接口函数
1、 TypeId初始化
通过一个静态成员函数GetTypeId,创建一个包含相应元信息的TypeId对象,还在IidManager类里面创建了一个新元信息条目,同时将该条目在容器中的索引值存贮在TypeId对象变量中。
2、运算符号重载后的功能--TypeId类
- = :把等号右侧对象的索引值赋值给左侧对象;
- ==、<、不等于:比较索引值大小;
- <<:输出当前索引指向元信息中的类名
3、获取TypeId -----以Node类、node对象为例