33 static constexpr int DefaultHandshakeTimeout = 5'000;
35 Q_DECLARE_PUBLIC(QSslServer)
38 void checkClientHelloAndContinue();
39 void initializeHandshakeProcess(QSslSocket *socket);
40 void removeSocketData(quintptr socket);
41 void handleHandshakeTimedOut(QSslSocket *socket);
42 int totalPendingConnections()
const override;
45 QMetaObject::Connection readyReadConnection;
46 QMetaObject::Connection destroyedConnection;
47 std::shared_ptr<QTimer> timeoutTimer;
49 SocketData(QMetaObject::Connection readyRead, QMetaObject::Connection destroyed,
50 std::shared_ptr<QTimer> &&timer)
51 : readyReadConnection(readyRead),
52 destroyedConnection(destroyed),
53 timeoutTimer(std::move(timer))
57 void disconnectSignals()
59 QObject::disconnect(std::exchange(readyReadConnection, {}));
60 QObject::disconnect(std::exchange(destroyedConnection, {}));
63 QHash<quintptr, SocketData> socketData;
65 QSslConfiguration sslConfiguration;
66 int handshakeTimeout = DefaultHandshakeTimeout;