diff options
author | Shane Kearns <shane.kearns@accenture.com> | 2011-05-24 13:05:48 (GMT) |
---|---|---|
committer | Shane Kearns <shane.kearns@accenture.com> | 2011-05-24 13:36:18 (GMT) |
commit | c4727a85eed57a4db698326a1bed4aa75b6e5284 (patch) | |
tree | 63c402e7bef820ba7c5c927902812277a3483d4b /src/gui/dialogs | |
parent | 3b6c77da8c8b2b7db4d75f122464462656ef8daf (diff) | |
download | Qt-c4727a85eed57a4db698326a1bed4aa75b6e5284.zip Qt-c4727a85eed57a4db698326a1bed4aa75b6e5284.tar.gz Qt-c4727a85eed57a4db698326a1bed4aa75b6e5284.tar.bz2 |
sockets: limit buffer size of the internal sockets in proxy engines
The application can normally control the amount of buffering of a
socket or QNetworkReply by using the setReadBufferSize API.
This allows the application to flow control the TCP connection, and
avoids out of memory errors when the data being downloaded is received
faster than the application can process it.
However when using a proxy, the proxy socket engine has an internal
socket which is used to communicate with the proxy server. It is not
visible to the user, and does not have awareness of the buffer size of
the external socket.
To solve this, we limit the internal sockets' buffer size to 64k bytes.
Under normal operation, the data is swiftly copied to the external
socket where the buffer can grow (or not) based on the application's
set value for read buffer size.
Task-number: QT-4966
Reviewed-by: Markus Goetz
Diffstat (limited to 'src/gui/dialogs')
0 files changed, 0 insertions, 0 deletions