Browse Source

Bug 1755: Speed limit does not work with S3 protocol

https://winscp.net/tracker/1755

Source commit: 4c8f5dd7a3800367d1d90fad932d302f675281af
Martin Prikryl 6 years ago
parent
commit
69d5abcc7d
2 changed files with 3 additions and 1 deletions
  1. 1 1
      source/core/FileOperationProgress.cpp
  2. 2 0
      source/core/S3FileSystem.cpp

+ 1 - 1
source/core/FileOperationProgress.cpp

@@ -411,7 +411,7 @@ void __fastcall TFileOperationProgressType::SetSpeedCounters()
   }
 }
 //---------------------------------------------------------------------------
-// Used in WebDAV protocol
+// Used in WebDAV and S3 protocols
 void __fastcall TFileOperationProgressType::ThrottleToCPSLimit(
   unsigned long Size)
 {

+ 2 - 0
source/core/S3FileSystem.cpp

@@ -1256,6 +1256,7 @@ int TS3FileSystem::PutObjectData(int BufferSize, char * Buffer, TLibS3PutObjectD
       }
       FILE_OPERATION_LOOP_END(FMTLOAD(READ_ERROR, (Data.FileName)));
 
+      OperationProgress->ThrottleToCPSLimit(Result);
       OperationProgress->AddTransferred(Result);
     }
     catch (Exception & E)
@@ -1576,6 +1577,7 @@ S3Status TS3FileSystem::GetObjectData(int BufferSize, const char * Buffer, TLibS
       }
       FILE_OPERATION_LOOP_END(FMTLOAD(WRITE_ERROR, (Data.FileName)));
 
+      OperationProgress->ThrottleToCPSLimit(BufferSize);
       OperationProgress->AddTransferred(BufferSize);
     }
     catch (Exception & E)