// // This file is part of an OMNeT++/OMNEST simulation example. // // Copyright (C) 1992-2015 Andras Varga // // This file is distributed WITHOUT ANY WARRANTY. See the file // `license' for details on this and other legal matters. // #include using namespace omnetpp; namespace fifo { /** * Packet sink; see NED file for more info. */ class Sink : public cSimpleModule { private: simsignal_t lifetimeSignal; protected: virtual void initialize() override; virtual void handleMessage(cMessage *msg) override; }; Define_Module(Sink); void Sink::initialize() { lifetimeSignal = registerSignal("lifetime"); } void Sink::handleMessage(cMessage *msg) { simtime_t lifetime = simTime() - msg->getCreationTime(); EV << "Received " << msg->getName() << ", lifetime: " << lifetime << "s" << endl; emit(lifetimeSignal, lifetime); delete msg; } }; //namespace