Details
-
Suggestion
-
Resolution: Incomplete
-
P2: Important
-
None
-
6.7, 6.8
-
-
1e27b53dd (dev), 2ff6b4b8a (dev), b63114a3b (dev), 44361306d (6.8), ff6a6e526 (6.8), fb594811b (6.8)
-
Foundation Sprint 110, Foundation Sprint 111, Foundation Sprint 112, Foundation Sprint 113, Foundation Sprint 114, Foundation Sprint 115, Foundation Sprint 116, Foundation Sprint 117
Description
A customer reports a need to be able to use data in a pre-allocated memory as a payload in Qt HTTP Server. Currently, Qt HTTP Server make a copy of payload data. If you have large data, e.g. image on a high-resolution camera, there might be problems to allocate so much memory in small-footprint MCU of the device.
The customer mentioned the following steps to approach this:
- We use the QIODevice interface to QHttpServerResponder write because I (as I recall) it copies in chunks. When using QByteArray it could copy our 200MB and we were screwed.
- But to improve performance and avoid copy into the internal QTcpSocket we did a wrapper around the QHttpServerResponder that wrote directly to the internal socket. BUT as of Qt6.5 that socket is hidden for outside use.
The task would be to assess what could be done with the existing API and if new API would be needed, assess how to make them so that they can be added to a Qt 6.8 baseline on the customer side. The customer needs this on top of Qt 6.8.x.