[core] Fix several bugs with 'EngineSettings.UsePartialFiles' #608
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds several additional tests covering aspects of how this feature was intended to operate.
The 'Complete' and 'Incomplete' paths are now generated using a helper method. The choice of whether or not to use the 'Complete' or 'Incomplete' path as the current path is dependent on whether or not 'UsePartialFiles' is on, and if the file is already considered 'complete' or 'incomplete'.
This should keep everything in sync when toggling UsePartialFiles on and off, and also if the user uses 'MoveFileAsync', or 'MoveFilesASync' to move files.
The code docs should also be updated to clarify that if
UsePartialFiles
is enabled and someone moves an incomplete file tosome_directory/file.ext
then the engine will actually move the file tosome_directory/file.ext.!mt
as it is a partial file. Once the file is fully downloaded it will be placed atsome_directory/file.ext
. Similarly, ifUsePartialFiles
is disabled, all partial files will have.!mt
removed from their filename.Fixes #606