tiktok案例分析_metaobject

tiktok案例分析_metaobjecttictoc12.ned文件//input:指定当前门是输入门,只能和输出门连接,只能接受消息//output:当前门是输出门,只能和输入门连接,只能发送消息//inout:既是输入门又是输出门,既能发送消息也能接受消息simpleTxc12{parameters:@display(“i=block/routing”);gates:inoutgate[];//declaretwowayconnections声明双向连接}

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

tictoc12.ned文件

//input:指定当前门是输入门,只能和输出门连接,只能接受消息
//output:当前门是输出门,只能和输入门连接,只能发送消息
//inout:既是输入门又是输出门,既能发送消息也能接受消息

simple Txc12
{ 
   
    parameters:
        @display("i=block/routing");
    gates:
        inout gate[];  // declare two way connections声明双向连接
}

// using two way connections to further simplify the network definition
network Tictoc12
{ 
   
    types:
        channel Channel extends ned.DelayChannel { 
   
            delay = 100ms;
        }
    submodules:
        tic[6]: Txc12;
    connections:
        tic[0].gate++ <--> Channel <--> tic[1].gate++;
        tic[1].gate++ <--> Channel <--> tic[2].gate++;
        tic[1].gate++ <--> Channel <--> tic[4].gate++;
        tic[3].gate++ <--> Channel <--> tic[4].gate++;
        tic[4].gate++ <--> Channel <--> tic[5].gate++;
}

Jetbrains全家桶1年46,售后保障稳定

Txc12.cc文件

//输入输出门向量,随机消息发送

#include <stdio.h>
#include <string.h>
#include <omnetpp.h>
using namespace omnetpp;

/** * Let's make it more interesting by using several (n) `tic' modules, * and connecting every module to every other. For now, let's keep it * simple what they do: module 0 generates a message, and the others * keep tossing it around in random directions until it arrives at * module 2. */
class Txc12 : public cSimpleModule
{ 
   
  protected:
    virtual void forwardMessage(cMessage *msg);
    virtual void initialize() override;
    virtual void handleMessage(cMessage *msg) override;
};

Define_Module(Txc12);

void Txc12::initialize()
{ 
   
    if (getIndex() == 0) { 
   
        // Boot the process scheduling the initial message as a self-message.
        char msgname[20];
        sprintf(msgname, "tic-%d", getIndex());
        cMessage *msg = new cMessage(msgname);
        scheduleAt(0.0, msg);
    }
}

void Txc12::handleMessage(cMessage *msg)
{ 
   
    if (getIndex() == 3) { 
   
        // Message arrived.
        EV << "Message " << msg << " arrived.\n";
        delete msg;
    }
    else { 
   
        // We need to forward the message.
        forwardMessage(msg);
    }
}

void Txc12::forwardMessage(cMessage *msg)
{ 
   
    // In this example, we just pick a random gate to send it on.在这个例子中,我们只需选择一个随机门来发送它。
    // We draw a random number between 0 and the size of gate `gate[]'.我们画了一个介于0和“gate[]”大小之间的随机数。
    int n = gateSize("gate");
    int k = intuniform(0, n-1);
    EV << "Forwarding message " << msg << " on gate[" << k << "]\n";
    // $o and $i suffix is used to identify the input/output part of a two way gate。$o和$i后缀用于标识双向门的输入/输出部分
    //inout门发送消息,门的名称+“$o”表示输出门,门的名称+“$i”表示输入门
    send(msg, "gate$o", k);
}

omnetpp.ini

[Config Tictoc12]
network = Tictoc12
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234383.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机三级网络技术考过指南

    计算机三级网络技术考过指南原文链接:计算机三级网络技术考过指南题库下载链接(50积分是CSDN上调的,不是我上传时设置的。更新版本请大家自行搜索):计算机三级网络技术无纸化考试模拟软件(2018.3)用Markdown重写后的带完整标签的版本:计算机三级网络技术考过指南(带完整标签版)目录计算机三级网络技术考过指南前言(必读)1.基础准备1.1题库1.2二…

    2022年4月8日
    49
  • 在Java中实现UDP协议编程(DatagramSocket/DatagramPacket)「建议收藏」

    在Java中实现UDP协议编程(DatagramSocket/DatagramPacket)「建议收藏」1.什么是UDP协议?UDP(UserDatagramProtocol)协议是用户数据报,在网络中它与TCP协议一样用于处理数据包。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。

    2022年6月3日
    37
  • docker 安装ElasticSearch的中文分词器IK

    docker 安装ElasticSearch的中文分词器IK

    2021年7月4日
    123
  • Delphi 跨平台_delphi调用api接口

    Delphi 跨平台_delphi调用api接口DELPHI是怎么实现跨平台的?

    2022年4月21日
    207
  • activiti5.22 springboot 流程引擎 实战全过程

    activiti5.22 springboot 流程引擎 实战全过程一.背景现在很多项目流程上比较复杂,业务上不复杂,对于这种项目,引入流程引擎会比较合适,流程有流程引擎去做管理,让设计更合理,开发更简单。市面上有很多款流程引擎,本人选用了使用率比较广的流程引擎activiti。activiti现在最高版本已经到7,springboot最高版本是6,由于网络上5.22版本资料最多,所以选用了5.22版本作为项目集成。二.activi…

    2022年10月20日
    1
  • linux下mysql命令

    linux下mysql命令1.linux下启动mysql的命令:mysqladminstart/ect/init.d/mysqlstart(前面为mysql的安装路径)2.linux下重启mysql的命令:mys

    2022年7月2日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号