OPNET中sink module
来源:互联网 发布:移动占号软件 编辑:程序博客网 时间:2024/05/18 16:57
原文出处:http://blog.csdn.net/hamztx/article/details/26135599
Sink模块的状态机很简单,只有INIT和DISCARD两个,非强制状态只有DISCARD用于包的销毁。Sink模块的作用就是销毁从输入流接收到的包,并且返回关于包的一系列统计量。
Init的入口代码为
/* Initilaize the statistic handles to keep */
/* track of traffic sinked by this process. */
bits_rcvd_stathandle =op_stat_reg ("Traffic Sink.Traffic Received (bits)", OPC_STAT_INDEX_NONE,OPC_STAT_LOCAL);
bitssec_rcvd_stathandle =op_stat_reg ("Traffic Sink.Traffic Received (bits/sec)", OPC_STAT_INDEX_NONE,OPC_STAT_LOCAL);
pkts_rcvd_stathandle =op_stat_reg ("Traffic Sink.Traffic Received (packets)", OPC_STAT_INDEX_NONE,OPC_STAT_LOCAL);
pktssec_rcvd_stathandle =op_stat_reg ("Traffic Sink.Traffic Received (packets/sec)", OPC_STAT_INDEX_NONE, OPC_STAT_LOCAL);
ete_delay_stathandle =op_stat_reg ("Traffic Sink.End-to-End Delay (seconds)", OPC_STAT_INDEX_NONE,OPC_STAT_LOCAL);
bits_rcvd_gstathandle =op_stat_reg ("Traffic Sink.Traffic Received (bits)", OPC_STAT_INDEX_NONE,OPC_STAT_GLOBAL);
bitssec_rcvd_gstathandle =op_stat_reg ("Traffic Sink.Traffic Received (bits/sec)", OPC_STAT_INDEX_NONE,OPC_STAT_GLOBAL);
pkts_rcvd_gstathandle =op_stat_reg ("Traffic Sink.Traffic Received (packets)", OPC_STAT_INDEX_NONE,OPC_STAT_GLOBAL);
pktssec_rcvd_gstathandle =op_stat_reg ("Traffic Sink.Traffic Received (packets/sec)", OPC_STAT_INDEX_NONE, OPC_STAT_GLOBAL);
ete_delay_gstathandle =op_stat_reg ("Traffic Sink.End-to-End Delay (seconds)", OPC_STAT_INDEX_NONE,OPC_STAT_GLOBAL);
op_stat_reg函数的作用是返回进程模型中节点或模块统计量,即初始化统计量句柄,第一个参数为统计量所在组的名称
所以上述代码分别返回的是局部统计量和全局统计量,包括:收到的bit数,bit速率,包数,包速率,端对端延时
DISCARD仅有出口代码:
/* Obtain the incoming packet. */
pkptr = op_pk_get (op_intrpt_strm ());
从输入流中获取包的指针
/* Caclulate metrics to be updated. */
pk_size = (double) op_pk_total_size_get (pkptr);
ete_delay = op_sim_time () - op_pk_creation_time_get (pkptr);
计算包的总体大小和包传输延时
/* Update local statistics. */
op_stat_write函数功能为写入统计量,第一个参数为统计量的统计量句柄,第二个参数为统计量将写入的值。
op_stat_write (bits_rcvd_stathandle, pk_size);收到的bit数
op_stat_write (pkts_rcvd_stathandle, 1.0); 收到的包
op_stat_write (ete_delay_stathandle, ete_delay);端对端延时
op_stat_write (bitssec_rcvd_stathandle, pk_size); bit速率
op_stat_write (bitssec_rcvd_stathandle, 0.0);
op_stat_write (pktssec_rcvd_stathandle, 1.0); 包速率
op_stat_write (pktssec_rcvd_stathandle, 0.0);
/* Update global statistics. */全局统计量
op_stat_write (bits_rcvd_gstathandle, pk_size);
op_stat_write (pkts_rcvd_gstathandle, 1.0);
op_stat_write (ete_delay_gstathandle, ete_delay);
op_stat_write (bitssec_rcvd_gstathandle, pk_size);
op_stat_write (bitssec_rcvd_gstathandle, 0.0);
op_stat_write (pktssec_rcvd_gstathandle, 1.0);
op_stat_write (pktssec_rcvd_gstathandle, 0.0);
/* Destroy the received packet. */
op_pk_destroy (pkptr); 销毁包
- OPNET中sink module
- opnet的sink模块学习
- opnet之sink进程模型
- OPNET中常用函数
- opnet中关键概念
- OPNET中常用函数
- OPNET中常用函数
- OPNET
- OPNET
- [转载]OPNET中常用函数
- opnet中仿真问题总结
- OPNET中设计网络 MATLAB
- 查找有向图中 Universal Sink
- Flume 中Sink批量参数设置调优
- Flume中hdfs sink配置参数详解
- OPNET中ICI的使用心得
- [ZZ]OPNET中ICI的使用
- opnet中,无法捕捉OPC_INTRPT_ENDSIM中断
- 考题篇(5.4) NSE4 02. 日志与监控 ❀ 飞塔 (Fortinet) 网络安全专家
- kde- Kernel Density Estimation算法matlab源码
- deepimd_lab 运行 cgame.map 和 cgame.qvm以及其它类似文件的依赖的东西
- windows下安装Python虚拟环境virtualenvwrapper-win
- JavaScript forEach()遍历函数使用及介绍
- OPNET中sink module
- 文件的存取
- MySQL插入或者读取中文数据的时候出现乱码总结
- 基于Unity3D的Xml文件的存储的实现
- 支持向量机的R实现
- Android shape的应用
- 使用调试生成配置
- http://www.mamicode.com/info-detail-1208112.html
- Image Printing Program Based on Halftoning (半色调打印技术)