Would it be feasible to write out the full size of a file as a zero-filled placeholder and entirely sidestep the possibility of fragmentation? I have 250GB+ of free space on my drive, and it feels a little ridiculous to have hundreds to thousands of fragments in the files I download.
I've just barely discovered the write buffer size setting, but even if I were to set it insanely high, that would merely mean that I have a greater chance of losing it all if something went wrong along the way, correct?
Would there be any downsides to something like this? It'd be nice as an optional setting, or maybe even on a file-by-file basis (?). I suppose there would be extra tapdancing involved with updating a separate file to record how much of each file has actually been downloaded so far, but it doesn't seem like it would be too much of a hassle.
I suppose it would suck if the placeholder file were corrupted, thus turning all downloads using this feature into garbage, effectively. I don't know. If you were aware of this downside it would still be a nice proceed-at-your-own-risk feature.
I apologize if this has been covered before, but I skimmed a couple pages worth of the forum and it didn't seem to be. At any rate, I'd be interested to hear about the feasibiliy, or even sensibility, of this or any similar schemes!
Write Full File Size To Avoid Fragging Altogether?
Moderator: Moderators
-
- DC++ Contributor
- Posts: 3212
- Joined: 2003-01-07 21:46
- Location: .pa.us
The write buffer was never meant to be very large. Large values for that or rollback will cause you to re-get massive amounts of files, as I read the code.
Your mention of allocating the full size of a download and using a pointer is pretty much what distiller said in this thread. The necessary context is that distiller writes pDC++, which is an attempt at segmented downloading in DC++.
Your mention of allocating the full size of a download and using a pointer is pretty much what distiller said in this thread. The necessary context is that distiller writes pDC++, which is an attempt at segmented downloading in DC++.
-
- The Creator Himself
- Posts: 296
- Joined: 2003-01-02 17:15