📄 txc3.cpp
字号:
//
// This file is part of an OMNeT++/OMNEST simulation example.
//
// Copyright (C) 2003-2005 Andras Varga
//
// This file is distributed WITHOUT ANY WARRANTY. See the file
// `license' for details on this and other legal matters.
//
#include <stdio.h>
#include <string.h>
#include <omnetpp.h>
/**
* In this class we add a counter, and delete the message after ten exchanges.
*/
class Txc3 : public cSimpleModule
{
private:
int counter; // Note the counter here
protected:
virtual void initialize();
virtual void handleMessage(cMessage *msg);
};
Define_Module(Txc3);
void Txc3::initialize()
{
// Initialize counter to ten. We'll decrement it every time and delete
// the message when it reaches zero.
counter = 10;
// The WATCH() statement below will let you examine the variable under
// Tkenv. After doing a few steps in the simulation, double-click either
// `tic' or `toc', select the Contents tab in the dialog that pops up,
// and you'll find "counter" in the list.
WATCH(counter);
if (strcmp("tic", name()) == 0)
{
ev << "Sending initial message\n";
cMessage *msg = new cMessage("tictocMsg");
send(msg, "out");
}
}
void Txc3::handleMessage(cMessage *msg)
{
// Increment counter and check value.
counter--;
if (counter==0)
{
// If counter is zero, delete message. If you run the model, you'll
// find that the simulation will stop at this point with the message
// "no more events".
ev << name() << "'s counter reached zero, deleting message\n";
delete msg;
}
else
{
ev << name() << "'s counter is " << counter << ", sending back message\n";
send(msg, "out");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -