Mirrors are not handled correctly
|Category:||Controlling||Estimated time:||6.00 hours|
|Target version:||040 - FarfarAway|
Currently, the relationship between links that that save to the same file (Mirrors) results in incomplete downloads that are difficult for users to detect. Mirrors can occur without user knowledge.
Before download of a file begins, JD must check the existence of the final (renamed) file. If it exists, then the "File exists" Permanent error is assigned to the link.
When a download begins, the .part file must be opened for access. Memory mapping may be the best option.
When JD tries to open the .part file for another link, the file will be locked. JD should mark that link as "Temporarily unavailable".
If the renamed file does not exist and a .part file exists and is not locked, then JD should continue the download.
When a link is Reset, JD must delete both the renamed file and the .part file (if they exist).