34 void frameReceived(
const QString& sender,
const QByteArray& data, qint64 receivedAtMs);
37 void _readDatagrams();
43 QUdpSocket* _socket =
nullptr;
48 qint64 lastReceivedMs = 0;
51 std::shared_ptr<PeerParser> _parserForPeer(
const QHostAddress& address, quint16 port);
52 QHash<QString, std::shared_ptr<PeerParser>> _peerParsers;
53 static constexpr qsizetype MAX_PEERS = 32;
54 static constexpr std::chrono::milliseconds PEER_IDLE_TIMEOUT{30000};
55 bool _drainScheduled =
false;