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