亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? asyncnetwork_n.cc

?? 基于omnet++開發(fā)的Mf框架下的802.11協(xié)議仿真。
?? CC
字號:
//-----------------------------------------
//
// Generated by nedtool, version 3.3
// date: Fri Apr 18 15:13:03 2008
//
//-----------------------------------------


#include <math.h>
#include "omnetpp.h"

// NEDC version check
#define NEDC_VERSION 0x0303
#if (NEDC_VERSION!=OMNETPP_VERSION)
#    error Version mismatch! Probably this file was generated by an earlier version of nedc: 'make clean' should help.
#endif

// Disable warnings about unused variables. For MSVC and BC only:
// GCC has no way to turn on its -Wunused option in a source file :(
#ifdef _MSC_VER
#  pragma warning(disable:4101)
#endif
#ifdef __BORLANDC__
#  pragma warn -waus
#  pragma warn -wuse
#endif

static cModuleType *_getModuleType(const char *modname)
{
    cModuleType *modtype = findModuleType(modname);
    if (!modtype)
        throw new cRuntimeError("Module type definition %s not found (Define_Module() missing from C++ code?)", modname);
    return modtype;
}

static void _checkModuleVectorSize(int vectorsize, const char *mod)
{
    if (vectorsize<0)
        throw new cRuntimeError("Negative module vector size %s[%d]", mod, vectorsize);
}

static void _readModuleParameters(cModule *mod)
{
    int n = mod->params();
    for (int k=0; k<n; k++)
        if (mod->par(k).isInput())
            mod->par(k).read();
}

static int _checkModuleIndex(int index, int vectorsize, const char *modname)
{
    if (index<0 || index>=vectorsize)
        throw new cRuntimeError("Submodule index %s[%d] out of range, sizeof(%s) is %d", modname, index, modname, vectorsize);
    return index;
}

static cGate *_checkGate(cModule *mod, const char *gatename)
{
    cGate *g = mod->gate(gatename);
    if (!g)
        throw new cRuntimeError("%s has no gate named %s",mod->fullPath().c_str(), gatename);
    return g;
}

static cGate *_checkGate(cModule *mod, const char *gatename, int gateindex)
{
    cGate *g = mod->gate(gatename, gateindex);
    if (!g)
        throw new cRuntimeError("%s has no gate %s[%d]",mod->fullPath().c_str(), gatename, gateindex);
    return g;
}

static cGate *_getFirstUnusedParentModGate(cModule *mod, const char *gatename)
{
    int baseId = mod->findGate(gatename);
    if (baseId<0)
        throw new cRuntimeError("%s has no %s[] gate",mod->fullPath().c_str(), gatename);
    int n = mod->gate(baseId)->size();
    for (int i=0; i<n; i++)
        if (!mod->gate(baseId+i)->isConnectedInside())
            return mod->gate(baseId+i);
    throw new cRuntimeError("%s[] gates are all connected, no gate left for `++' operator",mod->fullPath().c_str(), gatename);
}

static cGate *_getFirstUnusedSubmodGate(cModule *mod, const char *gatename)
{
    int baseId = mod->findGate(gatename);
    if (baseId<0)
        throw new cRuntimeError("%s has no %s[] gate",mod->fullPath().c_str(), gatename);
    int n = mod->gate(baseId)->size();
    for (int i=0; i<n; i++)
        if (!mod->gate(baseId+i)->isConnectedOutside())
            return mod->gate(baseId+i);
    int newBaseId = mod->setGateSize(gatename,n+1);
    return mod->gate(newBaseId+n);
}

static cFunctionType *_getFunction(const char *funcname, int argcount)
{
    cFunctionType *functype = findFunction(funcname,argcount);
    if (!functype)
        throw new cRuntimeError("Function %s with %d args not found", funcname, argcount);
    return functype;
}

