%description: Test that when simple modules get stage==0 initialized, channels are already initialized. %file: test.ned channel MyConn extends ned.DatarateChannel { parameters: delay = 1s; datarate = 1000bps; } simple Node1 { gates: output out; } simple Node2 { gates: input in; } network Test { submodules: node1: Node1; node2: Node2; connections: node1.out --> MyConn --> node2.in; } %file: test.cc #include using namespace omnetpp; namespace @TESTNAME@ { class Node1 : public cSimpleModule { virtual void initialize() override; virtual void handleMessage(cMessage *msg) override; }; Define_Module(Node1); void Node1::initialize() { cPacket *pkt = new cPacket(); pkt->setBitLength(100); // so transmission time = 0.1s send(pkt, "out"); } void Node1::handleMessage(cMessage *msg) { ASSERT(false); } class Node2 : public cSimpleModule { virtual void handleMessage(cMessage *msg) override; }; Define_Module(Node2); void Node2::handleMessage(cMessage *msg) { EV << "msg arrived at t=" << simTime(); delete msg; } }; //namespace %inifile: test.ini [General] network = Test cmdenv-express-mode = false cmdenv-event-banners = false %contains: stdout msg arrived at t=1.1