23#include <QElapsedTimer>
27#include "traffic/TrafficDataSource_AbstractSocket.h"
31using namespace Qt::Literals::StringLiterals;
79 [[nodiscard]] QString
dataFormat()
const override {
return u
"GDL90, XGPS"_s; }
88 [[nodiscard]] QString
icon()
const override {
return u
"/icons/material/ic_wifi.svg"_s; }
97 [[nodiscard]]
auto sourceName() const -> QString
override
99 return tr(
"UDP connection to port %1").arg(m_port);
106 [[nodiscard]] quint16
port()
const
136 QPointer<QUdpSocket> m_socket;
148 struct DatagramRecord
151 qint64 arrivalMs = 0;
153 static constexpr qint64 duplicateWindowMs = 500;
154 QVector<std::optional<DatagramRecord>> receivedDatagrams = QVector<std::optional<DatagramRecord>>(512, std::nullopt);
155 qsizetype nextHashIndex = 0;
156 QElapsedTimer m_arrivalClock;
TrafficDataSource_AbstractSocket(bool isCanonical, QObject *parent)
Default constructor.
void disconnectFromTrafficReceiver() override
Disconnect from traffic receiver.
auto sourceName() const -> QString override
Getter function for the property with the same name.
TrafficDataSource_Udp(bool isCanonical, quint16 port, QObject *parent=nullptr)
Default constructor.
QString dataFormat() const override
Getter function for the property with the same name.
void connectToTrafficReceiver() override
Start attempt to connect to traffic receiver.
quint16 port() const
Getter function for the property with the same name.
QString icon() const override
Getter function for the property with the same name.