omnet++:用到的方法和语句
1、方法
| 方法 | 说明 |
| msg->getName() | 获取发送的消息名 |
| uniform(a,b) | 生成[a,b]间的随机实数 |
| intuniform(a,b) | 生成[a,b]间的随机整数 |
| exponential(n) | 指数分布的随机数 |
| truncnormal(a,b) | [a,b]间的离散正态分布随机数 |
| scheduleAt(simTime()+timeout,event) | 经过时间timeout之后,发送self-message event |
| cancelEvent(event) | 与scheduleAt相反,是取消自发送的消息event |
| bubble("xxx") | 以弹窗的形式弹出消息xxx |
| cancelAndDelete(timeoutEvent) | 释放指针指向的空间 |
| (cMessage *)msg->dup() | 获取消息msg的副本 |
| gateSize("out") | out端口的数量 |
| getIndex() | 获取当前module在module vector中的索引 |
| getVectorSize() | 获取当前module所在module vector的Size |
|
send(msg,"out") send(msg,"out",k) |
从out端口发送消息msg; 从k号out端口发送消息msg |
2、语句
1)创建不同名字的新消息
char msgname[20];
sprintf(msgname,"tic-%d-to-%d",src,dest);
xxxMsg * msg = new xxxMsg(msgname);
2)转发时消息跳数+1
msg->setHopCount(msg->getHopCount()+1);
3)选择端口进行转发
int n = gateSize("gate");
int k = intuniform(0,n-1);
EV << "Forwarding message " << msg << " on gate[" << k << "]\n";
send(msg,"gate$o",k);
4)在每个节点上显示收发包的数量
void Txc14 :: refreashDisplay() const
{
char buf[40];
sprintf(buf,"rcvd: %ld sent: %ld",numReceived,numSent);
getDisplayString().setTagArg("t",0,buf);
} //在类中声明该函数为
virtual void refreshDisplay() const override;
omnet++:用到的方法和语句的更多相关文章
- Javsssist用InsertAt()方法对语句插桩
基于上一篇的方法插桩,这一篇则是进一步的对每行的语句进行插桩. 对于存在分支的方法(例如if(){}else{}),对方法插桩的方法是不能够全部涉及到的.所以要对程序的每条语句进行插桩. 插入什么语句 ...
- MySQL 大数据量快速插入方法和语句优化
MySQL大数据量快速插入方法和语句优化是本文我们主要要介绍的内容,接下来我们就来一一介绍,希望能够让您有所收获! INSERT语句的速度 插入一个记录需要的时间由下列因素组成,其中的数字表示大约比例 ...
- 【hibernate spring data jpa】执行了save()方法 sql语句也执行了,但是数据并未插入数据库中
执行了save()方法 sql语句也执行了,但是数据并未插入数据库中 解决方法: 是因为执行了save()方法,也执行了sql语句,但是因为使用的是 @Transactional 注解,不是手动去提 ...
- synchronized(1)用法简介:修饰方法,修饰语句块
注意: 同一个对象或方法在不同线程中才出现同步问题,不同对象在不同线程互相不干扰. synchronized方法有2种用法:修饰方法,修饰语句块 1.synchronized方法 是某个对象实例内,s ...
- Java连接MySQL数据库实现用户名密码的验证方法 Java语句中sql查询语句'' ""作用
//方法一,可以验证登录,但方法不实用.package com.swift; import java.sql.Connection; import java.sql.DriverManager; im ...
- 34-python基础-python3-列表删除元素-remove()方法-del语句-pop()方法
1-remove()方法 根据值删除元素. remove()方法传入一个列表中的值,它将从被调用的列表中删除. 如果该值在列表中出现多次,只有第一次出现的值会被删除. 如果要删除的值可能在列表中出现 ...
- 五、java基础-关键字this_static_super_abstract_final,finalize()方法finally语句块
1.关键字this 含义:this 是一个引用类型,代表当前对象,引用类型里面必然保存内存地址,在堆中的每个对象中存储,保存内存地址指向自身. 用法: 1)this可以用在成员方法中,里面保存内存地址 ...
- 调用write方法打印语句到浏览器
1.document.write("我爱学习--喜欢学习"); // 在浏览器中输出的结果为:我爱学习--喜欢学习 2.首先,声明一个变量. var str="h ...
- iOS记录一常用的方法和语句
1.当前控制器是否还显示,比较常用于网络请求回来页面已退出 //当前视图控制器是否在显示 +(BOOL)isCurrentViewControllerVisible:(UIViewController ...
随机推荐
- ansible roles实践——安装httpd
1. vim httpd.yml 2.执行
- Docker 与 K8S学习笔记(二十)—— 使用Downward API向容器注入Pod信息
Kubernetes在创建Pod时,会为Pod和容器设置一些额外的信息,比如Pod名称.Pod IP.Node IP.Label.Annotation.资源限制等,我们经常会在应用程序中使用到这些数据 ...
- 优化.NET 应用程序 CPU 和内存的11 个实践
https://michaelscodingspot.com/cpu-bound-memory-bound/ 优化.NET 应用程序 CPU 和内存的11 个实践 凡事都有其限度,对吧?汽车只能开这么 ...
- X-former:不止一面,你想要的Transformer这里都有
原创作者 | FLPPED 参考论文: A Survey of Transformers 论文地址: https://arxiv.org/abs/2106.04554 研究背景: Transforme ...
- Android 12(S) 图形显示系统 - createSurface的流程(五)
题外话 刚刚开始着笔写作这篇文章时,正好看电视在采访一位92岁的考古学家,在他的日记中有这样一句话,写在这里与君共勉"不要等待幸运的降临,要去努力的掌握知识".如此朴实的一句话,此 ...
- python开发: linux进程占用物理内存
#!/usr/bin/env python #-*- coding:utf-8 -*- ''' 统计linux进程占用的物理内存 ''' import os import sys import sub ...
- chromium .cipd_client 失败的解决办法
gclient config https://chromium.googlesource.com/v8/v8 chromium 代理完美解决办法 #git的代理设置 git config --glob ...
- C语言之清空缓存区
感谢大佬:https://blog.csdn.net/qq_26768741/article/details/50933598 在C语言中,我们常常需要去清空缓存区,对于缓存区清空的重要性,接下来我们 ...
- centOS 强制卸载PHP
centOS上的php过低是需要重新安装时,不得不卸载自定义安装,如下操作 查看php版本命令: #php -v 这个命令是删除不干净的 #yum remove php 因为使用这个命令以后再用 #p ...
- 利用纯代码写出一个秒表表盘的方法 —— #DF
@interface ViewController () @property (nonatomic, strong) CALayer *secLayer; // 秒针layer @property ( ...