From 45cbbe56bc13216b83215ea148590eccf81f420a Mon Sep 17 00:00:00 2001 From: Matt Broadstone Date: Fri, 15 Aug 2014 09:26:04 -0400 Subject: 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 --- src/network/access/qnetworkaccessftpbackend_p.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/network/access/qnetworkaccessftpbackend_p.h') 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); -- cgit v1.2.3