[Development] QtCS19 Notes: Qt 6 Network Overview
Konstantin Tokarev
annulen at yandex.ru
Tue Nov 26 13:54:10 CET 2019
What about an elephant in the room, i.e. HTTP/3? Will it be implemented anytime soon?
21.11.2019, 10:55, "Maurice Kalinowski" <maurice.kalinowski at qt.io>:
> Hi,
>
> Following the notes taken on the Networking session:
>
> - What to do in Networking for Qt 6
> ○ https://bugreports.qt.io/browse/QTBUG-75638 is the parent item to track
> - Get rid of stale backend
> ○ OpenSSL 1.1 and following supported
> ○ SSL2/3
> - Additional TLS
> ○ mbedTLS contribution exists, will get it in but requires work
> - QNetworkAccessmanager
> ○ Default policies
> - Removing bearer management
> ○ There has been complaints about it
> ○ Radio interfaces as bearer are not best option
> ○ Legacy from S60
> ○ Let's just get rid of it and move on
> ○ Webkit used bearer management to just identify whether you're online or not
> ○ However, system services exist
> § We should have something similar in Qt
> § WIP: Connection Monitoring
> ○ Proposal:
> § Remove it
> § Add requested features afterwards
> □ Which socket is a connection using
> □ Set preferred connection
> - We want to avoid temporary buffers, especially in TLS case
> - QSSLsocket need to change
> ○ Going through tcp socket is complicated
> ○ Lots of effort, might be too big for Qt 6
> ○ Similar to QDTLS, which does not go through QUDPSocket
> - (Connection loss)
> ○ Problem not 100% clear
> ○ We have connection caching
> ○ Should not be exposed to user
> - Move WebSocket to QtNetwork?
> ○ Not sure why this is needed in network itself
> ○ Currently not actively maintained
> ○ Before moving to QtNetwork it needs to be significantly refactored
> - Removing QFTP
> ○ This is about QFTP backend in QNetworkAccessManager
> ○ There are still public users, but how many?
> ○ Proposal: Disable it in 6.0 and check for amount of complaints
> § If limited (as expected) remove in 6.2 completely
> - What about adding backends to QNetworkAccessManager?
> ○ Right now you can only exchange it
> ○ AP: Create research user story on JIRA
> ○ Help request
> - What about using libcurl as a backend?
> ○ Not only ftp, but everything?
> ○ It's not the best API, but provides a lot
> ○ We'd have to different underlying architectures, impossible to use libcurl with our own stuff
> ○ Libcurl also has its own secure transport implementation, etc…
> ○ Windows provides native API, what about that?
> § Mac probably as well
> - More and more projects need to do certificate management etc
> ○ KNX, OpcUA, CoAP, …
> ○ Can we find an abstraction? Potentially move that into a separate module and have Qt Network use it?
> ○ QTBUG-76499, QTBUG-76876
> ○ It's a lot of work, but might be better than duplicating less work again and again
> - QUIC / HTTP3
> ○ Rather wait for it to stabilize, but on the radar
> - QIODevice and zero copy
> ○ Needs to move to QtCS core session as no time left
> - How to test
> ○ Current testserver is probably not the best option
> ○ Use docker images
> ○ Windows is not ready for nested virtualization
> ○ However, might be worth considering run the network test containers on one machine and then have the Windows VMs connect to this one.
>
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> https://lists.qt-project.org/listinfo/development
--
Regards,
Konstantin
More information about the Development
mailing list