static cChannel *_createChannel(const char *channeltypename)
{
    cChannelType *channeltype = findChannelType(channeltypename);
    if (!channeltype)
        throw new cRuntimeError("Channel type %s not found", channeltypename);
    cChannel *channel = channeltype->create("channel");
    return channel;
}

static cChannel *_createNonTypedBasicChannel(double delay, double error, double datarate)
{
    cBasicChannel *channel = new cBasicChannel("channel");
    if (delay!=0) channel->setDelay(delay);
    if (error!=0) channel->setError(error);
    if (datarate!=0) channel->setDatarate(datarate);
    return channel;
}

static cXMLElement *_getXMLDocument(const char *fname, const char *pathexpr=NULL)
{
    cXMLElement *node = ev.getXMLDocument(fname, pathexpr);
    if (!node)
        throw new cRuntimeError(!pathexpr ? "xmldoc(\"%s\"): element not found" : "xmldoc(\"%s\", \"%s\"): element not found",fname,pathexpr);
    return node;
}

ModuleInterface(AsyncNetwork)
    // parameters:
    Parameter(playgroundSizeX, ParType_Numeric ParType_Const)
    Parameter(playgroundSizeY, ParType_Numeric ParType_Const)
    Parameter(numHosts, ParType_Numeric ParType_Const)
EndInterface

Register_ModuleInterface(AsyncNetwork);

class AsyncNetwork : public cCompoundModule
{
  public:
    AsyncNetwork() : cCompoundModule() {}
  protected:
    virtual void doBuildInside();
};

Define_Module(AsyncNetwork);

void AsyncNetwork::doBuildInside()
{
    cModule *mod = this;

    // temporary variables:
    cPar tmpval;
    const char *modtypename;

    mod->setBackgroundDisplayString("p=5,5;b=$playgroundSizeX,$playgroundSizeY,rect;o=white");

    // submodules:
    cModuleType *modtype = NULL;
    int submodindex;

    //
    // submodule 'channelcontrol':
    //
    int channelcontrol_size = 1;
    modtype = _getModuleType("ChannelControl");
    cModule *channelcontrol_p = modtype->create("channelcontrol", mod);
    {
        cContextSwitcher __ctx(channelcontrol_p); // do the rest in this module's context

        // parameter assignments:
        channelcontrol_p->par("playgroundSizeX") = mod->par("playgroundSizeX");
        channelcontrol_p->par("playgroundSizeY") = mod->par("playgroundSizeY");

        _readModuleParameters(channelcontrol_p);
    }

    //
    // submodule 'host':
    //
    int host_size = (int)(mod->par("numHosts"));
    _checkModuleVectorSize(host_size,"host");
    cModule **host_p = new cModule *[host_size];
    if (host_size>0)
    {
        modtype = _getModuleType("AsyncHost");
    }
    for (submodindex=0; submodindex<host_size; submodindex++)
    {
        host_p[submodindex] = modtype->create("host", mod, host_size, submodindex);
        cContextSwitcher __ctx(host_p[submodindex]); // do the rest in this module's context

        _readModuleParameters(host_p[submodindex]);
        host_p[submodindex]->setDisplayString("p=50,50;i=node");
    }

    //
    // connections:
    //
    cGate *srcgate, *destgate;

    cChannel *channel;
    cPar *par;

    //
    // this level is done -- recursively build submodules too
    //
    channelcontrol_p->buildInside();
    for (submodindex=0; submodindex<host_size; submodindex++)
        host_p[submodindex]->buildInside();
    delete [] host_p;
}

class AsyncSim : public cNetworkType
{
  public:
    AsyncSim(const char *name) : cNetworkType(name) {}
    AsyncSim(const AsyncSim& n) : cNetworkType(n.name()) {operator=(n);}
    virtual void setupNetwork();
};

Define_Network(AsyncSim);

