diff options
author | Matt Broadstone <mbroadstone@devonit.com> | 2014-08-15 09:26:04 -0400 |
---|---|---|
committer | Matt Broadstone <mbroadst@gmail.com> | 2014-08-15 19:48:36 +0200 |
commit | 45cbbe56bc13216b83215ea148590eccf81f420a (patch) | |
tree | edbdba51f78d6bae3fbf7be6b36c0500e327743f /src/network/access/qnetworkaccessftpbackend_p.h | |
parent | f630eb1120e64d7bda8b2e69e24f65f0de592b5d (diff) |
refactor disconnectFromFtp to remove cached entries when necessary
In cases where a cached ftp connection fails to connect, or a file
transfer has failed, we should removed the cached connection. Since qnam
has an idea of a single internal QFtp per full operation, when file
transfers failed previously the cached connection would be reused for
subsequent connections and thus fail.
[ChangeLog][QtNetwork][QNetworkAccessManager] QNetworkAccessManager now
properly handles FTP transfer failures by removing failed cached ftp
connections.
Task-number: QTBUG-40797
Change-Id: Ie090a39ceddd7e58a0d8baf7d01f2a08c70162e5
Reviewed-by: Richard J. Moore <rich@kde.org>
Diffstat (limited to 'src/network/access/qnetworkaccessftpbackend_p.h')
-rw-r--r-- | src/network/access/qnetworkaccessftpbackend_p.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/network/access/qnetworkaccessftpbackend_p.h b/src/network/access/qnetworkaccessftpbackend_p.h index c006d450b8..534efad676 100644 --- a/src/network/access/qnetworkaccessftpbackend_p.h +++ b/src/network/access/qnetworkaccessftpbackend_p.h @@ -90,7 +90,12 @@ public: virtual void downstreamReadyWrite(); - void disconnectFromFtp(); + enum CacheCleanupMode { + ReleaseCachedConnection, + RemoveCachedConnection + }; + + void disconnectFromFtp(CacheCleanupMode mode = ReleaseCachedConnection); public slots: void ftpConnectionReady(QNetworkAccessCache::CacheableObject *object); |