Преглед изворни кода

Bug 1755: Speed limit does not work with S3 protocol

https://winscp.net/tracker/1755
(cherry picked from commit 69d5abcc7db0b3dcc2264c67deaf111bbd069b7a)

Source commit: e6f27491d6467b3c8fae4741cead9a312f69f5e0
Martin Prikryl пре 6 година
родитељ
комит
8a859fe0cd
2 измењених фајлова са 3 додато и 1 уклоњено
  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(
 void __fastcall TFileOperationProgressType::ThrottleToCPSLimit(
   unsigned long Size)
   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)));
       FILE_OPERATION_LOOP_END(FMTLOAD(READ_ERROR, (Data.FileName)));
 
 
+      OperationProgress->ThrottleToCPSLimit(Result);
       OperationProgress->AddTransferred(Result);
       OperationProgress->AddTransferred(Result);
     }
     }
     catch (Exception & E)
     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)));
       FILE_OPERATION_LOOP_END(FMTLOAD(WRITE_ERROR, (Data.FileName)));
 
 
+      OperationProgress->ThrottleToCPSLimit(BufferSize);
       OperationProgress->AddTransferred(BufferSize);
       OperationProgress->AddTransferred(BufferSize);
     }
     }
     catch (Exception & E)
     catch (Exception & E)