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 ...
随机推荐
- 定义函数返回 ax2 + bx + c = 0 的两个解
# -*- coding: utf-8 -*- import math def quadratic(a, b, c): s = b*b - 4*a*c if a == 0: x = -c / b re ...
- 学习JAVAWEB第十三天
会话技术 1. 会话:一次会话中包含多次请求和响应. * 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 2. 功能:在一次会话的范围内的多次请求间,共享数据 3. 方式: ...
- django学习总结1
## 内容回顾 #### 1.所有的命令 ##### 下载安装 pip install django==1.11.20 - i 源 ##### 创建项目 django-admin startp ...
- LeetCode673
LeetCode每日一题2021.9.20 LeetCode673. 最长递增子序列的个数 思路 在最长上升子序列的转移时,维护一个 cnt 数组,表示 以 i 结尾的最长上升子序列个数 f[i] 表 ...
- AtCoder ABC213 简要题解
这世道连 \(\rm ABC\) 都要写题解来续命了... A - D 略. E 有如下观察: 对于任意的四个方格,出去之后再回来可以调整为先在内部走到固定位置再走出去. 因此只需要考虑在一开始把内部 ...
- [NOI Online #1 提高组]
A 首先从 \(t = 2\) 的特殊部分分出发. 不难发现这个操作是很不直观的,于是可以考虑对于每个操作 \((u, v)\) 在 \(u, v\) 之间连一条无向边. 显然连通块之间要分开考虑,对 ...
- CF1399F Yet Another Segments Subset
首先注意一下题面要求,使得选出的线段两两要么包含要么不相交,也就是说一条线段可能会出现不相交的几条线段,而这些线段上面也可能继续这样包含线段.然后我们可以发现我们要做的实际上是在这条线段上选取几条线段 ...
- Linux添加用户组和添加用户
1.用户组 添加组:groupadd 组名 [root@Server-n93yom ~]# groupadd dev [root@Server-n93yom ~]# cat /etc/group | ...
- java基础之设计模式之单例模式
关于单例模式: 单例,即单一实例.因为在一些情况下,某些类的对象,我们只需要一个就可以了,所以我们要用到单例模式. 单例模式的目的是使得一个类中的一个静态对象成为系统中的唯一实例,提供一个访问该实例的 ...
- sbt修改源(国内优先)
[repositories] local aliyun: https://maven.aliyun.com/repository/public oschina: http://maven.oschin ...