@@ -22,8 +22,8 @@ void ResidenceTimeMeasurer::initialize(int stage)
2222{
2323 if (stage == INITSTAGE_LOCAL ) {
2424 auto subscriptionModule = getModuleFromPar<cModule>(par (" subscriptionModule" ), this );
25- auto measurementStartSignal = registerSignal (par (" measurementStartSignal" ));
26- auto measurementEndSignal = registerSignal (par (" measurementEndSignal" ));
25+ measurementStartSignal = registerSignal (par (" measurementStartSignal" ));
26+ measurementEndSignal = registerSignal (par (" measurementEndSignal" ));
2727 subscriptionModule->subscribe (measurementStartSignal, this );
2828 subscriptionModule->subscribe (measurementEndSignal, this );
2929 subscriptionModule->subscribe (packetCreatedSignal, this );
@@ -59,30 +59,15 @@ void ResidenceTimeMeasurer::receiveSignal(cComponent *source, simsignal_t signal
5959 auto packet = check_and_cast<Packet *>(physicalSignal->getEncapsulatedPacket ());
6060 b offset = b (0 );
6161 b length = packet->getDataLength ();
62- if (signal == receptionStartedSignal ) {
63- EV_DEBUG << " Reception started" << EV_FIELD (packet) << std::endl;
62+ if (signal == measurementStartSignal ) {
63+ EV_DEBUG << " Measurement started (signal= " << getSignalName (signal) << " ) " << EV_FIELD (packet) << std::endl;
6464 packet->addRegionTagsWhereAbsent <ResidenceTimeTag>(offset, length);
6565 packet->mapAllRegionTagsForUpdate <ResidenceTimeTag>(offset, length, [&] (b o, b l, const Ptr<ResidenceTimeTag>& tag) {
6666 tag->setStartTime (simTime ());
6767 });
6868 }
69- else if (signal == receptionEndedSignal) {
70- EV_DEBUG << " Reception ended" << EV_FIELD (packet) << std::endl;
71- packet->addRegionTagsWhereAbsent <ResidenceTimeTag>(offset, length);
72- packet->mapAllRegionTagsForUpdate <ResidenceTimeTag>(offset, length, [&] (b o, b l, const Ptr<ResidenceTimeTag>& tag) {
73- tag->setStartTime (simTime ());
74- });
75- }
76- else if (signal == transmissionStartedSignal) {
77- EV_DEBUG << " Transmission started" << EV_FIELD (packet) << std::endl;
78- packet->mapAllRegionTagsForUpdate <ResidenceTimeTag>(offset, length, [&] (b o, b l, const Ptr<ResidenceTimeTag>& tag) {
79- tag->setEndTime (simTime ());
80- });
81- emit (packetStayedSignal, packet);
82- packet->removeRegionTagsWherePresent <ResidenceTimeTag>(offset, length);
83- }
84- else if (signal == transmissionEndedSignal) {
85- EV_DEBUG << " Transmission ended" << EV_FIELD (packet) << std::endl;
69+ else if (signal == measurementEndSignal) {
70+ EV_DEBUG << " Measurement ended (signal=" << getSignalName (signal) << " ) " << EV_FIELD (packet) << std::endl;
8671 packet->mapAllRegionTagsForUpdate <ResidenceTimeTag>(offset, length, [&] (b o, b l, const Ptr<ResidenceTimeTag>& tag) {
8772 tag->setEndTime (simTime ());
8873 });
0 commit comments