00001 #include "DeciderUWBIREDSyncOnAddress.h" 00002 #include "DeciderUWBIRED.h" 00003 00004 DeciderUWBIREDSyncOnAddress::DeciderUWBIREDSyncOnAddress(DeciderToPhyInterface* iface, 00005 PhyLayerUWBIR* _uwbiface, 00006 double _syncThreshold, bool _syncAlwaysSucceeds, bool _stats, 00007 bool _trace, int _addr, bool alwaysFailOnDataInterference) : 00008 DeciderUWBIRED(iface, _uwbiface, 00009 _syncThreshold, _syncAlwaysSucceeds, _stats, _trace, alwaysFailOnDataInterference), 00010 syncAddress(_addr) { 00011 00012 }; 00013 00014 00015 bool DeciderUWBIREDSyncOnAddress::attemptSync(Signal* s) { 00016 cMessage* encaps = currFrame->getEncapsulatedPacket(); 00017 assert(static_cast<MacPkt*>(encaps)); 00018 MacPkt* macPkt = static_cast<MacPkt*>(encaps); 00019 00020 return (macPkt->getSrcAddr()==syncAddress); 00021 }; 00022 00023 simtime_t DeciderUWBIREDSyncOnAddress::processSignal(AirFrame* frame) { 00024 currFrame = frame; 00025 return DeciderUWBIRED::processSignal(frame); 00026 }; 00027 00028