3#include <QtCore/QObject>
4#include <QtCore/QTimer>
5#include <QtNetwork/QSslCertificate>
6#include <QtNetwork/QSslKey>
30 [[nodiscard]] QString
host()
const {
return _host; }
31 [[nodiscard]] quint16
port()
const {
return _port; }
32 [[nodiscard]]
bool tlsEnabled()
const {
return _tlsEnabled; }
44 quint64
send(
const QByteArray& data);
62 bool _shouldUseTcp()
const;
64 void _onTcpConnected();
65 void _onTcpDisconnected();
66 void _onTransportError(
const QString& message);
72 bool _tlsEnabled =
false;
73 bool _tlsVerifyPeer =
true;
74 QList<QSslCertificate> _tlsCaCerts;
75 QSslCertificate _tlsClientCert;
76 QSslKey _tlsClientKey;
81 int _tcpReconnectMs = kInitialReconnectMs;
83 static constexpr int kUdpFailureThreshold = 10;
84 static constexpr int kInitialReconnectMs = 5000;
85 static constexpr int kMaxReconnectMs = 60000;
void setTlsClientCertificate(const QSslCertificate &cert, const QSslKey &key)
void errorOccurred(const QString &message)
void setTarget(const QString &host, quint16 port)
~TransportStrategy() override
Protocol protocol() const
void setTlsCaCertificates(const QList< QSslCertificate > &certs)
void setTlsVerifyPeer(bool verify)
bool tcpConnected() const
quint64 send(const QByteArray &data)
Send pre-formatted payload. Returns bytes sent (0 on failure/pending).
void setTlsEnabled(bool enabled)
bool isConnected() const
Whether the active transport is connected and ready.
bool tlsVerifyPeer() const
void reset()
Reset transports (e.g. after host/port change).
void setProtocol(Protocol protocol)