void AsyncSim::setupNetwork()
{
    // temporary variables:
    cPar tmpval;
    const char *modtypename;

    cModuleType *modtype;

    modtype = _getModuleType("AsyncNetwork");
    cModule *AsyncSim_p = modtype->create("AsyncSim", NULL);

    cContextSwitcher __ctx(AsyncSim_p); // do the rest in this module's context
    // parameter assignments:
    AsyncSim_p->par("playgroundSizeX") = (tmpval=40, tmpval.setPrompt("playgroundSizeX"), tmpval.setInput(true), tmpval);
    AsyncSim_p->par("playgroundSizeY") = (tmpval=40, tmpval.setPrompt("playgroundSizeY"), tmpval.setInput(true), tmpval);
    AsyncSim_p->par("numHosts") = (tmpval=8, tmpval.setPrompt("Number of hosts:"), tmpval.setInput(true), tmpval);

    _readModuleParameters(AsyncSim_p);
    // build submodules recursively (if it has any):
    AsyncSim_p->buildInside();
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女与黑人做爰| 日本中文字幕一区二区有限公司| 亚洲手机成人高清视频| 丝瓜av网站精品一区二区| 国产福利视频一区二区三区| 欧美熟乱第一页| 国产精品久久久久一区二区三区共| 一区二区三区四区高清精品免费观看| 青青草国产成人av片免费| 白白色 亚洲乱淫| 久久伊99综合婷婷久久伊| 亚洲电影一区二区三区| 波多野结衣欧美| 国产婷婷色一区二区三区| 青草国产精品久久久久久| 欧美三级乱人伦电影| 亚洲三级在线免费| av电影在线不卡| 国产精品视频免费看| 国产精品小仙女| 久久嫩草精品久久久精品一| 麻豆精品久久久| 这里只有精品视频在线观看| 亚洲va国产天堂va久久en| 色网站国产精品| 亚洲欧美另类久久久精品| 成人精品一区二区三区中文字幕| 亚洲精品一线二线三线| 精品午夜一区二区三区在线观看| 这里是久久伊人| 蜜臀av一区二区三区| 欧美电影免费观看高清完整版在| 日韩高清不卡在线| 日韩视频一区二区在线观看| 日韩经典一区二区| 日韩欧美国产系列| 久草精品在线观看| 久久亚洲综合色一区二区三区 | 色综合天天在线| 综合久久一区二区三区| 色综合色综合色综合色综合色综合| 中文字幕在线视频一区| 91麻豆国产香蕉久久精品| 1区2区3区精品视频| 色呦呦国产精品| 亚洲国产一区二区三区| 91精品麻豆日日躁夜夜躁| 久久精品免费看| 久久久99精品免费观看不卡| 国产精品一二三区在线| 亚洲欧美日韩在线不卡| 欧美视频一区二区三区在线观看 | 国产精品久久久久天堂| 99精品视频一区二区| 一区二区高清免费观看影视大全| 91高清视频在线| 日本欧美在线看| 国产色产综合产在线视频| 91一区二区在线观看| 亚洲成人动漫精品| 久久精品综合网| 在线免费亚洲电影| 蜜乳av一区二区三区| 亚洲国产精品激情在线观看| 欧洲精品视频在线观看| 久久精品久久99精品久久| 欧美极品另类videosde| 欧美亚洲国产怡红院影院| 美女精品自拍一二三四| 亚洲视频免费看| 日韩精品一区二区三区中文精品| 国产精品正在播放| 亚洲午夜私人影院| 精品成人a区在线观看| 91天堂素人约啪| 蜜臀av性久久久久蜜臀aⅴ流畅 | 亚洲蜜臀av乱码久久精品| 正在播放一区二区| 91一区在线观看| 国产真实乱子伦精品视频| 亚洲天堂福利av| 久久综合久久综合久久| 欧洲精品一区二区三区在线观看| 激情五月婷婷综合| 香港成人在线视频| 国产精品国产三级国产普通话99| 56国语精品自产拍在线观看| 风间由美性色一区二区三区| 日本在线不卡一区| 亚洲精选视频在线| 国产精品美女久久久久久2018| 日韩欧美一级二级三级久久久| 色伊人久久综合中文字幕| 国产麻豆精品theporn| 免费成人av在线播放| 亚洲综合区在线| 日韩一区在线播放| 国产欧美一区二区三区在线看蜜臀 | 欧美性高清videossexo| www.欧美色图| 国内精品视频一区二区三区八戒| 婷婷亚洲久悠悠色悠在线播放 | 亚洲成a人片在线观看中文| 国产精品久久久久aaaa| 国产欧美视频一区二区三区| 欧美大肚乱孕交hd孕妇| 日韩精品一区在线| 欧美电视剧在线观看完整版| 91精品国产91久久综合桃花| 91精品国产综合久久婷婷香蕉| 欧美日韩一区视频| 欧美视频第二页| 欧美三级在线视频| 欧美日韩一区中文字幕| 欧美日韩国产成人在线免费| 欧美色国产精品| 91麻豆精品国产91久久久| 欧美老女人第四色| 日韩欧美亚洲国产另类| 精品播放一区二区| 久久午夜色播影院免费高清| 国产亚洲一本大道中文在线| 中文字幕欧美日韩一区| 中文字幕一区在线| 亚洲精品成a人| 日日夜夜免费精品视频| 美女视频网站黄色亚洲| 国产精品中文字幕日韩精品 | 天天av天天翘天天综合网| 亚洲成av人在线观看| 美女视频一区二区| 国产成人亚洲综合色影视| www.激情成人| 欧美视频在线播放| 精品久久久久久久久久久久久久久 | 欧洲一区在线观看| 9191国产精品| 欧美精品一区二区在线播放| 亚洲国产精品成人综合| 亚洲女爱视频在线| 亚欧色一区w666天堂| 蜜臀久久久99精品久久久久久| 国产一区二区三区蝌蚪| 成人激情免费视频| 91搞黄在线观看| 日韩美女视频在线| 亚洲欧洲日本在线| 午夜伊人狠狠久久| 国产福利视频一区二区三区| 欧洲精品在线观看| 精品久久久久久久久久久久久久久久久 | 高清在线成人网| 日本精品免费观看高清观看| 精品久久久久久无| 玉足女爽爽91| 国产精品中文有码| 欧美狂野另类xxxxoooo| 国产欧美一区二区精品仙草咪| 亚洲最新在线观看| 国产一区二区不卡| 欧美日韩久久不卡| 国产精品亲子伦对白| 日本一道高清亚洲日美韩| 成人看片黄a免费看在线| 宅男噜噜噜66一区二区66| 中文字幕中文字幕在线一区 | 成人h动漫精品| 91精品国产欧美一区二区成人 | 亚洲成人一二三| 99免费精品在线观看| 精品久久一区二区三区| 亚洲电影一级黄| 色妹子一区二区| 亚洲国产精品ⅴa在线观看| 日本不卡中文字幕| 在线免费不卡视频| 国产精品电影一区二区| 国产一区二区三区免费播放 | 久久激情五月婷婷| 欧美日韩高清一区二区不卡| 国产精品嫩草影院av蜜臀| 精久久久久久久久久久| 91精品国产一区二区三区| 亚洲一卡二卡三卡四卡五卡| 成人av片在线观看| 久久久国产精华| 国内成人精品2018免费看| 欧美福利视频一区| 亚洲国产一二三| 精品视频色一区| 亚洲第一激情av| 欧美视频一区二区三区四区 | 加勒比av一区二区| 91精品久久久久久蜜臀| 午夜精品久久久久久久| 欧美日韩一二三| 亚洲国产成人91porn| 91在线观看视频| 亚洲精品乱码久久久久久日本蜜臀 | 69堂国产成人免费视频|