View Single Post
  #52 (permalink)  
Old March 7th, 2002
Protagonist Protagonist is offline
Apprentice
 
Join Date: March 7th, 2002
Location: Norway
Posts: 7
Protagonist is flying high
Default

Quote:
Originally posted by diefastr
I just figured there has to be a reason that different versions are put out for each diff operating system. Like I said i'm not a java programmer.... just a ****ed off user. If you can explain it to me great, i'm all for gaining extra knowledge.
I'm fairly sure the only difference between the various versions released is in the packaging and installation routines.

Someone else asked for an easier way to get a patched version. The two main reasons I didn't just provide a link to a windows installer are 1) that I don't run windows, and 2) that I don't have anywhere to host the file.

diefastr: Let me know how your patched version works out. In my experience resuming hasn't been completely foolproof after the patch, but it works most of the time. Unfortunately, it seems that the version of the source available at the link I gave above has another bug which causes instability after running for a few hours.

Finally, let me try to provide some insight into why resuming suddenly stopped working after version 1.8 or so. It's mainly because of the "swarm downloads", or whatever they're calling them. In order to support downloading the same file from multiple hosts, LimeWire splits up the file in a number of smaller parts, each assigned to one host.

To take a simple example: Let's say you're downloading a 10 meg file from two hosts. LimeWire will start downloading the first 5 megs from one host, and the second 5 megs from the other. If the download breaks off at 50%, you'll have an incomplete file containing the parts from 0-25% and 50-75% of the original data. (This is assuming the download speed has been the same from both hosts, otherwise you'd have different percentages.)

This, naturally, makes resuming a much more difficult process, because LimeWire can't just take a look at the size of the incomplete file and start off at the end. It has to keep a record of all the incomplete files and which parts of them are complete. There were mechanisms for this in the source I downloaded, but it wasn't working properly. My patch fixes some of it (probably not all), but the one thing it doesn't fix at all is all the incomplete files you had prior to installation of the patched version, because it simply has no way of knowing which parts of those incomplete files are missing.

I was planning on adding a mechanism for recovering "unknown" incomplete files by assuming they've been downloaded continuously from a single host, and not split up in any way. This should work in most cases, at least for my files; I just haven't gotten around to it yet.

[EDIT]By the way, this is the same Unregistered user who posted the patch above. I decided to register, to avoid confusion.[/EDIT]

Last edited by Protagonist; March 7th, 2002 at 05:02 AM.
Reply With Quote