/* * discoverylistener.h * * Created on: 25.01.2013 * Author: sr */ #ifndef DISCOVERYLISTENER_H_ #define DISCOVERYLISTENER_H_ #include #include #include "../../shared/networkmessage.h" #define SD_PACKET_TABLE_SIZE 20000 class QTimerEvent; class DiscoveryListener : public QObject { Q_OBJECT private: QUdpSocket _socket; NetworkMessage _packet; int _counterResetPos{}; quint8 _packetCounter[SD_PACKET_TABLE_SIZE]{}; // count packets per source address to ignore spammers protected: void timerEvent(QTimerEvent* event) override; public: explicit DiscoveryListener(QObject *parent); ~DiscoveryListener() override; private slots: void onReadyRead(); }; #endif /* DISCOVERYLISTENER_H_ */